[MDEV-28561] Assertion failed: !pfs->m_idle || (state == PSI_SOCKET_STATE_ACTIVE) Created: 2022-05-13  Updated: 2023-09-29  Resolved: 2023-09-29

Status: Closed
Project: MariaDB Server
Component/s: Server, Tests
Affects Version/s: 10.3, 10.4, 10.5, 10.6, 10.7, 10.8
Fix Version/s: 10.4.32, 10.5.23, 10.6.16, 10.10.7, 10.11.6, 11.0.4, 11.1.3

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Vladislav Vaintroub
Resolution: Fixed Votes: 0
Labels: None


 Description   

main.compress and main.ssl_compress fail on Windows debug builds with ps-protocol:

10.3 8c28b27f

main.compress                            w2 [ fail ]
        Test ended at 2022-05-13 17:49:20
 
CURRENT_TEST: main.compress
mysqltest: At line 18: query 'select * from information_schema.session_status where variable_name= 'COMPRESSION'' failed: 2013: Lost connection to MySQL server during query
...
Assertion failed: !pfs->m_idle || (state == PSI_SOCKET_STATE_ACTIVE), file C:\Users\jenkins\workspace\Source-Build-Test\src\storage\perfschema\pfs.cc, line 5115
220513 17:49:11 [ERROR] mysqld got exception 0x80000003 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.
 
To report this bug, see https://mariadb.com/kb/en/reporting-bugs
 
We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed, 
something is definitely wrong and this may fail.
 
Server version: 10.3.35-MariaDB-debug-log
key_buffer_size=1048576
read_buffer_size=131072
max_used_connections=2
max_threads=65537
thread_count=2
It is possible that mysqld could use up to 
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 4383 K  bytes of memory
Hope that's ok; if not, decrease some variables in the equation.
 
Thread pointer: 0x29ce15800c8
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
mysqld.exe!my_sigabrt_handler()[my_thr_init.c:485]
mysqld.exe!raise()[signal.cpp:547]
mysqld.exe!abort()[abort.cpp:71]
mysqld.exe!common_assert_to_stderr<wchar_t>()[assert.cpp:186]
mysqld.exe!_wassert()[assert.cpp:443]
mysqld.exe!set_socket_state_v1()[pfs.cc:5115]
mysqld.exe!inline_mysql_socket_set_state()[mysql_socket.h:286]
mysqld.exe!net_before_header_psi()[mysqld.cc:1213]
mysqld.exe!set_thd_idle()[threadpool_common.cc:132]
mysqld.exe!threadpool_process_request()[threadpool_common.cc:377]
mysqld.exe!tp_callback()[threadpool_common.cc:185]
mysqld.exe!tp_callback()[threadpool_win.cc:376]
mysqld.exe!work_callback()[threadpool_win.cc:450]
ntdll.dll!RtlInitializeCriticalSection()
ntdll.dll!RtlReleaseSRWLockExclusive()
KERNEL32.DLL!BaseThreadInitThunk()
ntdll.dll!RtlUserThreadStart()
 
Trying to get some variables.
Some pointers may be invalid and cause the dump to abort.
Query (0x0): 
Connection ID (thread ID): 5
Status: NOT_KILLED
 
Optimizer switch: index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on
 
The manual page at https://mariadb.com/kb/en/how-to-produce-a-full-stack-trace-for-mysqld/ contains
information that should help you find out what is causing the crash.
Writing a core file at C:\Users\jenkins\workspace\Source-Build-Test\src\mysql-test\var\2\mysqld.1\data
Minidump written to C:\Users\jenkins\workspace\Source-Build-Test\src\mysql-test\var\2\mysqld.1\data\mysqld.dmp
----------SERVER LOG END-------------
 
 
 - found 'mysqld.dmp' (1/5)
 
Trying 'cdb' to get a backtrace
Output from cdb follows. Faulting thread is printed twice,with and without function parameters
Search for STACK_TEXT to see the stack trace of 
the faulting thread. Callstacks of other threads are printed after it.
 
