Bug #47110 InnoDB doesn't start and reports "Page directory corruption"
Submitted: 3 Sep 2009 18:30 Modified: 7 Nov 2009 5:43
Reporter: Joerg Bruehe Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.4.2-beta OS:Solaris (Solaris 8, x86)
Assigned to: CPU Architecture:Any

[3 Sep 2009 18:30] Joerg Bruehe
Description:
New symptom in the build of 5.4.2-beta, which uses the new InnoDB version 1.0.4.

The problem is specific to the two machines which are running Solaris 8 on an x86 CPU.

The full diagnostic info will be appended as a file, this here is just the start:

=====
CURRENT_TEST: binlog.binlog_innodb
YYMMDD HH:MM:SS [Warning] The syntax '--log' is deprecated and will be removed in MySQL 7.0. Please use '--gen
eral_log'/'--general_log_file' instead.
YYMMDD HH:MM:SS [Warning] The syntax '--log_slow_queries' is deprecated and will be removed in MySQL 7.0. Plea
se use '--slow_query_log'/'--slow_query_log_file' instead.
YYMMDD HH:MM:SS [Note] Plugin 'FEDERATED' is disabled.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Neither mutexes nor rw_locks use GCC atomic builtins.
InnoDB: The first specified data file ./ibdata1 did not exist:
InnoDB: a new database to be created!
YYMMDD HH:MM:SS  InnoDB: Setting file ./ibdata1 size to 10 MB
InnoDB: Database physically writes the file full: wait...
YYMMDD HH:MM:SS  InnoDB: Log file ./ib_logfile0 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile0 size to 5 MB
InnoDB: Database physically writes the file full: wait...
YYMMDD HH:MM:SS  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
InnoDB: Page directory corruption: infimum not pointed to
YYMMDD HH:MM:SS  InnoDB: Page dump in ascii and hex (16384 bytes):
 len 16384; hex 000000000000000bffffffffffffffff000000000000000045bf0000000000000000000000000002007d0002000000
00000000050000000000000000000000000000000000000000000300000000000000020872000000000000000207b20801000003007469
6e66696d756d000901000803000073757072656d756d000000000000000000000000000000000000...
InnoDB: End of page dump
YYMMDD HH:MM:SS  InnoDB: Page checksum 1394706230, prior-to-4.0.14-form checksum 1719517717
InnoDB: stored checksum 0, prior-to-4.0.14-form stored checksum 0
InnoDB: Page lsn 0 0, low 4 bytes of lsn at page end 0
InnoDB: Page number (if stored to page already) 11,
InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 0
InnoDB: Page may be an update undo log page
InnoDB: Page may be an index page where index id is 0 3
InnoDB: (index "CLUST_IND" of table "SYS_INDEXES")
InnoDB: Page directory corruption: supremum not pointed to
YYMMDD HH:MM:SS  InnoDB: Page dump in ascii and hex (16384 bytes):
 len 16384; hex 000000000000000bffffffffffffffff000000000000000045bf0000000000000000000000000002007d0002000000
00000000050000000000000000000000000000000000000000000300000000000000020872000000000000000207b20801000003007469
6e66696d756d000901000803000073757072656d756d00000000000000000000000000000000000000...
InnoDB: End of page dump
=====

This continues for several more pages.

There are some old reports with a similar symptom, but they are "closed" because they could be explained by handling errors, or ended in "No feedback".
I do not think we have a handling error in running the test suite, let alone specific to one platform.

How to repeat:
I had it during the usual test suite run which is part of a release build.

It happened with different probability for different tests, the highest chances should be with test "binlog_innodb":
All 12 runs (6 per machine) of this test with the optimized server failed with this symptom:
- 2 test modes (normal and "ps-protocol"),
- 3 log modes each (row, statement, mixed),
- 2 runs (initial failure, then retry).

The 6 runs with the debug server passed (2 machines, 3 log modes).

There are other tests which failed with the same symptom, but with lower probability.
[3 Sep 2009 18:34] Joerg Bruehe
Error messages as logged during the test run

Attachment: InnoDB-corrupt-bug47110 (application/octet-stream, text), 21.19 KiB.

[4 Sep 2009 9:39] Joerg Bruehe
In total, this happened 240 times.

I do not think these binaries are good for publishing,
I intend to hold them back until this has been thoroughly analysed.

So there will not be packages of 5.4.2-beta for Solaris 8 x86.
[10 Sep 2009 8:13] Ståle Deraas
Observe that we are now into second phase EOL for Solaris 8. http://www.sun.com/service/eosl/eosl_solaris.html .