Bug #17367 Event scheduler doesn't work
Submitted: 14 Feb 2006 10:01 Modified: 14 Feb 2006 14:12
Reporter: Markus Popp Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Stored Routines Severity:S1 (Critical)
Version:5.1.6/5.1.7 BK source OS:Windows (Windows XP)
Assigned to: Andrey Hristov CPU Architecture:Any

[14 Feb 2006 10:01] Markus Popp
Description:
event-scheduler=1 in my.ini doesn't work and "set @@global.event_scheduler = 1" crashes the server.

How to repeat:
Set event-scheduler=1 in my.ini - this won't allow the server to start.

If you try to turn the event scheduler on by "set @@global.event_scheduler = 1", it will crash the server.
[14 Feb 2006 11:34] MySQL Verification Team
Thank you for the bug report. I was able to repeat only on Windows.

c:\mysql\bin>mysqld-max-nt --standalone --console
060214  9:21:53  InnoDB: Started; log sequence number 0 43655
060214  9:21:53 [ERROR] mysqld-max-nt: Got signal 11. Aborting!

060214  9:21:53 [ERROR] Aborting

060214  9:21:53  InnoDB: Starting shutdown...
060214  9:21:55  InnoDB: Shutdown completed; log sequence number 0 43655
060214  9:21:55 [Note] mysqld-max-nt: Shutdown complete

c:\mysql\bin>type c:\my.ini
[mysqld]
#event-scheduler=1
c:\mysql\bin>mysqld-max-nt --standalone --console
060214  9:23:06  InnoDB: Started; log sequence number 0 43655
060214  9:23:07 [Note] mysqld-max-nt: ready for connections.
Version: '5.1.7-beta-nt-max'  socket: ''  port: 3306  Source distribution

c:\mysql\bin>mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.1.7-beta-nt-max

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> set @@global.event_scheduler = 1;
ERROR 2013 (HY000): Lost connection to MySQL server during query
mysql>

miguel@hegel:~/dbs/5.1> bin/mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.1.7-beta-debug

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> set @@global.event_scheduler = 1;
Query OK, 0 rows affected (0.03 sec)
[14 Feb 2006 11:38] Markus Popp
That's right - it works fine on Linux.
[14 Feb 2006 12:05] MySQL Verification Team
Below call-stack using debug server;

mysys/my_winthread.c
--84--
#else
  hThread=(HANDLE)_beginthread((void( __cdecl *)(void *)) pthread_start,
			       attr->dwStackSize ? attr->dwStackSize :
			       65535, (void*) map);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^>point of crash
#endif

>	mysqld-debug.exe!pthread_create(void * * thread_id=0x03cbeab4, thread_attr * attr=0x00000000, void * (void *)* func=0x006137c0, void * param=0x00000000)  Line 87 + 0x3	C
 	mysqld-debug.exe!init_events()  Line 105 + 0x12	C++
 	mysqld-debug.exe!sys_var_event_executor::update(THD * thd=0x015bb738, set_var * var=0x015d7230)  Line 662	C++
 	mysqld-debug.exe!set_var::update(THD * thd=0x015bb738)  Line 3026 + 0x1b	C++
 	mysqld-debug.exe!sql_set_variables(THD * thd=0x015bb738, List<set_var_base> * var_list=0x015bbc9c)  Line 2911 + 0xf	C++
 	mysqld-debug.exe!mysql_execute_command(THD * thd=0x015bb738)  Line 3540 + 0x10	C++
 	mysqld-debug.exe!mysql_parse(THD * thd=0x015bb738, char * inBuf=0x015d7148, unsigned int length=32)  Line 5719 + 0x9	C++
 	mysqld-debug.exe!dispatch_command(enum_server_command command=COM_QUERY, THD * thd=0x015bb738, char * packet=0x015cf099, unsigned int packet_length=33)  Line 1740 + 0x1d	C++
 	mysqld-debug.exe!do_command(THD * thd=0x015bb738)  Line 1536 + 0x31	C++
 	mysqld-debug.exe!handle_one_connection(void * arg=0x015bb738)  Line 1178 + 0x9	C++
 	mysqld-debug.exe!pthread_start(void * param=0x015bad40)  Line 63 + 0x7	C
 	mysqld-debug.exe!_threadstart(void * ptd=0x01595170)  Line 196 + 0xd	C
 	kernel32.dll!7c80b50b() 	
 	kernel32.dll!7c8399f3() 	

  DBUG_PRINT("info", ("hThread=%lu",(long) hThread));
[14 Feb 2006 14:12] MySQL Verification Team
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 bugfix, yourself. More information 
about accessing the source trees is available at
    http://www.mysql.com/doc/en/Installing_source_tree.html

Additional info:

c:\mysql\bin>type c:\my.ini
[mysqld]
event-scheduler=1
c:\mysql\bin>mysqld-debug --standalone --console
060214 12:07:28  InnoDB: Started; log sequence number 0 43655
060214 12:07:29 [Note] mysqld-debug: ready for connections.
Version: '5.1.7-beta-debug'  socket: ''  port: 3306  Source distribution
060214 12:07:29 [Note] Scheduler loaded 0 events
060214 12:07:29 [Note] Scheduler thread started

Microsoft Windows XP [versão 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

c:\mysql\bin>mysql -uroot
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.1.7-beta-debug

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> set @@global.event_scheduler = 1;
Query OK, 0 rows affected (0.20 sec)

mysql> select version()\G
*************************** 1. row ***************************
version(): 5.1.7-beta-debug
1 row in set (0.16 sec)

mysql>