Bug #65485 MySQL Server 5.5.19 Crash
Submitted: 1 Jun 2012 18:38 Modified: 5 Jun 2012 19:18
Reporter: Pablo Alfaro Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S1 (Critical)
Version:5.5.19 OS:Windows (Windows 2003 Server Service Pack 2)
Assigned to: CPU Architecture:Any
Tags: crash

[1 Jun 2012 18:38] Pablo Alfaro
Description:
Hi, how are you?
We just had a crash with our MySQL server. The server stopped responding, we tried to restart the service and a short while after Windows showed an error dialog stating that mysqld had stopped working.

At the end of this description is the error log:

If I understand correctly, there's a section indicating that a page corruption was detected, then it dumps the page and proposes some solutions to the problem, then it tries to stop processing and hits the bug. ThereĀ“s a trace of the problem and finally the restarting of the service, apparently normally.

We had made some modifications to our database a couple of days ago. 
We had a table whose pk was of type char(20) and a large number of tables (around 200) which referenced it but didn't have foreign keys properly set up.

We changed the pk's to small unsigned int added the corresponding columns in the referencing tables, added the foreign keys (on the small int fields) and dropped the char fields. After all that we ran optimize table on each of the tables.

I don't know if there is anything else I can provide to shed some light on the problem. If there's anything I can do to help please let me know.

-- Start of error log --
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 104379.
InnoDB: You may have to recover from a backup.
120601 13:47:54  InnoDB: Page dump in ascii and hex (16384 bytes):

--I'm omitting the page dump because its rather long but I have it in case it's necessary

InnoDB: End of page dump
120601 13:47:54  InnoDB: Page checksum 3647033272, prior-to-4.0.14-form checksum 115126952
InnoDB: stored checksum 3647033272, prior-to-4.0.14-form stored checksum 3022151048
InnoDB: Page lsn 6 3723547728, low 4 bytes of lsn at page end 3718446389
InnoDB: Page number (if stored to page already) 104379,
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 4346
InnoDB: (index "fk_DDr3_usuarios1" of table "mch_desa"."ddr3")
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 104379.
InnoDB: You may have to recover from a backup.
InnoDB: It is also possible that your operating
InnoDB: system has corrupted its own file cache
InnoDB: and rebooting your computer removes the
InnoDB: error.
InnoDB: If the corrupt page is an index page
InnoDB: you can also try to fix the corruption
InnoDB: by dumping, dropping, and reimporting
InnoDB: the corrupt table. You can use CHECK
InnoDB: TABLE to scan your table for corruption.
InnoDB: See also http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
InnoDB: Ending processing because of a corrupt database page.
120601 13:47:54  InnoDB: Assertion failure in thread 3304 in file buf0buf.c line 3599
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.5/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
120601 13:47:54 - mysqld got exception 0xc0000005 ;
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=8388608
read_buffer_size=65536
max_used_connections=77
max_threads=100
thread_count=10
connection_count=10
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 40918 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x48f11e18
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...
006167FD    mysqld.exe!my_osmaperr()

Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (4457B018): SELECT count(*) FROM `mch_desa`.`ddr3`
Connection ID (thread ID): 559493
Status: NOT_KILLED

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.
InnoDB: Thread 2284 stopped in file ut0ut.c line 76
InnoDB: Thread 2276 stopped in file os0sync.c line 781
InnoDB: Thread 2272 stopped in file os0sync.c line 474
InnoDB: Thread 2280 stopped in file os0sync.c line 474
InnoDB: Thread 1668 stopped in file sync0arr.c line 359
InnoDB: Thread 3564 stopped in file mem0mem.c line 479
InnoDB: Thread 2660 stopped in file ha_innodb.cc line 3071
InnoDB: Thread 2284 stopped in file ut0ut.c line 76
InnoDB: Thread 2276 stopped in file os0sync.c line 792
InnoDB: Thread 2272 stopped in file os0sync.c line 478
InnoDB: Thread 2280 stopped in file os0sync.c line 478
InnoDB: Thread 1668 stopped in file sync0arr.c line 360
InnoDB: Thread 3564 stopped in file mem0mem.c line 479
120601 14:09:38 [Note] C:\Archivos de programa\MySQL\MySQL Server 5.5\bin\mysqld: Normal shutdown

InnoDB: Thread 2660 stopped in file lock0lock.c line 5599
InnoDB: Thread 2284 stopped in file sync0arr.c line 359
InnoDB: Thread 2276 stopped in file os0sync.c line 794
InnoDB: Thread 2272 stopped in file os0sync.c line 474
InnoDB: Thread 2280 stopped in file os0sync.c line 644
InnoDB: Thread 3564 stopped in file dict0dict.c line 343
120601 14:41:07 [Note] Plugin 'FEDERATED' is disabled.
120601 14:41:07 InnoDB: The InnoDB memory heap is disabled
120601 14:41:07 InnoDB: Mutexes and rw_locks use Windows interlocked functions
120601 14:41:07 InnoDB: Compressed tables use zlib 1.2.3
120601 14:41:07 InnoDB: Initializing buffer pool, size = 1.0G
120601 14:41:08 InnoDB: Completed initialization of buffer pool
120601 14:41:08 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
120601 14:41:08  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...
120601 14:41:15  InnoDB: Waiting for the background threads to start
120601 14:41:16 InnoDB: 1.1.8 started; log sequence number 29501841594
120601 14:41:16 [Note] Event Scheduler: Loaded 0 events
120601 14:41:16 [Note] C:\Archivos de programa\MySQL\MySQL Server 5.5\bin\mysqld: ready for connections.
Version: '5.5.19'  socket: ''  port: 3306  MySQL Community Server (GPL)
-- End of error log --

How to repeat:
Unknown
[1 Jun 2012 18:52] Valeriy Kravchuk
Please, send the output of:

show create table ddr3\G
check table ddr3 extended;

for that problematic table.
[4 Jun 2012 5:30] MySQL Verification Team
Do you agree this may be a duplicate of this class of bug:

Bug #10132
Bug #56373
Bug #59385
[4 Jun 2012 18:34] Pablo Alfaro
Yes, I agree. I think it's the same case. Sorry I didn't find the other posts. But the problem is clearly the same, the server crashes when reading a faulty page instead of reporting the error and continuing.
Thanks for your attention and quick replies.
[5 Jun 2012 19:18] Sveta Smirnova
Thank you for the feedback.

Closed as duplicate of bug #10132