Bug #26807 | "set global event_scheduler=1" and --skip-grant-tables crashes server | ||
---|---|---|---|
Submitted: | 2 Mar 2007 21:40 | Modified: | 24 Mar 2007 6:31 |
Reporter: | Shane Bester (Platinum Quality Contributor) | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Stored Routines | Severity: | S2 (Serious) |
Version: | 5.1.17BK, 5.2.4BK | OS: | Linux (suse 9.3 x86) |
Assigned to: | Kristofer Pettersson | CPU Architecture: | Any |
Tags: | crash, Event |
[2 Mar 2007 21:40]
Shane Bester
[2 Mar 2007 22:14]
Andrey Hristov
Shane, please provide a dump of your mysql.event table. Can you reproduce it? Can you try to run it in gdb and take a trace from there and probably inspect few variables here and there in the stack. That would be nice! :) Andrey
[2 Mar 2007 23:16]
MySQL Verification Team
clean install, rm -rf ./data followed by ./scripts/mysql_install_db bk pull from about 2 days ago. will try catch it in a debugger and post it later.
[2 Mar 2007 23:56]
MySQL Verification Team
server must be started with --skip-grant-tables to cause this crash to occur :)
[16 Mar 2007 11:57]
Kristofer Pettersson
Quickly resolved by Andrey: the program crashes because Event engine isn't initialized if opt_noacl. Easier-to-read stack trace: mysqld.exe!Event_queue::lock_data(const char * func=0x00b035b0, unsigned int line=440) Line 651 + 0x6 bytes C++ mysqld.exe!Event_queue::recalculate_activation_times(THD * thd=0x0215cf50) Line 441 C++ mysqld.exe!Event_scheduler::run(THD * thd=0x0215cf50) Line 512 C++ mysqld.exe!event_scheduler_thread(void * arg=0x0215eee8) Line 236 C++ Patch is to mark Event engine as disabled in case of opt_noacl.
[16 Mar 2007 13:57]
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/22129 ChangeSet@1.2443, 2007-03-16 14:57:02+01:00, thek@kpdesk.mysql.com +4 -0 Bug#26807 "set global event_scheduler=1" and --skip-grant-tables crashes server - Crash occured because Event engine is only initialized if ACLs are used but not properly marked as disabled. - The patch is to mark the Event engine as DISABLED if no ACLs are used to avoid access of uninitialized variables.
[22 Mar 2007 21:24]
Konstantin Osipov
Fixed in 5.1.17
[24 Mar 2007 6:31]
Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release. If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at http://dev.mysql.com/doc/en/installing-source.html Documented fix in 5.1.17 changelog. Noted new behaviour in description of --skip-grant-tables & event_scheduler in 5.1 Manual.