Bug #45118 mysqld.exe crashed in debug mode on Windows in dbug.c
Submitted: 27 May 2009 8:36 Modified: 20 Dec 2009 0:46
Reporter: Horst Hunger Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Windows Severity:S2 (Serious)
Version:5.1,azalea (5.4) OS:Windows (64-bit)
Assigned to: Alexander Nozdrin CPU Architecture:Any

[27 May 2009 8:36] Horst Hunger
Description:
mysqld.exe crashed in debug mode on Windows. VC shows the following:
Position of crash: dbug.c, line 1762, see cs->framep

Autos (variables):
-		cs	0x02c65020 {process=0x00af2cc8 "E:/bzr/mysql-azalea/sql/debug/mysqld.exe" func=0x013d06a4 "Item_func_set_user_var::check" file=0x013d0694 ".\item_func.cc" ...}	_db_code_state_ *

+		process	0x00af2cc8 "E:/bzr/mysql-azalea/sql/debug/mysqld.exe"	const char *

+		func	0x013d06a4 "Item_func_set_user_var::check"	const char *

+		file	0x013d0694 ".\item_func.cc"	const char *

-		framep	0x000bf6e8 {func=??? file=??? level=??? ...}	_db_stack_frame_ *

		func	CXX0030: Error: expression cannot be evaluated	

		file	CXX0030: Error: expression cannot be evaluated	

		level	CXX0030: Error: expression cannot be evaluated	

		prev	CXX0030: Error: expression cannot be evaluated	

+		stack	0x01756730 init_settings {flags=4096 maxdepth=0 delay=0 ...}	settings *

+		jmpfunc	0x00000000 <Bad Ptr>	const char *

+		jmpfile	0x00000000 <Bad Ptr>	const char *

		lineno	0	int

		level	6	unsigned int

		jmplevel	0	int

		u_line	63	unsigned int

		locked	0	int

+		u_keyword	0x0161344c "my"	const char *

-		cs->framep	0x000bf6e8 {func=??? file=??? level=??? ...}	_db_stack_frame_ *

		func	CXX0030: Error: expression cannot be evaluated	

		file	CXX0030: Error: expression cannot be evaluated	

		level	CXX0030: Error: expression cannot be evaluated	

		prev	CXX0030: Error: expression cannot be evaluated	

Callstack:
mysqld.exe!DoTrace(_db_code_state_ * cs=0x02c65020)  Line 1762 + 0xf bytes	C

mysqld.exe!_db_return_(unsigned int _line_=4303, _db_stack_frame_ * _stack_frame_=0x039fdf08)  Line 1253 + 0x9 bytes	C

mysqld.exe!Item_func_set_user_var::check(bool use_result_field=false)  Line 4303 + 0xe bytes	C++

mysqld.exe!set_var_user::check(THD * thd=0x03a13878)  Line 4170 + 0x36 bytes	C++

mysqld.exe!sql_set_variables(THD * thd=0x03a13878, List<set_var_base> * var_list=0x03a14e3c)  Line 4009 + 0x13 bytes	C++

mysqld.exe!mysql_execute_command(THD * thd=0x03a13878)  Line 3558 + 0x10 bytes	C++

mysqld.exe!mysql_parse(THD * thd=0x03a13878, const char * inBuf=0x02ca9448, unsigned int length=82, const char * * found_semicolon=0x039ff9b0)  Line 5979 + 0x9 bytes	C++

mysqld.exe!dispatch_command(enum_server_command command=COM_QUERY, THD * thd=0x03a13878, char * packet=0x02cc16f1, unsigned int packet_length=82)  Line 1064 + 0x1e bytes	C++

mysqld.exe!do_command(THD * thd=0x03a13878)  Line 746 + 0x1b bytes	C++

mysqld.exe!handle_one_connection(void * arg=0x03a13878)  Line 1146 + 0x9 bytes	C++

