Bug #20401 mysqld --help --verbose 5.1.11 crash on win
Submitted: 12 Jun 2006 15:29 Modified: 18 Sep 2006 19:03
Reporter: Peter Brawley (Basic Quality Contributor) Email Updates:
Status: Can't repeat Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:5.1.11 OS:Windows (W2K)
Assigned to: CPU Architecture:Any

[12 Jun 2006 15:29] Peter Brawley
Description:
The my.ini argument

[mysqld]
event-scheduler

causes mysqld to fail with error 1067 on load. The server crazily reports that the next option in my.ini, whatever it is, is an invalid argument for the event scheduler.

Once the event-scheduler argument is commented out in my.ini, the server loads, but the following command

mysqld --help --verbose 

crashes with a "memory could not be read" error when it reaches the entry 'event-scheduler'.

How to repeat:
As above

Suggested fix:
Unknown
[13 Jun 2006 2:20] MySQL Verification Team
Thank you for the bug report. The 1067 error message means that the
service was aborted by the server, in this case the reason for is:

c:\dbs\5.1r\bin>mysqld-nt --event_scheduler
060612 22:47:31 [ERROR] mysqld-nt: option '--event-scheduler' requires an argument

and it is documented at:

http://dev.mysql.com/doc/refman/5.1/en/events-overview.html

 The global variable event_scheduler determines whether the Event Scheduler is enabled on the server. Beginning with MySQL 5.1.11, it can have one of these 3 values, which affect event scheduling as follows:

    *

      0: Event scheduling is OFF: The event scheduler thread does not run, and no scheduled events are executed. The event_scheduler variable cannot be set to this value while the server is running; instead, to turn off event scheduling altogether, you must start the server with --event-scheduler=0 or --event-scheduler=OFF. 
<cut>

However I was able for to get a crash when issuing mysqld-nt --help --verbose
on Windows (not on Linux with current debug server). I will try to get a
back trace on Windows.

I am changing the sypnosis for to reflect the actual bug and not the
event_scheduler issue.
[13 Jun 2006 4:49] Peter Brawley
Again the relevance of event_scheduler is that mysqld --help --verbose crashes when it comes to event-scheduler, even though no such setting is in effect.
[18 Sep 2006 17:45] Rafael Pinto
It happens to me also.

Funny thing, if I run:

D:\mysql\bin> mysqld --help --verbose

it crashes on "event-scheduler", but if I do

D:\mysql\bin> mysqld --help --verbose --event-scheduler=0

it goes all the way thru...

Tried with 1 and 2, and also got the crash.
[18 Sep 2006 19:03] MySQL Verification Team
I compiled latest Windows server and I was unable to crash anymore,
then it was fixed somehow.
[18 Sep 2006 19:04] MySQL Verification Team
Sorry I forgot to print the output:

D:\mysql\bin>mysqld -V
mysqld  Ver 5.1.12-beta-nt for Win32 on ia32 (Source distribution)

D:\mysql\bin>mysqld --help --verbose
mysqld  Ver 5.1.12-beta-nt for Win32 on ia32 (Source distribution)
Copyright (C) 2000 MySQL AB, by Monty and others
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Starts the MySQL database server

Usage: mysqld [OPTIONS]
NT and Win32 specific options:
  --install                     Install the default service (NT)
  --install-manual              Install the default service started manually (NT)
  --install service_name        Install an optional service (NT)
  --install-manual service_name Install an optional service started manually (NT)
  --remove                      Remove the default service from the service list (NT)
  --remove service_name         Remove the service_name from the service list (NT)
  --enable-named-pipe           Only to be used for the default server (NT)
  --standalone                  Dummy option to start as a standalone server (NT)

Default options are read from the following files in the given order:
C:\my.ini C:\my.cnf D:\WINDOWS\my.ini D:\WINDOWS\my.cnf D:\mysql\my.ini D:\mysql\my.cnf
The following groups are read: mysqld server mysqld-5.1
The following options may be given as the first argument:
--print-defaults        Print the program argument list and exit
--no-defaults           Don't read default options from any options file
--defaults-file=#       Only read default options from the given file #
--defaults-extra-file=# Read this file after the global files are read

  -?, --help          Display this help and exit.
  --abort-slave-event-count=#
                      Option used by mysql-test for debugging and testing of
                      replication.
  --allow-suspicious-udfs
                      Allows use of UDFs consisting of only one symbol xxx()
                      without corresponding xxx_init() or xxx_deinit(). That
                      also means that one can load any function from any
                      library, for example exit() from libc.so
<CUT>

Variables (--variable-name=value)
and boolean options {FALSE|TRUE}  Value (after reading options)
--------------------------------- -----------------------------
help                              TRUE
abort-slave-event-count           0
allow-suspicious-udfs             FALSE
auto-increment-increment          1
auto-increment-offset             1
automatic-sp-privileges           TRUE
basedir                           D:\mysql\
bind-address                      (No default value)
binlog-row-event-max-size         1024
character-set-client-handshake    TRUE
character-set-filesystem          binary
character-set-server              latin1
character-sets-dir                D:\mysql\share\charsets\
chroot                            (No default value)
collation-server                  latin1_swedish_ci

<CUT>

transaction_prealloc_size         4096
updatable_views_with_limit        1
wait_timeout                      28800

To see what values a running MySQL server is using, type
'mysqladmin variables' instead of 'mysqld --verbose --help'.

D:\mysql\bin>
[21 Apr 2009 9:47] MySQL Verification Team
bug #44376 is probably a duplicate of this