mysql died with innodb

2001-06-15 Thread Sven Huster

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

2001-06-15 Thread Dan Nelson

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

2001-06-15 Thread Heikki Tuuri

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

2001-06-15 Thread Dan Nelson

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

2001-06-15 Thread Heikki Tuuri

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