Bug #59341 System error 1067 has occurred [innodb_flush_method=O_DIRECT]
Submitted: 7 Jan 2011 2:27 Modified: 28 May 2012 8:36
Reporter: Roel Van de Paar Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S1 (Critical)
Version:5.1 (Plugin), 5.5.8 OS:Microsoft Windows
Assigned to: Roel Van de Paar CPU Architecture:Any

[7 Jan 2011 2:27] Roel Van de Paar
Description:
==========
c:\mysql558\data>net start mysql558
The mysql558 service is starting.
The mysql558 service could not be started.

A system error has occurred.

System error 1067 has occurred.

The process terminated unexpectedly.
==========

Very hard to troubleshoot:
1. No on-screen messages:

c:\mysql558\bin>mysqld --defaults-file=c:\mysql558\my.ini

c:\mysql558\bin>

2. No entries into error log:

c:\mysql558\bin>del ..\data\mysqld.err

c:\mysql558\bin>mysqld --defaults-file=c:\mysql558\my.ini

c:\mysql558\bin>type ..\data\mysqld.err
The system cannot find the file specified.

3. The only place there is some info is in the Windows Application log, and it's not very descriptive (only listing <EventData> tag here to reduce bug length):

    <Data>Plugin 'InnoDB' init function returned error.
    <Data>Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
    <Data>Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
    <Data>Aborting
    <Data>unregister_replicator OK
    <Data>mysqld: Shutdown complete

How to repeat:
Add "innodb_flush_method=O_DIRECT" to a Windows my.ini
[7 Jan 2011 2:33] Roel Van de Paar
5.1 Built-in handles it better:

InnoDB: Unrecognized value O_DIRECT for innodb_flush_method
110107 13:29:47 [ERROR] Plugin 'InnoDB' init function returned error.
110107 13:29:47 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.

5.1 With InnoDB plugin:

Same issue. System error 1067 has occurred.
[7 Jan 2011 2:41] Roel Van de Paar
5.0.91 Works fine.
InnoDB: Unrecognized value O_DIRECT for innodb_flush_method
[7 Jan 2011 3:00] Roel Van de Paar
See bug #56821
[10 Jan 2011 20:59] Roel Van de Paar
The actual output seems to depend on what sort of data is there.

For instance, with a fresh data folder, for 5.5.8, I do get a proper message:

InnoDB: Unrecognized value O_DIRECT for innodb_flush_method

With an existing data folder, for 5.1.55, I get the following:

Using built-in:
110111  7:47:45 [Note] Event Scheduler: Purging the queue. 0 events
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use InnoDB's own implementation
InnoDB: Compressed tables use zlib 1.2.3
InnoDB: Unrecognized value O_DIRECT for innodb_flush_method
110111  7:47:45 [Note] mysqld: Shutdown complete
InnoDB: Unrecognized value O_DIRECT for innodb_flush_method
110111  7:47:52 [ERROR] Plugin 'InnoDB' init function returned error.
110111  7:47:52 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
110111  7:47:52 [Note] Event Scheduler: Loaded 0 events

Using plugin:
110111  7:43:54 [Note] C:\mysql\bin\mysqld: Shutdown complete
110111  7:46:51 [ERROR] Plugin 'InnoDB' init function returned error.
110111  7:46:51 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
110111  7:46:51 [Note] Event Scheduler: Loaded 0 events
[28 May 2012 8:36] Roel Van de Paar
5.6.25 and 5.5.14 seem to handle it nicely. Proper error in log: 

120528 18:27:25 InnoDB: Unrecognized value O_DIRECT for innodb_flush_method 
120528 18:27:25 [ERROR] Plugin 'InnoDB' init function returned error. 
120528 18:27:25 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.