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