Bug #32083 | server crashes on show status when InnoDB is not initialized | ||
---|---|---|---|
Submitted: | 3 Nov 2007 22:53 | Modified: | 25 Feb 2008 19:15 |
Reporter: | Alexey Stroganov | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: InnoDB storage engine | Severity: | S1 (Critical) |
Version: | 5.0.50 | OS: | Any |
Assigned to: | Timothy Smith | CPU Architecture: | Any |
[3 Nov 2007 22:53]
Alexey Stroganov
[5 Nov 2007 15:13]
Heikki Tuuri
Aleksey, InnoDB really needs a writable tmpdir. It uses it as a buffer for some printfs. Assigning this to Marko. Maybe we could catch this and print an error message to the .err log? Regards, Heikki
[5 Nov 2007 16:21]
Alexey Stroganov
Heikki, Marko, probably we should somehow disable innodb engine in case of tmpdir is unwritable or at least assert but don't crash.
[7 Jan 2008 13:44]
Marko Mäkelä
This bug seems to have been introduced by someone at MySQL AB. The problem is that innodb_export_status is being called, even though InnoDB has not been initialized. The fix is simple: Index: ha_innodb.cc =================================================================== --- ha_innodb.cc (revision 2222) +++ ha_innodb.cc (working copy) @@ -6339,7 +6339,9 @@ void innodb_export_status(void) /*======================*/ { - srv_export_innodb_status(); + if (innodb_inited) { + srv_export_innodb_status(); + } } /****************************************************************************
[7 Jan 2008 13:58]
Marko Mäkelä
Sent innodb-5.0-ss2223.tar.gz to MySQL
[9 Jan 2008 17:41]
Timothy Smith
Workaround is to use a writable tmp_dir.
[24 Jan 2008 1:20]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/41186 ChangeSet@1.2588, 2008-01-23 18:20:04-07:00, tsmith@ramayana.hindu.god +1 -0 Applied innodb-5.0-ss2223 snapshot Fixes: Bug #32083: server crashes on show status when InnoDB is not initialized innodb_export_status(): Check that InnoDB has been initialized before invoking srv_export_innodb_status(). (Bug #32083) This bug does not exist in MySQL/InnoDB 5.1.
[24 Jan 2008 8:49]
Timothy Smith
patch queued to 5.0-build (doesn't affect other versions)
[25 Feb 2008 15:59]
Bugs System
Pushed into 5.1.24-rc
[25 Feb 2008 16:04]
Bugs System
Pushed into 5.0.58
[25 Feb 2008 16:05]
Bugs System
Pushed into 6.0.5-alpha
[25 Feb 2008 19:15]
Paul DuBois
Noted in 5.0.58 changelog. SHOW STATUS caused a server crash if InnoDB had not been initialized. Fix does not apply to 5.1+.