Bug #31578 Failure to start InnoDB is difficult to diagnose
Submitted: 13 Oct 2007 4:19 Modified: 13 Jun 2010 12:26
Reporter: Mark Callaghan Email Updates:
Status: Won't fix Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S4 (Feature request)
Version:5.0.37 OS:Any
Assigned to: Heikki Tuuri CPU Architecture:Any
Tags: Failure, initialize, innodb

[13 Oct 2007 4:19] Mark Callaghan
Description:
When InnoDB cannot be started, the error is not obvious. After this error, when an InnoDB table is accessed, the database error log file will contain a message like:
error    : Incorrect information IN file: './prod/user.frm'

And SHOW VARIABLES LIKE 'have_innodb' will display: DISABLED

How to repeat:
described above

Suggested fix:
Always log a message in ha_innodb.cc when InnoDB cannot be started.

Optionally crash when InnoDB cannot be started and control this with a configuration variable.
[13 Oct 2007 4:20] Mark Callaghan
Changed to feature request
[13 Oct 2007 4:21] Mark Callaghan
I know too many people, including myself, who have lost time because of this.
[14 Oct 2007 16:49] Valeriy Kravchuk
Thank you for a reasonable feature request.
[14 Jul 2009 13:03] Sergei Golubchik
> Optionally crash when InnoDB cannot be started and
> control this with a configuration variable.

This is implemented as a fix for bug#19027
[16 Oct 2009 17:31] Harrison Fisk
The "Incorrect information in file:" error message is very misleading and seemingly incorrect.

An error more similar to the error for doing SHOW INNODB STATUS should be used:  "ERROR 1235 (42000): Cannot call SHOW INNODB STATUS because skip-innodb is defined"
[16 Oct 2009 17:44] Harrison Fisk
This is basically fixed in 5.1 now.  Using 5.1.36 using the built-in InnoDB, I see explicit mentions as follows:

In the error log you will get the error message:

091016 13:33:34 [ERROR] Plugin 'InnoDB' init function returned error.
091016 13:33:34 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

This seems pretty explicit that InnoDB isn't loaded.

When you try to access the table, you get:

ERROR 1286 (42000): Unknown table engine 'InnoDB'

5.0 still gives the very confusing error messages however.
[13 Jun 2010 12:26] Valeriy Kravchuk
This is fixed in 5.1+ and will not be fixed in 5.0 based on its extended support status.