Bug #53464 The error message in the MySQL server log
Submitted: 6 May 2010 11:02 Modified: 2 Sep 2010 11:11
Reporter: Ivan B Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S2 (Serious)
Version:5.1.45 OS:FreeBSD (7.3-RELEASE)
Assigned to: CPU Architecture:Any

[6 May 2010 11:02] Ivan B
Description:
Hello, today I found the following error message in my .err log:

100504 13:30:22  InnoDB: Error: space id and page n:o stored in the page
InnoDB: read in are 1084452819:1460457619, should be 0:115002!
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 115002.
InnoDB: You may have to recover from a backup.
100504 13:30:22  InnoDB: Page dump in ascii and hex (16384 bytes):
 len 16384; hex 
     ... ;InnoDB: End of page dump
100504 13:30:22  InnoDB: Page checksum 2906126602, prior-to-4.0.14-form checksum 1525780864
InnoDB: stored checksum 589013127, prior-to-4.0.14-form stored checksum 3362460530
InnoDB: Page lsn 3999528042 1124444792, low 4 bytes of lsn at page end 3126037606
InnoDB: Page number (if stored to page already) 1460457619,
InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 1084452819
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 115002.
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.1/en/forcing-recovery.html
InnoDB: about forcing recovery.
InnoDB: Ending processing because of a corrupt database page.

How to repeat:
Don't know
[7 May 2010 9:24] Valeriy Kravchuk
Please, send your my.cnf file content. Check also OS level logs, like /var/log/messages, for any information about OS or hardware problems.
[7 May 2010 9:47] Ivan B
The DB places on hardware RAID-10 storage (Adaptec 5805 + 8 SAS 15K HDDs). Firmware version:

   Controller Version Information
   --------------------------------------------------------
   BIOS                                     : 5.2-0 (17544)
   Firmware                                 : 5.2-0 (17544)
   Driver                                   : 5.2-0 (17544)
   Boot Flash                               : 5.2-0 (17544)

There aren't any error messages in /var/log/messages or in Adaptec RAID controller log.

There is my.cnf file:

# cat my.cnf | sed -e "/^#/d" | sed -e "/^$/d"

[client]
port            = 3306
socket          = /tmp/mysql.sock
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
datadir=/usr/local/db/mysql
skip-locking
key_buffer = 32G
max_allowed_packet = 4M
table_cache = 256
sort_buffer_size = 10M
read_buffer_size = 10M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 256M
thread_concurrency = 8
max_connections=250
default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake
max_heap_table_size = 512M
server-id       = 1
innodb_data_home_dir = /usr/local/db/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /usr/local/db/mysql/
innodb_buffer_pool_size = 256M
innodb_additional_mem_pool_size = 20M
innodb_log_file_size = 512M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[isamchk]
key_buffer = 1024M
sort_buffer_size = 1024M
read_buffer = 16M
write_buffer = 16M
[myisamchk]
key_buffer = 1024M
sort_buffer_size = 1024M
read_buffer = 16M
write_buffer = 16M
[mysqlhotcopy]
interactive-timeout
[2 Aug 2010 11:11] Sveta Smirnova
Thank you for the feedback.

To fix the problem we need to repeat it. This problem can be cause by 2 reasons:

1. Hardware failure. In this case you should have report in OS log files. If you don't have such reports please check disk where InnoDB files located anyway.

2. Bug in MySQL code. In this case we need to know which actions lead to corruption. Please take dump of database, turn binary log to on, then in case of next failure send us this dump and binary logs. Or at least inform us you have it and we help you to find minimum amount of data required to repeat the problem.
[2 Sep 2010 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".