mysql died with innodb
hi i got this on my mysql server (any ideas?): InnoDB: Assertion failure in thread 234323968 in file os0file.c line 637 InnoDB: We intentionally generate a memory trap. InnoDB: Send a detailed bug report to [EMAIL PROTECTED] mysqld got signal 11; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked agaist is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. We will try our best to scrape up some info that will hopefully help diagnose the problem, but since we have already crashed, something is definitely wrong and this may fail key_buffer_size=134213632 record_buffer=2093056 sort_buffer=2097144 max_used_connections=121 max_connections=360 threads_connected=106 It is possible that mysqld could use up to key_buffer_size + (record_buffer + sort_buffer)*max_connections = 1604185 K bytes of memory Hope that's ok, if not, decrease some variables in the equation 010615 08:09:27 mysqld ended System: FreeBSD 4.3-RELEASE MySQL: MySQL-Max-3.23.39 over nfs thanks regards Sven - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Re: mysql died with innodb
In the last episode (Jun 15), Heikki Tuuri said: Sven, line 637 in mysql/innobase/os/os0file.c asserts that TRUE == os_file_flush(file) If you look at about line 557, you see how InnoDB does the file flush: the default is to call fdatasync. To solve the problem we should look at the NFS manuals about what Unix functions are available in it. Maybe there is some special NFS_fsync? When fsync() is called on an NFS filehandle, the system flushes any dirty buffers on the client, and if over an NFSv3 mount, commits the writes. Sven: did you get any nfs server timeout messages in /var/log/messages? Heikki: how hard would it be to send the errno back to the client if filesystem calls fail? On regular MYISAM tables, the user sees an error message (or something gets dumped to the error log) and the server doesn't assert(). -- Dan Nelson [EMAIL PROTECTED] - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Re: mysql died with innodb
Dan, of course InnoDB could catch the error and send the error message to the client. But the problem is that we have to get NFS to flush the files, otherwise we may very easily get database corruption in case of a crash. MyISAM does not call f(data)sync at all, but then you may have to run repair if it crashes. I looked at FreeBSD manuals at www.freebsd.org and did not find any notice that fdatasync would not work for NFS. Presumably with some settings it should work, or maybe there is a bug in the OS/hardware combination. Regards, Heikki -Original Message- From: Dan Nelson [EMAIL PROTECTED] To: Heikki Tuuri [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Friday, June 15, 2001 8:57 PM Subject: Re: mysql died with innodb In the last episode (Jun 15), Heikki Tuuri said: Sven, line 637 in mysql/innobase/os/os0file.c asserts that TRUE == os_file_flush(file) If you look at about line 557, you see how InnoDB does the file flush: the default is to call fdatasync. To solve the problem we should look at the NFS manuals about what Unix functions are available in it. Maybe there is some special NFS_fsync? When fsync() is called on an NFS filehandle, the system flushes any dirty buffers on the client, and if over an NFSv3 mount, commits the writes. Sven: did you get any nfs server timeout messages in /var/log/messages? Heikki: how hard would it be to send the errno back to the client if filesystem calls fail? On regular MYISAM tables, the user sees an error message (or something gets dumped to the error log) and the server doesn't assert(). -- Dan Nelson [EMAIL PROTECTED] - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Re: mysql died with innodb
In the last episode (Jun 15), Heikki Tuuri said: of course InnoDB could catch the error and send the error message to the client. But the problem is that we have to get NFS to flush the files, otherwise we may very easily get database corruption in case of a crash. MyISAM does not call f(data)sync at all, but then you may have to run repair if it crashes. I looked at FreeBSD manuals at www.freebsd.org and did not find any notice that fdatasync would not work for NFS. Presumably with some settings it should work, or maybe there is a bug in the OS/hardware combination. fsync (FreeBSD doesn't have fdatasync) definitely does work with NFS. Knowing the errno that fsync() returned when it failed might help the debugging process, though. -- Dan Nelson [EMAIL PROTECTED] - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Re: mysql died with innodb
Dan, I see. My automake/autoconf script currently checks if there exists fdatasync, and if not then it uses fsync. So we know now that it calls fsync. I wrote to Steve and asked him to compile a version where he sees the error number from fsync. Thank you for the FreeBSD info. Heikki -Original Message- From: Dan Nelson [EMAIL PROTECTED] To: Heikki Tuuri [EMAIL PROTECTED] Cc: [EMAIL PROTECTED] [EMAIL PROTECTED]; [EMAIL PROTECTED] [EMAIL PROTECTED] Date: Friday, June 15, 2001 9:27 PM Subject: Re: mysql died with innodb In the last episode (Jun 15), Heikki Tuuri said: of course InnoDB could catch the error and send the error message to the client. But the problem is that we have to get NFS to flush the files, otherwise we may very easily get database corruption in case of a crash. MyISAM does not call f(data)sync at all, but then you may have to run repair if it crashes. I looked at FreeBSD manuals at www.freebsd.org and did not find any notice that fdatasync would not work for NFS. Presumably with some settings it should work, or maybe there is a bug in the OS/hardware combination. fsync (FreeBSD doesn't have fdatasync) definitely does work with NFS. Knowing the errno that fsync() returned when it failed might help the debugging process, though. -- Dan Nelson [EMAIL PROTECTED] - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php