Bug #44555 Complete catalog corruption
Submitted: 29 Apr 2009 18:31 Modified: 8 May 2009 21:42
Reporter: Christophe Bismuth Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S1 (Critical)
Version:mysql Ver 14.14 Distrib 5.1.34, for Win OS:Microsoft Windows (XP SP3 all updates applied)
Assigned to:
Tags: ha_innobase::open()

[29 Apr 2009 18:31] Christophe Bismuth
Description:
I've tried to browse my catalog from the MySQL Administrator tool and then when I clicked on my catalog I got a lot of popups with critical error messages.

How to repeat:
090429 20:13:59  InnoDB: Started; log sequence number 0 5411776
090429 20:13:59 [Note] Event Scheduler: Loaded 0 events
090429 20:13:59 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections.
Version: '5.1.34-community'  socket: ''  port: 3306  MySQL Community Server (GPL)
090429 20:15:09  InnoDB: Error: (1500) Couldn't read the MAX(id) autoinc value from the index (PRIMARY).
090429 20:15:09  InnoDB: Assertion failure in thread 4024 in file .\handler\ha_innodb.cc line 2601
InnoDB: Failing assertion: error == DB_SUCCESS
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.1/en/forcing-recovery.html
InnoDB: about forcing recovery.
090429 20:15:09 - 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=26214400
read_buffer_size=65536
max_used_connections=2
max_threads=100
threads_connected=1
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 58231 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd: 0x2caa340
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...
006ADC0B    mysqld.exe!ha_innobase::open()[ha_innodb.cc:2601]
00443C06    mysqld.exe!handler::ha_open()[handler.cc:2037]
005BF63B    mysqld.exe!open_table_from_share()[table.cc:1882]
00525EF7    mysqld.exe!open_unireg_entry()[sql_base.cc:3927]
0052954D    mysqld.exe!open_table()[sql_base.cc:2934]
0052A4D2    mysqld.exe!open_tables()[sql_base.cc:4586]
0052AB1B    mysqld.exe!open_normal_and_derived_tables()[sql_base.cc:5039]
0059D2AA    mysqld.exe!get_all_tables()[sql_show.cc:3361]
7C921028    ntdll.dll!wcsncpy()
02CF6AF0    
02D0D618    
02D0D638    
02D0D658    
02D0D678    
02D0D698    
02D0D6C0    
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 02CF4B18=SHOW TABLE STATUS
thd->thread_id=1
thd->killed=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 1736 stopped in file .\os\os0sync.c line 574
InnoDB: Thread 1688 stopped in file .\os\os0sync.c line 271
090429 20:16:03  InnoDB: Started; log sequence number 0 5411776
090429 20:16:03 [Note] Event Scheduler: Loaded 0 events
090429 20:16:03 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections.
Version: '5.1.34-community'  socket: ''  port: 3306  MySQL Community Server (GPL)
090429 20:16:14  InnoDB: Error: (1500) Couldn't read the MAX(id) autoinc value from the index (PRIMARY).
090429 20:16:14  InnoDB: Assertion failure in thread 1056 in file .\handler\ha_innodb.cc line 2601
InnoDB: Failing assertion: error == DB_SUCCESS
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.1/en/forcing-recovery.html
InnoDB: about forcing recovery.
090429 20:16:14 - 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=26214400
read_buffer_size=65536
max_used_connections=2
max_threads=100
threads_connected=1
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 58231 K
bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

thd: 0x2c9a340
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...
006ADC0B    mysqld.exe!ha_innobase::open()[ha_innodb.cc:2601]
00443C06    mysqld.exe!handler::ha_open()[handler.cc:2037]
005BF63B    mysqld.exe!open_table_from_share()[table.cc:1882]
00525EF7    mysqld.exe!open_unireg_entry()[sql_base.cc:3927]
0052954D    mysqld.exe!open_table()[sql_base.cc:2934]
0052A4D2    mysqld.exe!open_tables()[sql_base.cc:4586]
0052AB1B    mysqld.exe!open_normal_and_derived_tables()[sql_base.cc:5039]
0059D2AA    mysqld.exe!get_all_tables()[sql_show.cc:3361]
7C921028    ntdll.dll!wcsncpy()
02CE6AF0    
02CF0188    
02CF01A8    
02CF01C8    
02CF01E8    
02CF0208    
02CF0230    
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort...
thd->query at 02CE4B18=SHOW TABLE STATUS
thd->thread_id=1
thd->killed=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 236 stopped in file .\os\os0sync.c line 574
InnoDB: Thread 232 stopped in file .\os\os0sync.c line 271
090429 20:16:34  InnoDB: Started; log sequence number 0 5411776
090429 20:16:34 [Note] Event Scheduler: Loaded 0 events
090429 20:16:34 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: ready for connections.
Version: '5.1.34-community'  socket: ''  port: 3306  MySQL Community Server (GPL)
090429 20:20:20 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Normal shutdown

090429 20:20:20 [Note] Event Scheduler: Purging the queue. 0 events
090429 20:20:20  InnoDB: Starting shutdown...
090429 20:20:22  InnoDB: Shutdown completed; log sequence number 0 5411776
090429 20:20:22 [Warning] Forcing shutdown of 1 plugins
090429 20:20:22 [Note] C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Shutdown complete
[29 Apr 2009 23:44] Miguel Solorzano
Thank you for the bug report. Duplicate of bug: http://bugs.mysql.com/bug.php?id=44030.
[30 Apr 2009 6:07] Christophe Bismuth
I'm running XP SP3 not SP2.
Sorry for this duplicate, thank you all for your amazing work.

Chris
[30 Apr 2009 17:15] Sveta Smirnova
Thank you for the feedback.

Please provide question on next answers also:

1. Which version of MySQL the database was created with?
2. Do you remember circumstances you started see this error after?
[30 Apr 2009 18:36] Christophe Bismuth
Hi Sveta,

1. Which version of MySQL the database was created with?
mysql  Ver 14.14 Distrib 5.1.34, for Win

2. Do you remember circumstances you started see this error after?
No specific circumstance, I've just started Windows and opened no application but the MySQL Administrator tool. I've never had any warning nor error before this one.

Thank you,
Chris

PS: I'm running Windows XP SP3 on my iMac (10.5.6) with Bootcamp 2.1 (no VM, this is a native boot).
[8 May 2009 6:38] Sveta Smirnova
Thank you for the feedback.

Is it possible if you have moved the InnoDB files from elsewhere and recreated the table in
MySQL?
[8 May 2009 21:42] Christophe Bismuth
I don't think so, because I didn't know where these files were before the catalog corruption. Besides, because I use Boot Camp, Windows isn't run from a VMware Fusion image, but rather from a dedicated NTFS partition.

Hope this helps ...

Thank you,
Chris