Heikki Tuuri wrote:
Baba,

an undo log seems to be corrupt. He should restart mysqld with:

innodb_force_recovery=4

dump all tables, and recreate the whole InnoDB installation.

This was roughly my assessment and recommended procedure as well. The customer decided to restore the system from a full backup they had made about a week earlier.



Did the .err log contain any hint what could be behind the corruption?


No, the system had been up for a couple of months (since they last patched some other software) and the .err file didn't report any abnormalities up until MySQL was restarted and the stack traces began.


We scanned the disks on the system for bad blocks and found none, and the system had been on UPS power and had not suffered any harsh reboots.


We have many hundreds of MySQL/InnoDB servers in the field, and occationally see db corruption. Most of the time we trace it back to faulty disk hardware, but occationally we see one like this where we can't find the smoking gun.



Is there any setting or anything you recommend turning on a system that is suspect to divine more information on where something like this may have originated?



thanks, baba



Best regards,

Heikki Tuuri
Innobase Oy
Foreign keys, transactions, and row level locking for MySQL
InnoDB Hot Backup - a hot backup tool for InnoDB which also backs up MyISAM tables
http://www.innodb.com/order.php



----- Original Message ----- From: "Baba Buehler" <[EMAIL PROTECTED]> Newsgroups: mailing.database.myodbc Sent: Wednesday, March 02, 2005 6:32 PM Subject: mysql 4.0.18 crashing on startup



I've got a customer with a mysql that is crashing on startup. MySQL is 4.0.18 with InnoDB tables on a Linux 2.4.26 system. MySQL binaries are Linux x86 glibc static gcc from mysql.com


Can anyone divine what might have happened to cause this?


thanks, baba



resolve_stack_dump gives:

0x8071f44 handle_segfault + 420
0x82a0e38 pthread_sighandler + 184
0x818cfeb trx_undo_rec_get_partial_row + 443
0x81302af row_purge_parse_undo_rec + 863
0x813033f row_purge + 127
0x81304d7 row_purge_step + 23
0x8115aa3 que_run_threads + 755
0x8189520 trx_purge + 2304
0x811b8dd srv_master_thread + 1389
0x829e5ec pthread_start_thread + 220
0x82c7dea thread_start + 4



the .err log shows this, ever repeating:

050222 10:49:57 mysqld started
050222 10:49:57 InnoDB: Started
/usr/sbin/mysqld: ready for connections.
Version: '4.0.18-standard' socket: '/tmp/mysql4.sock' port: 3306
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=1048576
read_buffer_size=4190208
max_used_connections=0
max_connections=35
threads_connected=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections
= 287603 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=0xbfebf5b8, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x8071f44
0x82a0e38
0x818cfc1
0x81302af
0x813033f
0x81304d7
0x8115aa3
0x8189520
0x811bb6f
0x829e5ec
0x82c7dea
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://www.mysql.com/doc/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://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.

Number of processes running now: 1
050222 10:49:58 mysqld restarted
050222 10:49:59 InnoDB: Started
/usr/sbin/mysqld: ready for connections.
Version: '4.0.18-standard' socket: '/tmp/mysql4.sock' port: 3306
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=1048576
read_buffer_size=4190208
max_used_connections=0
max_connections=35
threads_connected=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections
= 287603 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=0xbfebf5b8, backtrace may not be correct.
Stack range sanity check OK, backtrace follows:
0x8071f44
0x82a0e38
0x818cfc1
0x81302af
0x813033f
0x81304d7
0x8115aa3
0x8189520
0x811bb6f
0x829e5ec
0x82c7dea
New value of fp=(nil) failed sanity check, terminating stack trace!
Please read http://www.mysql.com/doc/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://www.mysql.com/doc/en/Crashing.html contains
information that should help you find out what is causing the crash.

Number of processes running now: 1
050222 10:50:00  mysqld restarted
050222 10:50:01  InnoDB: Started
/usr/sbin/mysqld: ready for connections.
Version: '4.0.18-standard'  socket: '/tmp/mysql4.sock'  port: 3306
mysqld got signal 11;


-- Baba Buehler - NetBotz, Inc. - <[EMAIL PROTECTED]>


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






--
Baba Buehler - NetBotz, Inc. - <[EMAIL PROTECTED]>


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



Reply via email to