Bug #18235 assertion/crash when windows mysqld is ended with ctrl-c
Submitted: 14 Mar 2006 18:09 Modified: 3 Aug 2006 17:16
Reporter: Shane Bester (Platinum Quality Contributor) Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server Severity:S3 (Non-critical)
Version:5.0.19 OS:Windows (win2000/win2003)
Assigned to: Tatiana Azundris Nuernberg CPU Architecture:Any

[14 Mar 2006 18:09] Shane Bester
Description:
Occasionally when mysqld server is ended by hitting ctrl-c in the console window, it crashes with unhandled exception near the end of shutdown sequence.

C:\src\mysql-5.0.19-win-src\mysql-5.0.19\client_debug>mysqld-debug --console
060314 18:57:52  InnoDB: Started; log sequence number 0 43655
060314 18:57:53 [Note] mysqld-debug: ready for connections.
Version: '5.0.19-debug-log'  socket: ''  port: 3306  Source distribution
060314 18:57:59 [ERROR] mysqld-debug: Got signal 2. Aborting!

060314 18:57:59 [ERROR] Aborting

060314 18:57:59  InnoDB: Starting shutdown...
060314 18:58:01  InnoDB: Shutdown completed; log sequence number 0 43655
060314 18:58:01 [Note] mysqld-debug: Shutdown complete

<here a popup dialog occurred with message:
Debug Assertion Failed!

Program ...sql-5.0.19-win-src\mysql-5.0.19\client_debug\mysqld-debug.exe
File: dbgheap.c
Line: 1138

Expression: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)

For information on how your program can cause as assertion failure, see the Visual C++ documentation on asserts.

(Press Retry to debug the application)
>

How to repeat:
run "mysqld-debug.exe --console"
then hit ctrl-c.

repeat if it doesn't happen each time. (normally about 1/5 times a crash happens).

It happens with 5.0.19 and 5.0.18 standard binaries from dev.mysql.com too, but I just compiled a debug version to get the stack trace.

Suggested fix:
fix the cleanup code
[31 May 2006 12:27] 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/7087
[5 Jul 2006 16:46] Tatiana Azundris Nuernberg
in 5.0.23 (release)
[6 Jul 2006 18:56] Paul DuBois
Noted in 5.0.23 changelog.

On Windows, terminating mysqld with Control-C could result in a crash during shutdown.
[3 Aug 2006 8:28] Tatiana Azundris Nuernberg
merged into 5.1.12-beta
[3 Aug 2006 17:16] Paul DuBois
Noted in 5.1.12 changelog.