Ask,

I think some other user encountered the error number 4 EINTR when his
harddisk was broken.

I do not know why in the later runs it did not print an error message.
Possibly the error number was EEXIST, for which InnoDB omits the error
printout and which is nonsensical if you are reading an open file.

I modified now os0file.c so that it should print the OS error number before
asserting.

If the ib_logfiles are broken, then you have to use in my.cnf

set-variable=innodb_force_recovery=6

and you may also need to delete the old ib_logfiles if they are really badly
broken. Then dump your tables and recreate the whole tablespace.

Heikki Tuuri
Innobase Oy
---
InnoDB - transactions, hot backup, and foreign key support for MySQL
See http://www.innodb.com, download MySQL-4.0 from http://www.mysql.com

sql query

----- Original Message -----
From: "Ask Bjoern Hansen" <[EMAIL PROTECTED]>
To: "Zak Greant" <[EMAIL PROTECTED]>
Cc: "Heikki Tuuri" <[EMAIL PROTECTED]>
Sent: Friday, March 07, 2003 3:12 AM
Subject: Re: InnoDB crash report; fatal failure on restarts too!


> On Thu, 6 Mar 2003, Zak Greant wrote:
>
> A quick update.  The harddrive is crashing, so it's entirely likely
> that the corruption came from failing hardware.  I restored a backup
> and I'm just using that now.  In a few days I will try copying the
> innodb files from the bad drive and see if InnoDB can get up with
> innodb_force_recovery enabled there.
>
> Thanks!
>
>  - ask
>
> > Hi Heikki,
> >
> > This looks like a nasty problem to me. Thought that you would want to
> > see it quickly!
> >
> > Cheers!
> > --zak
> >
> > On Thu, Mar 06, 2003 at 04:24:10PM -0800, Ask Bjoern Hansen wrote:
> > >
> > > I am running RedHat 7.3, mostly using InnoDB's.  I am using the
> > > MySQL-Max rpms (4.0.11) from mysql.com.
> > >
> > > Earlier today it crashed, and while trying to start up again it
> > > crashed again.  Now I can't start the server with the InnoDB tables.
> > > I don't see any tools to fix it.  What to do?  I would like to get
> > > the server started or at least be able to access my data somehow!
> > >
> > > Logs below.
> > >
> > > First it crashed:
> > >
> > > /usr/sbin/mysqld-max: ready for connections.
> > > Version: '4.0.11-gamma-Max'  socket: '/var/lib/mysql/mysql.sock'
port: 3306
> > > 030306  9:30:10  InnoDB: Error: Write to file ./ib_logfile0 failed at
offset 0 17611264.
> > > InnoDB: 4608 bytes should have been written, only 1536 were written.
> > > InnoDB: Operating system error number 4.
> > > InnoDB: Look from section 13.2 at http://www.innodb.com/ibman.html
> > > InnoDB: what the error number means or use the perror program of
MySQL.
> > > InnoDB: Check that your OS and file system support files of this size.
> > > InnoDB: Check also that the disk is not full or a disk quota exceeded.
> > > 030306  9:30:10  InnoDB: Assertion failure in thread 7176 in file
fil0fil.c line 1211
> > > 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 against 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=67108864
> > > read_buffer_size=131072
> > >
> > > Number of processes running now: 1
> > >
> > >
> > > Then restarting:
> > >
> > >
> > > 030306 09:30:14  mysqld restarted
> > > 030306  9:30:24  InnoDB: Database was not shut down normally.
> > > InnoDB: Starting recovery from log files...
> > > InnoDB: Starting log scan based on checkpoint at
> > > InnoDB: log sequence number 10 1182820980
> > > 030306  9:31:10  InnoDB: Assertion failure in thread 1024 in file
os0file.c line 1067
> > > 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 against 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=67108864
> > > read_buffer_size=131072
> > > sort_buffer_size=65537
> > > max_used_connections=0
> > > max_connections=200
> > > threads_connected=0
> > > It is possible that mysqld could use up to
> > > key_buffer_size + (read_buffer_size +
sort_buffer_size)*max_connections = 103936 K
> > > bytes of memory
> > > Hope that's ok; if not, decrease some variables in the equation.
> > >
> > > thd=0x8464ba8
> > > Attempting backtrace. You can use the following information to find
out
> > > where mysqld died. If you see no messages after this, something went
> > > terribly wrong...
> > > Bogus stack limit or frame pointer, fp=0xbfffe308,
stack_bottom=0x10001, thread_stack=196608, aborting backtrace.
> > > Trying to get some variables.
> > > Some pointers may be invalid and cause the dump to abort...
> > > thd->query at 0x10001  is invalid pointer
> > > thd->thread_id=1969381218
> > >
> > > Successfully dumped variables, if you ran with --log, take a look at
the
> > > details of what thread 1969381218 did to cause the crash.  In some
cases of really
> > > bad corruption, the values shown above may be invalid.
> > >
> > > The manual page at http://www.mysql.com/doc/C/r/Crashing.html contains
> > > information that should help you find out what is causing the crash.
> > > 030306 09:31:10  mysqld ended
> > >
> > >
> > >
> > > And that's what I get when I try starting it again:
> > >
> > > 030306 16:11:32  mysqld started
> > > 030306 16:11:33  InnoDB: Database was not shut down normally.
> > > InnoDB: Starting recovery from log files...
> > > InnoDB: Starting log scan based on checkpoint at
> > > InnoDB: log sequence number 10 1182820980
> > > 030306 16:12:18  InnoDB: Assertion failure in thread 1024 in file
> > > os0file.c line 1067
> > > 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 against 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=67108864
> > > read_buffer_size=131072
> > > sort_buffer_size=65537
> > > max_used_connections=0
> > > max_connections=200
> > > threads_connected=0
> > > It is possible that mysqld could use up to
> > > key_buffer_size + (read_buffer_size +
sort_buffer_size)*max_connections = 103936 K
> > > bytes of memory
> > > Hope that's ok; if not, decrease some variables in the equation.
> > >
> > > thd=0x8464ba8
> > > Attempting backtrace. You can use the following information to find
out
> > > where mysqld died. If you see no messages after this, something went
> > > terribly wrong...
> > > Bogus stack limit or frame pointer, fp=0xbfffcd48,
> > > stack_bottom=0x10001, thread_stack=196608, aborting backtrace.
> > > Trying to get some variables.
> > > Some pointers may be invalid and cause the dump to abort...
> > > thd->query at 0x10001  is invalid pointer
> > > thd->thread_id=1765631340
> > >
> > > Successfully dumped variables, if you ran with --log, take a look at
the
> > > details of what thread 1765631340 did to cause the crash.  In some
cases of really
> > > bad corruption, the values shown above may be invalid.
> > >
> > > The manual page at http://www.mysql.com/doc/C/r/Crashing.html contains
> > > information that should help you find out what is causing the crash.
> > > 030306 16:12:18  mysqld ended
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > > ask bjoern hansen, http://www.askbjoernhansen.com/ !try; do();
> >
>
> --
> ask bjoern hansen, http://www.askbjoernhansen.com/ !try; do();



---------------------------------------------------------------------
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

Reply via email to