Microsoft (R) Windows Debugger Version 10.0.19041.1 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.
 
 
Loading Dump File [C:\Users\jenkins\workspace\Source-Build-Test\src\mysql-test\var\2\log\main.compress\mysqld.1\data\mysqld.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available
 
 
Response                         Time (ms)     Location
OK                                             C:\Windows\System32
OK                                             C:\Users\jenkins\workspace\Source-Build-Test\src\sql\Debug
OK                                             .
 
Response                         Time (ms)     Location
OK                                             C:\Windows\System32
OK                                             C:\Users\jenkins\workspace\Source-Build-Test\src\sql\Debug
OK                                             .
Deferred                                       srv*C:\cdb_symbols*http://msdl.microsoft.com/download/symbols
Symbol search path is: C:\Windows\System32;C:\Users\jenkins\workspace\Source-Build-Test\src\sql\Debug;.;srv*C:\cdb_symbols*http://msdl.microsoft.com/download/symbols
Executable search path is: C:\Windows\System32;C:\Users\jenkins\workspace\Source-Build-Test\src\sql\Debug;.
Windows 10 Version 17763 MP (8 procs) Free x64
Product: Server, suite: TerminalServer DataCenter SingleUserTS
17763.1.amd64fre.rs5_release.180914-1434
Machine Name:
Debug session time: Fri May 13 17:49:12.000 2022 (UTC + 0:00)
System Uptime: not available
Process Uptime: 0 days 0:00:01.000
...............................
This dump file has a breakpoint exception stored in it.
The stored exception information can be accessed via .ecxr.
For analysis of this file, run !analyze -v
ntdll!NtGetContextThread:
             ret
0:010> cdb: Reading initial command '!sym prompts off; !analyze -v; .ecxr; !for_each_frame dv /t;!uniqstack -p;q'
quiet mode - symbol prompts off
 
 
 
KEY_VALUES_STRING: 1
 
    Key  : Analysis.CPU.Sec
    Value: 0
 
    Key  : Analysis.DebugAnalysisProvider.CPP
    Value: Create: 8007007e on JW-WINDOWS-2019
 
    Key  : Analysis.DebugData
    Value: CreateObject
 
    Key  : Analysis.DebugModel
    Value: CreateObject
 
    Key  : Analysis.Elapsed.Sec
    Value: 0
 
    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 184
 
    Key  : Analysis.System
    Value: CreateObject
 
    Key  : Timeline.Process.Start.DeltaSec
    Value: 1
 
 
CONTEXT:  (.ecxr)
rax=00007ff6ac1da560 rbx=0000000000000016 rcx=0000000000000016
rdx=00007ff6ac3b9680 rsi=00007ff6ac1da560 rdi=00007ff6af216af0
rip=00007ff6ac1da565 rsp=000000ab0497f010 rbp=000000ab0497f1c0
 r8=000000ab0497f090  r9=000000ab0497f098 r10=0000000000000000
r11=000000ab0497f088 r12=0000000000000910 r13=0000000000000000
r14=0000000000001301 r15=0000000000000000
iopl=0         nv up ei pl nz ac pe nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000212
mysqld!my_sigabrt_handler:
             int     3
Resetting default scope
 
EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 00007ff6ac1da565 (mysqld!my_sigabrt_handler)
   ExceptionCode: 80000003 (Break instruction exception)
  ExceptionFlags: 00000000
NumberParameters: 1
   Parameter[0]: 0000000000000000
 
WRONG_SYMBOLS_TIMESTAMP: 80224f6f
 
WRONG_SYMBOLS_SIZE: 1ed000
 
FAULTING_MODULE: 00007ffade800000 ntdll
 
ADDITIONAL_DEBUG_TEXT:  
You can run '.symfix; .reload' to try to fix the symbol path and load symbols. ; Followup set based on attribute [Is_ChosenCrashFollowupThread] from Frame:[0] on thread:[PSEUDO_THREAD]
 
STACK_TEXT:  
mysqld!my_sigabrt_handler
mysqld!raise
mysqld!abort
mysqld!common_assert_to_stderr<wchar_t>
mysqld!_wassert
mysqld!set_socket_state_v1
mysqld!inline_mysql_socket_set_state
mysqld!net_before_header_psi
mysqld!set_thd_idle
mysqld!threadpool_process_request
mysqld!tp_callback
mysqld!tp_callback
mysqld!work_callback
ntdll!RtlInitializeCriticalSection
ntdll!RtlReleaseSRWLockExclusive
kernel32!BaseThreadInitThunk
ntdll!RtlUserThreadStart
 
 
STACK_COMMAND:  .ecxr ; kb ; ** Pseudo Context ** Pseudo ** Value: 13d45777670 ** ; kb
 
FAULTING_SOURCE_LINE:  C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_thr_init.c
 
FAULTING_SOURCE_FILE:  C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_thr_init.c
 
FAULTING_SOURCE_LINE_NUMBER:  485
 
FAULTING_SOURCE_CODE:  
   481: 
   482: #if (_MSC_VER >= 1400)
   483: static void my_sigabrt_handler(int sig)
   484: {
>  485:   __debugbreak();
   486: }
   487: #endif /*_MSC_VER >=1400 */
   488: 
   489: static void install_sigabrt_handler(void)
   490: {
 
 
BUGCHECK_CODE:  80224f6f
 
EXCEPTION_CODE_STR:  80224F6F
 
EXCEPTION_STR:  WRONG_SYMBOLS
 
PROCESS_NAME:  ntdll.wrong.symbols.dll
 
IMAGE_NAME:  ntdll.wrong.symbols.dll
 
MODULE_NAME: ntdll_wrong_symbols
 
SYMBOL_NAME:  ntdll_wrong_symbols!80224F6F1ED000
 
FAILURE_BUCKET_ID:  WRONG_SYMBOLS_X64_17763.1.amd64fre.rs5_release.180914-1434_TIMESTAMP_380214-035007_80224F6F_ntdll.wrong.symbols.dll!80224F6F1ED000
 
OS_VERSION:  10.0.17763.1
 
BUILDLAB_STR:  rs5_release
 
OSPLATFORM_TYPE:  x64
 
OSNAME:  Windows 10
 
FAILURE_ID_HASH:  {bd0602f4-47a6-1b89-0681-487e4566bf20}
 
Followup:     MachineOwner
---------
 
rax=00007ff6ac1da560 rbx=0000000000000016 rcx=0000000000000016
rdx=00007ff6ac3b9680 rsi=00007ff6ac1da560 rdi=00007ff6af216af0
rip=00007ff6ac1da565 rsp=000000ab0497f010 rbp=000000ab0497f1c0
 r8=000000ab0497f090  r9=000000ab0497f098 r10=0000000000000000
r11=000000ab0497f088 r12=0000000000000910 r13=0000000000000000
r14=0000000000001301 r15=0000000000000000
iopl=0         nv up ei pl nz ac pe nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000212
mysqld!my_sigabrt_handler:
             int     3
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!my_sigabrt_handler [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_thr_init.c @ 485]
int sig = 0n22
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!raise [minkernel\crts\ucrt\src\appcrt\misc\signal.cpp @ 547]
int signum = 0n22
int old_fpecode = 0n0
<function> * action = 0x00007ff6`ac1da560
struct _EXCEPTION_POINTERS * old_pxcptinfoptrs = 0x00000000`00000000
bool action_is_global = true
struct __acrt_ptd * ptd = 0x00000000`00000000
<function> ** action_pointer = 0x00007ff6`af216af0
struct __crt_signal_action_t * local_action = <value unavailable>
struct __crt_signal_action_t * last = <value unavailable>
struct __crt_signal_action_t * first = <value unavailable>
struct __crt_signal_action_t * p = 0x000000ab`0497f080
unsigned int64 __security_cookie = <value unavailable>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!abort [minkernel\crts\ucrt\src\appcrt\startup\abort.cpp @ 71]
<function> * sigabrt_action = 0x00007ff6`ac1da560
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!common_assert_to_stderr<wchar_t> [minkernel\crts\ucrt\src\appcrt\startup\assert.cpp @ 186]
wchar_t * expression = 0x00007ff6`ae21a4b0 "!pfs->m_idle || (state == PSI_SOCKET_STATE_ACTIVE)"
wchar_t * file_name = 0x00007ff6`ae21a410 "C:\Users\jenkins\workspace\Source-Build-Test\src\storage\perfschema\pfs.cc"
unsigned int line_number = 0x13fb
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
(Inline Function) --------`-------- mysqld!common_assert [minkernel\crts\ucrt\src\appcrt\startup\assert.cpp @ 420]
void * return_address = 0x00007ff6`ac107bd4
int current_error_mode = <value unavailable>
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!_wassert [minkernel\crts\ucrt\src\appcrt\startup\assert.cpp @ 443]
wchar_t * expression = 0x00007ff6`ae21a4b0 "!pfs->m_idle || (state == PSI_SOCKET_STATE_ACTIVE)"
wchar_t * file_name = 0x00007ff6`ae21a410 "C:\Users\jenkins\workspace\Source-Build-Test\src\storage\perfschema\pfs.cc"
unsigned int line_number = 0x13fb
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!set_socket_state_v1 [C:\Users\jenkins\workspace\Source-Build-Test\src\storage\perfschema\pfs.cc @ 5115]
struct PSI_socket * socket = 0x0000029c`dcf80408
PSI_socket_state state = PSI_SOCKET_STATE_IDLE (0n1)
struct PFS_socket * pfs = 0x0000029c`dcf80408
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!inline_mysql_socket_set_state [C:\Users\jenkins\workspace\Source-Build-Test\src\include\mysql\psi\mysql_socket.h @ 286]
struct st_mysql_socket * socket = 0x000000ab`0497f6b0
PSI_socket_state state = PSI_SOCKET_STATE_IDLE (0n1)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!net_before_header_psi [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\mysqld.cc @ 1213]
struct st_net * net = 0x0000029c`e1580308
void * thd = 0x0000029c`e15800c8
unsigned int64 __formal = 0
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!set_thd_idle [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\threadpool_common.cc @ 132]
class THD * thd = 0x0000029c`e15800c8
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!threadpool_process_request [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\threadpool_common.cc @ 377]
class THD * thd = 0x0000029c`e15800c8
int retval = 0n0
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!tp_callback [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\threadpool_common.cc @ 185]
struct TP_connection * c = 0x0000029c`e02b0900
struct Worker_thread_context worker_context = struct Worker_thread_context
class THD * thd = 0x0000029c`e15800c8
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!tp_callback [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\threadpool_win.cc @ 376]
struct _TP_CALLBACK_INSTANCE * instance = 0x000000ab`0497fa08
void * context = 0x0000029c`e02b0900
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!work_callback [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\threadpool_win.cc @ 450]
struct _TP_CALLBACK_INSTANCE * instance = 0x000000ab`0497fa08
void * context = 0x0000029c`e02b0900
struct _TP_WORK * work = 0x0000029c`e01b7ba0
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ntdll!RtlInitializeCriticalSection
Unable to enumerate locals, Win32 error 0n318
Private symbols (symbols.pri) are required for locals.
Type ".hh dbgerr005" for details.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ntdll!RtlReleaseSRWLockExclusive
Unable to enumerate locals, Win32 error 0n318
Private symbols (symbols.pri) are required for locals.
Type ".hh dbgerr005" for details.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
kernel32!BaseThreadInitThunk
Unable to enumerate locals, Win32 error 0n318
Private symbols (symbols.pri) are required for locals.
Type ".hh dbgerr005" for details.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
ntdll!RtlUserThreadStart
Unable to enumerate locals, Win32 error 0n318
Private symbols (symbols.pri) are required for locals.
Type ".hh dbgerr005" for details.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
mysqld!my_sigabrt_handler [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_thr_init.c @ 485]
Processing 11 threads, please wait
 
.  0  Id: 123c.11d0 Suspend: 0 Teb: 000000ab`04a7e000 Unfrozen
      Priority: 0  Priority class: 32
 
ntdll!ZwWaitForAlertByThreadId
ntdll!RtlSleepConditionVariableCS
KERNELBASE!SleepConditionVariableCS
mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff6`ae97b250, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff6`ae97ab40, struct timespec * abstime = 0x00000000`00000000) [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_wincond.c @ 82]
mysqld!pthread_cond_wait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff6`ae97b250, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff6`ae97ab40) [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_wincond.c @ 91]
mysqld!inline_mysql_cond_wait(struct st_mysql_cond * that = 0x00007ff6`ae97b250, struct st_mysql_mutex * mutex = 0x00007ff6`ae97ab40, char * src_file = 0x00007ff6`ac4241c8 "C:\Users\jenkins\workspace\Source-Build-Test\src\sql\mysqld.cc", unsigned int src_line = 0x16a3) [C:\Users\jenkins\workspace\Source-Build-Test\src\include\mysql\psi\mysql_thread.h @ 1174]
mysqld!handle_connections_methods(void) [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\mysqld.cc @ 5795]
mysqld!win_main(int argc = 0n130, char ** argv = 0x0000029c`db815808) [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\mysqld.cc @ 6295]
mysqld!mysql_service(void * p = 0x00000000`00000000) [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\mysqld.cc @ 6352]
mysqld!mysqld_main(int argc = 0n6, char ** argv = 0x0000029c`db7e0900) [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\mysqld.cc @ 6543]
mysqld!main(int argc = 0n6, char ** argv = 0x0000029c`db7e0900) [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\main.cc @ 26]
(Inline Function) --------`-------- mysqld!invoke_main(void) [D:\agent\_work\9\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 78]
mysqld!__scrt_common_main_seh(void) [D:\agent\_work\9\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
kernel32!BaseThreadInitThunk
ntdll!RtlUserThreadStart
 
.  1  Id: 123c.51c Suspend: 0 Teb: 000000ab`04a80000 Unfrozen
      Priority: 0  Priority class: 32
 
ntdll!NtWaitForWorkViaWorkerFactory
ntdll!RtlReleaseSRWLockExclusive
kernel32!BaseThreadInitThunk
ntdll!RtlUserThreadStart
 
.  4  Id: 123c.27c Suspend: 0 Teb: 000000ab`04a86000 Unfrozen
      Priority: 0  Priority class: 32
 
ntdll!ZwWaitForAlertByThreadId
ntdll!RtlSleepConditionVariableCS
KERNELBASE!SleepConditionVariableCS
mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff6`af20bf00, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff6`af20bed0, struct timespec * abstime = 0x000000ab`04fffba8) [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_wincond.c @ 82]
mysqld!inline_mysql_cond_timedwait(struct st_mysql_cond * that = 0x00007ff6`af20bf00, struct st_mysql_mutex * mutex = 0x00007ff6`af20bed0, struct timespec * abstime = 0x000000ab`04fffba8, char * src_file = 0x00007ff6`ae784ff0 "--- memory read error at address 0x00007ff6`ae784ff0 ---", unsigned int src_line = 0x124) [C:\Users\jenkins\workspace\Source-Build-Test\src\include\mysql\psi\mysql_thread.h @ 1211]
mysqld!timer_handler(void * arg = 0x00000000`00000000) [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\thr_timer.c @ 293]
mysqld!pfs_spawn_thread(void * arg = 0x0000029c`db8ceb18) [C:\Users\jenkins\workspace\Source-Build-Test\src\storage\perfschema\pfs.cc @ 1871]
mysqld!pthread_start(void * p = 0x0000029c`db7fd140) [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_winthread.c @ 61]
mysqld!thread_start<unsigned int (void * parameter = 0x0000029c`de088cd0) [minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 97]
kernel32!BaseThreadInitThunk
ntdll!RtlUserThreadStart
 
.  5  Id: 123c.15d0 Suspend: 0 Teb: 000000ab`04a88000 Unfrozen
      Priority: 0  Priority class: 32
 
ntdll!ZwWaitForAlertByThreadId
ntdll!RtlSleepConditionVariableCS
KERNELBASE!SleepConditionVariableCS
mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff6`af1fb3b8, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff6`af1fb388, struct timespec * abstime = 0x000000ab`050ff9e8) [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_wincond.c @ 82]
mysqld!inline_mysql_cond_timedwait(struct st_mysql_cond * that = 0x00007ff6`af1fb3b8, struct st_mysql_mutex * mutex = 0x00007ff6`af1fb388, struct timespec * abstime = 0x000000ab`050ff9e8, char * src_file = 0x00007ff6`ae742bb0 "--- memory read error at address 0x00007ff6`ae742bb0 ---", unsigned int src_line = 0x74) [C:\Users\jenkins\workspace\Source-Build-Test\src\include\mysql\psi\mysql_thread.h @ 1211]
mysqld!my_service_thread_sleep(struct st_ma_service_thread_control * control = 0x00007ff6`ae7005b8, unsigned int64 sleep_time = 0x00000006`c088e200) [C:\Users\jenkins\workspace\Source-Build-Test\src\storage\maria\ma_servicethread.c @ 119]
mysqld!ma_checkpoint_background(void * arg = 0x00000000`0000001e) [C:\Users\jenkins\workspace\Source-Build-Test\src\storage\maria\ma_checkpoint.c @ 707]
mysqld!pfs_spawn_thread(void * arg = 0x0000029c`e0043e78) [C:\Users\jenkins\workspace\Source-Build-Test\src\storage\perfschema\pfs.cc @ 1871]
mysqld!pthread_start(void * p = 0x0000029c`db7fcda0) [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_winthread.c @ 61]
mysqld!thread_start<unsigned int (void * parameter = 0x0000029c`e0041730) [minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 97]
kernel32!BaseThreadInitThunk
ntdll!RtlUserThreadStart
 
.  7  Id: 123c.684 Suspend: 0 Teb: 000000ab`04a8c000 Unfrozen
      Priority: 0  Priority class: 32
 
ntdll!NtWaitForSingleObject
KERNELBASE!WaitForSingleObjectEx
mysqld!handle_shutdown(void * arg = 0x00000000`00000000) [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\mysqld.cc @ 3749]
mysqld!pfs_spawn_thread(void * arg = 0x0000029c`e002f608) [C:\Users\jenkins\workspace\Source-Build-Test\src\storage\perfschema\pfs.cc @ 1871]
mysqld!pthread_start(void * p = 0x0000029c`e017f660) [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_winthread.c @ 61]
mysqld!thread_start<unsigned int (void * parameter = 0x0000029c`e0041af0) [minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 97]
kernel32!BaseThreadInitThunk
ntdll!RtlUserThreadStart
 
.  8  Id: 123c.62c Suspend: 0 Teb: 000000ab`04a8e000 Unfrozen
      Priority: 0  Priority class: 32
 
ntdll!ZwWaitForAlertByThreadId
ntdll!RtlSleepConditionVariableCS
KERNELBASE!SleepConditionVariableCS
mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff6`ae9a1b78, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff6`ae9a1b48, struct timespec * abstime = 0x00000000`00000000) [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_wincond.c @ 82]
mysqld!pthread_cond_wait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff6`ae9a1b78, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff6`ae9a1b48) [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_wincond.c @ 91]
mysqld!inline_mysql_cond_wait(struct st_mysql_cond * that = 0x00007ff6`ae9a1b78, struct st_mysql_mutex * mutex = 0x00007ff6`ae9a1b48, char * src_file = 0x00007ff6`ac8e5cf0 "C:\Users\jenkins\workspace\Source-Build-Test\src\sql\sql_manager.cc", unsigned int src_line = 0x66) [C:\Users\jenkins\workspace\Source-Build-Test\src\include\mysql\psi\mysql_thread.h @ 1174]
mysqld!handle_manager(void * arg = 0x00000000`00000000) [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\sql_manager.cc @ 102]
mysqld!pfs_spawn_thread(void * arg = 0x0000029c`e019e328) [C:\Users\jenkins\workspace\Source-Build-Test\src\storage\perfschema\pfs.cc @ 1871]
mysqld!pthread_start(void * p = 0x0000029c`e017f9c0) [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_winthread.c @ 61]
mysqld!thread_start<unsigned int (void * parameter = 0x0000029c`e0041b20) [minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 97]
kernel32!BaseThreadInitThunk
ntdll!RtlUserThreadStart
 