mysqld.exe!pthread_start(void * p=0x02c2f7c8)  Line 61 + 0x9 bytes	C

mysqld.exe!_callthreadstartex()  Line 348 + 0xf bytes	C

mysqld.exe!_threadstartex(void * ptd=0x03a15478)  Line 331	C

How to repeat:
Create a debug version of mysqld and execute on Windows (server 2003? 64 bit) in "mysql-azalea". Use the following settings/commands:

win\configure WITH_INNOBASE_STORAGE_ENGINE WITH_PARTITION_STORAGE_ENGINE WITH_ARCHIVE_STORAGE_ENGINE WITH_FEDERATED_STORAGE_ENGINE WITH_EXAMPLE_STORAGE_ENGINE DISABLE_GRANT_OPTIONS;

win\build-vs9.bat;

devenv mysql.sln /build debug;

Start the test:
perl mysql-test-run.pl --suite=parts --force partition_alter3_myisam
[27 May 2009 17:08] MySQL Verification Team
Thank you for the bug report. Verified as described:

c:\build\mysql-azalea\mysql-test>perl mysql-test-run.pl --suite=parts --force partition_alter3_myisam
Found handle.exe version 3.42
Logging: mysql-test-run.pl  --suite=parts --force partition_alter3_myisam
090527 14:00:15 [Warning] Forcing shutdown of 1 plugins
MySQL Version 5.4.4
Checking supported features...
 - skipping ndbcluster, mysqld not compiled with ndbcluster
 - SSL connections supported
 - binaries are debug compiled
Collecting tests...
vardir: c:/build/mysql-azalea/mysql-test/var
Removing old var directory...
Creating var directory 'c:/build/mysql-azalea/mysql-test/var'...
Installing system database...
Using server port 50798

==============================================================================

TEST                                      RESULT   TIME (ms)
------------------------------------------------------------

worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
Failed to open shutdown_event 'safe_process[3528]', error: 2
Couldn't open the winpid: 3528 for pid: 3528, try one more time
Failed to open shutdown_event 'safe_process[3528]', error: 2
Couldn't open the winpid: 3528 for pid: 3528, continue and see what happens...
Could not open event or process 360, error: 87
Couldn't open the winpid: 360 for pid: 360, try one more time
Could not open event or process 360, error: 87
Couldn't open the winpid: 360 for pid: 360, continue and see what happens...
parts.partition_alter3_myisam            [ fail ]
        Test ended at 2009-05-27 14:02:26

CURRENT_TEST: parts.partition_alter3_myisam
mysqltest: In included file ".\suite\parts\inc\partition_check_drop.inc": At line 35: query 'SET @aux = load_file('$ls_file')' failed: 2013: Lost connection to MySQL server dur
ing query

The result from queries just before the failure was:
< snip >
#  1.2.6 Remove partitioning
ALTER TABLE t1 REMOVE PARTITIONING;
SHOW CREATE TABLE t1;
Table   Create Table
t1      CREATE TABLE `t1` (
  `f_date` date DEFAULT NULL,
  `f_varchar` varchar(30) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
t1.MYD
t1.MYI
t1.frm
EXPLAIN PARTITIONS SELECT COUNT(*) FROM t1 WHERE f_date = '1000-02-10';
id      select_type     table   partitions      type    possible_keys   key     key_len ref     rows    Extra
1       SIMPLE  t1      NULL    ALL     NULL    NULL    NULL    NULL    20      Using where
# check read single success: 1
# check read all success: 1
# check read row by row success: 1
#  1.2.7 Remove partitioning from not partitioned table --> ????
ALTER TABLE t1 REMOVE PARTITIONING;
DROP TABLE t1;

More results from queries before failure can be found in c:\build\mysql-azalea\mysql-test\var\log\partition_alter3_myisam.log

Server [mysqld.1 - pid: 360, winpid: 360, exit: 1280] failed during test run

 - saving 'c:/build/mysql-azalea/mysql-test/var/log/parts.partition_alter3_myisam/' to 'c:/build/mysql-azalea/mysql-test/var/log/parts.partition_alter3_myisam/'
 - found 'mysqld.dmp' (0/5)

Trying 'cdb' to get a backtrace
<cuT>
[26 Aug 2009 15:05] 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/81620

3082 Alexander Nozdrin	2009-08-26
      A patch for Bug#45118 (mysqld.exe crashed in debug mode
      on Windows in dbug.c) -- part 2: a patch for the DBUG subsystem
      to detect misuse of DBUG_ENTER / DBUG_RETURN macros.
      5.1 version.
