[MDEV-7553] Server crashes on shutdown on Windows under Application Verifier Created: 2015-02-06  Updated: 2015-11-28  Resolved: 2015-02-11

Status: Closed
Project: MariaDB Server
Component/s: OTHER
Affects Version/s: 10.1
Fix Version/s: 10.1.3

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to MDEV-9206 Server crashes on shutdown on Windows... Closed

 Description   

The problem appeared in 10.1 tree with this commit:

* commit 0ee879ff8ac1b80cd9a963015344f5698a81f309 67b24a2374fed4a7533d14cc443afa0f4e9febc7
| Author: Monty <monty@mariadb.org>
| Date:   Sun Feb 1 15:24:22 2015 +0200
| 
|     Improve performance for calculating memory allocation
|     Extend interface for 'show variables' with current scope
|  

If Application Verifier is enabled for mysqld.exe, the server crashes on shutdown. A couple of stack traces from different machines:

 	vrfcore.dll!00000001800037ed() 	
 	[Frames below may be incorrect and/or missing, no symbols loaded for vrfcore.dll]	
 	vfbasics.dll!00000000022aac9d() 	
 	vfbasics.dll!00000000022aaeef() 	
>	mysqld.exe!_current_thd()  Line 712	C++
 	mysqld.exe!my_malloc_size_cb_func(__int64 size, char is_thread_specific)  Line 3959 + 0x5 bytes	C++
 	mysqld.exe!update_malloc_size(__int64 size, char is_thread_specific)  Line 68	C
 	mysqld.exe!my_free(void * ptr)  Line 216	C
 	mysqld.exe!delete_dynamic(st_dynamic_array * array)  Line 304	C
 	mysqld.exe!my_hash_free(st_hash * hash)  Line 147	C
 	mysqld.exe!gtid_waiting::destroy()  Line 2215	C++
 	mysqld.exe!rpl_deinit_gtid_waiting()  Line 4187	C++
 	mysqld.exe!mysqld_exit(int exit_code)  Line 2037	C++
 	mysqld.exe!win_main(int argc, char * * argv)  Line 5841	C++
 	mysqld.exe!mysql_service(void * p)  Line 5863	C++
 	mysqld.exe!mysqld_main(int argc, char * * argv)  Line 6056	C++
 	mysqld.exe!main(int argc, char * * argv)  Line 26	C++
 	mysqld.exe!__tmainCRTStartup()  Line 278 + 0x19 bytes	C
 	mysqld.exe!mainCRTStartup()  Line 189	C
 	kernel32.dll!0000000077d5970c() 

 	vrfcore.dll!VerifierStopMessageEx()  + 0x779 bytes	
 	vfbasics.dll!CheckTlsIndex()  + 0x85 bytes	
 	vfbasics.dll!AVrfpTlsGetValue()  + 0x4f bytes	
>	mysqld.exe!my_malloc_size_cb_func(__int64 size, char is_thread_specific)  Line 3958	C++
 	mysqld.exe!update_malloc_size(__int64 size, char is_thread_specific)  Line 68	C
 	mysqld.exe!my_free(void * ptr)  Line 216	C
 	mysqld.exe!delete_dynamic(st_dynamic_array * array)  Line 304	C
 	mysqld.exe!my_hash_free(st_hash * hash)  Line 147	C
 	mysqld.exe!mysqld_exit(int exit_code)  Line 2037	C++
 	mysqld.exe!win_main(int argc, char * * argv)  Line 5837 + 0x7 bytes	C++
 	mysqld.exe!mysql_service(void * p)  Line 5860	C++
 	mysqld.exe!mysqld_main(int argc, char * * argv)  Line 6053	C++
 	mysqld.exe!__tmainCRTStartup()  Line 278 + 0x12 bytes	C
 	kernel32.dll!BaseThreadInitThunk()  + 0x1a bytes	
 	ntdll.dll!RtlUserThreadStart()  + 0x21 bytes	

Reproducible both on Debug and RelWithDebInfo.



 Comments   
Comment by Elena Stepanova [ 2015-02-06 ]

I will also need to re-enable appverif in buildbot for 10.1 after this bug is fixed.

Comment by Sergei Golubchik [ 2015-02-11 ]

Already fixed in https://github.com/MariaDB/server/commit/bfe703a45888107936c184076eaead28b8b8a90a

Generated at Thu Feb 08 07:20:28 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.