.  9  Id: 123c.d04 Suspend: 0 Teb: 000000ab`04a90000 Unfrozen
      Priority: 0  Priority class: 32
 
ntdll!NtWaitForSingleObject
mswsock!WSPStartup
mswsock!WSPStartup
ws2_32!select
mysqld!handle_connections_sockets(void) [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\mysqld.cc @ 6822]
mysqld!handle_connections_sockets_thread(void * arg = 0x00000000`00000000) [C:\Users\jenkins\workspace\Source-Build-Test\src\sql\mysqld.cc @ 7020]
mysqld!pfs_spawn_thread(void * arg = 0x0000029c`e0252a68) [C:\Users\jenkins\workspace\Source-Build-Test\src\storage\perfschema\pfs.cc @ 1871]
mysqld!pthread_start(void * p = 0x0000029c`e017f5a0) [C:\Users\jenkins\workspace\Source-Build-Test\src\mysys\my_winthread.c @ 61]
mysqld!thread_start<unsigned int (void * parameter = 0x0000029c`e0041be0) [minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 97]
kernel32!BaseThreadInitThunk
ntdll!RtlUserThreadStart
 
. 10  Id: 123c.a48 Suspend: 0 Teb: 000000ab`04a92000 Unfrozen
      Priority: 0  Priority class: 32
 
ntdll!NtGetContextThread
0xffffffff`00000000
 
Total threads: 11
Duplicate callstacks: 3 (windbg thread #s follow):
2, 3, 6
quit:

Reproducible on all of 10.3-10.9, different machines.
I didn't check 10.2 as it goes EOL anyway.
On a non-debug build the tests pass.



 Comments   
Comment by Vladislav Vaintroub [ 2023-09-27 ]

I removed "Windows" from the component, because the only Windows specific here is default for --thread-handling.

the test would fail the same on Linux, when mysqld is started with --thread-handling=pool-of-threads

perl mysql-test-run.pl main.compress --ps-protocol --mysqld=--thread-handling=pool-of-threads

Generated at Thu Feb 08 10:01:41 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.