[26 Aug 2009 17:26] 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/81635

2800 Alexander Nozdrin	2009-08-26
      A patch for Bug#45118 (mysqld.exe crashed in debug mode
      on Windows in dbug.c) -- part 3: mysql-next specific fix.
[28 Aug 2009 9:53] Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090828095047-jbux7pie1yjnwpce) (version source revid:alik@sun.com-20090826172543-mvrsx03j9r5v8fw0) (merge vers: 5.4.4-alpha) (pib:11)
[29 Aug 2009 23:24] Paul DuBois
Noted in 5.4.4 changelog.

Debug builds of the server on Windows crashed in debugging code.
[10 Sep 2009 7:41] 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/82887

3111 Alexander Nozdrin	2009-09-10
      A patch for Bug#45118 (mysqld.exe crashed in debug mode
      on Windows in dbug.c) -- part 2: a patch for the DBUG subsystem
      to detect misuse of DBUG_ENTER / DBUG_RETURN macros.
      5.1 version.
[10 Sep 2009 8:24] Alexander Nozdrin
Queued into mysql-5.1-bugteam, mysql-pe.
No changelog entry is needed for this push.
[14 Sep 2009 16:04] Bugs System
Pushed into 5.4.4-alpha (revid:alik@sun.com-20090914155317-m1g9wodmndzdj4l1) (version source revid:alik@sun.com-20090914155317-m1g9wodmndzdj4l1) (merge vers: 5.4.4-alpha) (pib:11)
[6 Oct 2009 9:00] Bugs System
Pushed into 5.1.40 (revid:joro@sun.com-20091006073316-lea2cpijh9r6on7c) (version source revid:ingo.struewing@sun.com-20090916070128-6053el2ucp5z7pyn) (merge vers: 5.1.39) (pib:11)
[7 Oct 2009 18:40] Paul DuBois
The 5.4 fix has been pushed to 5.4.3.
[18 Dec 2009 10:38] Bugs System
Pushed into 5.1.41-ndb-7.1.0 (revid:jonas@mysql.com-20091218102229-64tk47xonu3dv6r6) (version source revid:jonas@mysql.com-20091218095730-26gwjidfsdw45dto) (merge vers: 5.1.41-ndb-7.1.0) (pib:15)
[18 Dec 2009 10:53] Bugs System
Pushed into 5.1.41-ndb-6.2.19 (revid:jonas@mysql.com-20091218100224-vtzr0fahhsuhjsmt) (version source revid:jonas@mysql.com-20091217101452-qwzyaig50w74xmye) (merge vers: 5.1.41-ndb-6.2.19) (pib:15)
[18 Dec 2009 11:08] Bugs System
Pushed into 5.1.41-ndb-6.3.31 (revid:jonas@mysql.com-20091218100616-75d9tek96o6ob6k0) (version source revid:jonas@mysql.com-20091217154335-290no45qdins5bwo) (merge vers: 5.1.41-ndb-6.3.31) (pib:15)
[18 Dec 2009 11:22] Bugs System
Pushed into 5.1.41-ndb-7.0.11 (revid:jonas@mysql.com-20091218101303-ga32mrnr15jsa606) (version source revid:jonas@mysql.com-20091218064304-ezreonykd9f4kelk) (merge vers: 5.1.41-ndb-7.0.11) (pib:15)