| Bug #38604 | Unexpected message when stopping debug mysqld | ||
|---|---|---|---|
| Submitted: | 6 Aug 2008 13:09 | Modified: | 18 Jun 2012 7:36 |
| Reporter: | Olivier Chédru | Email Updates: | |
| Status: | Can't repeat | Impact on me: | |
| Category: | MySQL Server: Errors | Severity: | S3 (Non-critical) |
| Version: | 5.1.26-rc | OS: | Any |
| Assigned to: | Jon Olav Hauglid | CPU Architecture: | Any |
[6 Aug 2008 13:56]
MySQL Verification Team
Thank you for the bug report. 080806 10:55:04 [Note] c:\dbs\5.1\bin\mysqld: ready for connections. Version: '5.1.28-nt-debug-log' socket: '' port: 3510 Source distribution 080806 10:55:12 [Note] c:\dbs\5.1\bin\mysqld: Normal shutdown c:\dbs\5.1\bin\mysqld: missing DBUG_RETURN or DBUG_VOID_RETURN macro in function "?func" 080806 10:55:12 [Note] Event Scheduler: Purging the queue. 0 events c:\dbs\5.1\bin\mysqld: missing DBUG_RETURN or DBUG_VOID_RETURN macro in function "?func" 080806 10:55:14 InnoDB: Starting shutdown... 080806 10:55:15 InnoDB: Shutdown completed; log sequence number 0 46409 080806 10:55:15 [Note] c:\dbs\5.1\bin\mysqld: Shutdown complete

Description: When stopping a debug mysqld, the following trace appears: twice missing DBUG_RETURN or DBUG_VOID_RETURN macro in function "?func" The cause of the problem is related to the way the thread handle_manager exits: my_thread_end(); DBUG_RETURN(NULL); and to the way the thread handle_connections_socketsexits: decrement_handler_count(); DBUG_RETURN(0); In both cases, my_thread_end() is called directly or indirectly before DBUG_RETURN. And my_thread_end() clears the thread-local storage used by DBUG_RETURN: #if !defined(DBUG_OFF) /* tmp->dbug is allocated inside DBUG library */ if (tmp->dbug) { DBUG_POP(); free(tmp->dbug); tmp->dbug=0; } #endif How to repeat: Start a debug mysqld and send control-C.