Bug #31173 | mysqlslap.exe crashes if called without any parameters | ||
---|---|---|---|
Submitted: | 24 Sep 2007 9:33 | Modified: | 4 Aug 2010 22:32 |
Reporter: | Carsten Segieth | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Command-line Clients | Severity: | S1 (Critical) |
Version: | 5.1.22,5.1.45,6.0.3,5.5.0-m2 | OS: | Windows (XP) |
Assigned to: | Iggy Galarza | CPU Architecture: | Any |
[24 Sep 2007 9:33]
Carsten Segieth
[16 Nov 2007 14:32]
MySQL Verification Team
mysqlslap.exe doesn't run on windows by default. crashes on startup. this is because shared_memory_base_name is null and there's no verification before attempting to use it. stack trace: mysqlslap.exe!strlen mysqlslap.exe!create_shared_memory mysqlslap.exe!mysql_real_connect mysqlslap.exe!slap_connect mysqlslap.exe!run_task mysqlslap.exe!pthread_start mysqlslap.exe!_callthreadstart mysqlslap.exe!_threadstart kernel32.dll!BaseThreadStart
[16 Nov 2007 18:37]
Carsten Segieth
From my experience mysqlslap can be used on Windows "in general", but I didn't use all possible --options. I'm using it since some weeks on Win2003 boxes and cannot remember any crash - except in the situation described above.
[27 May 2008 23:52]
Venu Anuganti
The fix is to add CLIENT_REMEMBER_OPTIONS to connect_flags in mysqlslap.c. The reason is when the connection is failed (firt time); the options will be erased and sub-sequent connect will crash. The reason is mysqlslap does retry 10 times for a failed connection; and second time it crashed as first time the options will be cleared. Here is the patch: --- mysql-6.0/client/mysqlslap.c 2008-05-27 14:26:16.227646000 -0700 +++ venu/client/mysqlslap.c 2008-05-27 16:51:04.203322000 -0700 @@ -141,7 +141,8 @@ const char *opt_auto_generate_sql_type= "mixed"; static unsigned long connect_flags= CLIENT_MULTI_RESULTS | - CLIENT_MULTI_STATEMENTS; + CLIENT_MULTI_STATEMENTS | + CLIENT_REMEMBER_OPTIONS; static int verbose, delimiter_length; static uint commit_rate; Here is the stack: mysqlslap.exe!strlen(unsigned char * buf=0x005ba9d4) Line 81 Asm > mysqlslap.exe!create_shared_memory(st_mysql * mysql=0x0012fb4c, st_net * net=0x0012fb4c, unsigned int connect_timeout=0) Line 490 + 0x15 bytes C mysqlslap.exe!mysql_real_connect(st_mysql * mysql=0x0012fb4c, const char * host=0x001528c8, const char * user=0x00152886, const char * passwd=0x00702b14, const char * db=0x00000000, unsigned int port=3306, const char * unix_socket=0x00000000, unsigned long client_flag=196608) Line 1897 + 0x1a bytes C mysqlslap.exe!slap_connect(st_mysql * mysql=0x0012fb4c, char connect_to_schema=0) Line 2592 + 0x40 bytes C mysqlslap.exe!main(int argc=0, char * * argv=0x0015229c) Line 374 + 0xe bytes C mysqlslap.exe!__tmainCRTStartup() Line 327 + 0x19 bytes C mysqlslap.exe!mainCRTStartup() Line 196 C kernel32.dll!75a34911() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] ntdll.dll!76e6e4b6() ntdll.dll!76e6e489()
[13 Nov 2008 18:47]
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/58690 2728 Ignacio Galarza 2008-11-13 Bug#31173 - mysqlslap.exe crashes if called without any parameters -Applied community patch -Cleaned up test
[30 Oct 2009 6:41]
MySQL Verification Team
this bug still exists in 5.1.40, whats the holdup here?
[7 Dec 2009 16:16]
Andrii Nikitin
Iggy, Please doublecheck Shane's comment from '16 Nov 2007 15:32'. For me 5.1.41 mysqlslap.exe crashes if started without -h option. (For some reasons it tries connect using Shared Memory and gets Access violation) Please make sure that the patch fixes crash when no "-h" option is provided on startup. Or let me know if new bug should be reported. For me using -h127.0.0.1 option never crashes. (please note that all mysql clients use tcp connection to 127.0.0.1 by default: '-h' is not required for that. Probably I will report feature request for using the same behavior for mysqlslap when it doesn't crash anymore).
[24 Dec 2009 6:11]
MySQL Verification Team
still crashes in 5.5.0-m2....
[20 Feb 2010 21:10]
MySQL Verification Team
still crashes in 5.1.44.......
[17 Mar 2010 9:52]
MySQL Verification Team
still crashes 5.1.45 mysqlslap.exe ......
[23 Mar 2010 19:44]
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/104120 3141 Ignacio Galarza 2010-03-23 Bug#31173 - mysqlslap.exe crashes if called without any parameters -Applied community patch -Cleaned up test
[23 Mar 2010 21:05]
Iggy Galarza
Verified the patch works with no -h, -h[HOSTNAME], and -h[Loopback]. D: \> ipconfig /all Windows IP Configuration Host Name . . . . . . . . . . . . : alf D: \client\relwithdebinfo>mysqlslap.exe -P13000 --concurrency=5 --iterations=20 --number-int-cols=2 --number-char-cols=3 --auto-generate-sql Benchmark Average number of seconds to run all queries: 0.032 seconds Minimum number of seconds to run all queries: 0.031 seconds Maximum number of seconds to run all queries: 0.047 seconds Number of clients running queries: 5 Average number of queries per client: 0 D: \client\relwithdebinfo>mysqlslap.exe -half -P13000 --concurrency=5 --iterations=20 --number-int-cols=2 --number-char-cols=3 --auto-generate-sql Benchmark Average number of seconds to run all queries: 0.032 seconds Minimum number of seconds to run all queries: 0.031 seconds Maximum number of seconds to run all queries: 0.047 seconds Number of clients running queries: 5 Average number of queries per client: 0 D: \client\relwithdebinfo>mysqlslap.exe -h127.0.0.1 -P13000 --concurrency=5 --iterations=20 --number-int-cols=2 --number-char-cols=3 --auto-generate-sql Benchmark Average number of seconds to run all queries: 0.027 seconds Minimum number of seconds to run all queries: 0.015 seconds Maximum number of seconds to run all queries: 0.032 seconds Number of clients running queries: 5 Average number of queries per client: 0
[24 Mar 2010 8:15]
Bugs System
Pushed into 6.0.14-alpha (revid:alik@sun.com-20100324081249-yfwol7qtcek6dh7w) (version source revid:alik@sun.com-20100324081113-kc7x1iytnplww91u) (merge vers: 6.0.14-alpha) (pib:16)
[24 Mar 2010 8:18]
Bugs System
Pushed into mysql-next-mr (revid:alik@sun.com-20100324081159-5b8juv8ldiqwce8v) (version source revid:alik@sun.com-20100324081105-y72rautcea375zxm) (pib:16)
[25 Mar 2010 0:31]
Paul DuBois
Noted in 6.0.14 changelog. On Windows, mysqlslap crashed for attempts to connect via shared memory. Setting report to Need Merge pending push of Celosia to release tree.
[4 Aug 2010 8:07]
Bugs System
Pushed into mysql-trunk 5.6.1-m4 (revid:alik@ibmvm-20100804080001-bny5271e65xo34ig) (version source revid:alik@sun.com-20100324081105-y72rautcea375zxm) (merge vers: 5.6.99-m4) (pib:18)
[4 Aug 2010 8:23]
Bugs System
Pushed into mysql-trunk 5.6.1-m4 (revid:alik@ibmvm-20100804081533-c1d3rbipo9e8rt1s) (version source revid:alik@sun.com-20100324081105-y72rautcea375zxm) (merge vers: 5.6.99-m4) (pib:18)
[4 Aug 2010 22:32]
Paul DuBois
Noted in 5.6.0 changelog.
[22 Dec 2010 5:56]
MySQL Verification Team
see bug #59107