Hi,

I have a MySQL 5.0.54 instance with a 5.0.22 datadir from a corrupted
filesystem, backed up what was readable and am now trying to get it
back to life. Unfortunately, mysqld segfaults on startup:

--8<--
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
080205 15:43:41  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Page directory corruption: supremum not pointed to
080205 15:43:41  InnoDB: Page dump in ascii and hex (16384 bytes):
 len 16384; hex 
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
080205 15:43:41  InnoDB: Page checksum 1575996416, prior-to-4.0.14-form 
checksum 1371122432
InnoDB: stored checksum 0, prior-to-4.0.14-form stored checksum 0
InnoDB: Page lsn 0 0, low 4 bytes of lsn at page end 0
InnoDB: Page number (if stored to page already) 0,
InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0
InnoDB: Page directory corruption: supremum not pointed to
080205 15:43:41  InnoDB: Page dump in ascii and hex (16384 bytes):
 len 16384; hex 
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
080205 15:43:41  InnoDB: Page checksum 1575996416, prior-to-4.0.14-form 
checksum 1371122432
InnoDB: stored checksum 0, prior-to-4.0.14-form stored checksum 0
InnoDB: Page lsn 0 0, low 4 bytes of lsn at page end 0
InnoDB: Page number (if stored to page already) 0,
InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0
080205 15:43:41InnoDB: Error: trying to access a stray pointer 0x3607fff8
InnoDB: buf pool start is at 0xb6070000, end at 0xb7070000
InnoDB: Probable reason is database corruption or memory
InnoDB: corruption. If this happens in an InnoDB database recovery, see
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: how to force recovery.
080205 15:43:41InnoDB: Assertion failure in thread 3081746096 in file 
./../include/buf0buf.ic line 268
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html
InnoDB: about forcing recovery.
080205 15:43:41 - 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=0
read_buffer_size=262144
max_used_connections=0
max_connections=100
threads_connected=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 76800 
K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd=(nil)
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...
Cannot determine thread, fp=0xbff49e58, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x817f84e
0x83f8c8b
0x8379b6b
0x8383f41
0x8333455
0x8334bc4
0x8320bfb
0x831fa8c
0x823b9a8
0x822c674
0x817e8b5
0x8182038
0xb7b1283c
0x80fd131
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://dev.mysql.com/doc/mysql/en/using-stack-trace.html and follow 
instructions on how to resolve the stack trace. Resolved
stack trace is much more helpful in diagnosing the problem, so please do
resolve it
The manual page at http://dev.mysql.com/doc/mysql/en/crashing.html contains
information that should help you find out what is causing the crash.
--8<--

Here is the resolved stack dump:
--8<--
0x817f84e handle_segfault + 772
0x83f8c8b page_cur_search_with_match + 1975
0x8379b6b btr_cur_search_to_nth_level + 1404
0x8383f41 btr_pcur_open_on_user_rec + 98
0x8333455 dict_load_foreigns + 3133
0x8334bc4 dict_load_sys_table + 100
0x8320bfb dict_boot + 2717
0x831fa8c innobase_start_or_create_for_mysql + 5653
0x823b9a8 _Z13innobase_initv + 872
0x822c674 _Z7ha_initv + 582
0x817e8b5 unireg_abort + 559
0x8182038 main + 1162
0xb7b0583c _end + -1354045076
0x80fd131 _start + 33
--8<--

I also tried innodb_force_recovery=6 but it didn't help.

What should I do next? Submit a bug report?

TIA.
-- 
Regards,
Wolfram Schlich <[EMAIL PROTECTED]>
Gentoo Linux * http://dev.gentoo.org/~wschlich/

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to