Bug #33551 mysqld crashed on CHECK TABLE
Submitted: 28 Dec 2007 13:51 Modified: 24 Oct 2008 12:08
Reporter: Sergey Karatkevich Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S1 (Critical)
Version:5.0.51, 5.0.60 OS:FreeBSD (6.2-p2)
Assigned to: Inaam Rana CPU Architecture:Any

[28 Dec 2007 13:51] Sergey Karatkevich
Description:
071228  2:18:04  InnoDB: Page checksum 4067636899, prior-to-4.0.14-form checksum 2659411412
InnoDB: stored checksum 4067636899, prior-to-4.0.14-form stored checksum 2659411412
InnoDB: Page lsn 25 1641372732, low 4 bytes of lsn at page end 1641372732
InnoDB: Page number (if stored to page already) 229399,
InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0
InnoDB: Page may be an index page where index id is 0 109
InnoDB: (index ip of table maillist/ml_persons_ip)
InnoDB: Corruption of an index tree: table maillist/ml_persons_ip, index ip,
InnoDB: father ptr page no 503658, child page no 388110
PHYSICAL RECORD: n_fields 2; 1-byte offsets; info bits 0
 0: len 15; hex 3139332e34312e3137332e39382020; asc 193.41.173.98  ;; 1: len 4; hex 8457f74a; asc  W J;;
            n_owned: 0; heap_no: 2; next rec: 160
PHYSICAL RECORD: n_fields 3; 1-byte offsets; info bits 0
 0: len 15; hex 3139332e34312e3139352e36360a20; asc 193.41.195.66  ;; 1: len 4; hex 8032523f; asc  2R?;; 2: len 4; hex 0007af6a; asc    j;;
            n_owned: 6; heap_no: 39; next rec: 14726
InnoDB: You should dump + drop + reimport the table to fix the
InnoDB: corruption. If the crash happens at the database startup, see
InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html about
InnoDB: forcing recovery. Then dump + drop + reimport.
071228  2:18:04InnoDB: Assertion failure in thread 652297216 in file btr0btr.c line 624
InnoDB: Failing assertion: btr_node_ptr_get_child_page_no(node_ptr, offsets) == buf_frame_get_page_no(page)
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.
071228  2:18:04 - 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=268435456
read_buffer_size=1044480
max_used_connections=55
max_connections=256
threads_connected=47
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 523262 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

071228 02:18:04  mysqld restarted
InnoDB: Log scan progressed past the checkpoint lsn 25 1863727443
071228  2:18:04  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: Doing recovery: scanned up to log sequence number 25 1863834462
InnoDB: 1 transaction(s) which must be rolled back or cleaned up
InnoDB: in total 1 row operations to undo
InnoDB: Trx id counter is 0 503968512
071228  2:18:05  InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed
InnoDB: Last MySQL binlog file position 0 206351469, file name ./mysql-bin.000003
InnoDB: Starting in background the rollback of uncommitted transactions
071228  2:18:05  InnoDB: Rolling back trx with id 0 503967965, 1 rows to undo
071228  2:18:05  InnoDB: Started; log sequence number 25 1863834462

InnoDB: Rolling back of trx id 0 503967965 completed
071228  2:18:05  InnoDB: Rollback of non-prepared transactions completed
071228  2:18:05 [Note] /usr/local/libexec/mysqld: ready for connections.
Version: '5.0.51-log'  socket: '/tmp/mysql.sock'  port: 3306  FreeBSD port: mysql-server-5.0.51

How to repeat:
repeated on this database
[4 Jan 2008 11:13] Susanne Ebrecht
Many thanks for writing a bug report.

Please, can you tell us, what exactly you did to get these messages?
[7 Jan 2008 14:18] Susanne Ebrecht
We need to know, what we should do, to reproduce your szenario.
[8 Feb 2008 0:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[26 Mar 2008 10:14] Susanne Ebrecht
Sergey,

for me it's still not clear what you did to get this crash.

The only thing that I can see is that you did lots of updates of the same table.

Please send you my.cnf.

Also we need to know how did you install MySQL.
Did you use the ports or did you compile our packages?
Did you upgrade from an older version?
[26 Apr 2008 23:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".