Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-23112

gcol.innodb_virtual_debug fails, NULL pointer derefence in dict_col_get_no() in purge

    XMLWordPrintable

    Details

      Description

      http://buildbot.askmonty.org/buildbot/builders/winx64-debug/builds/19935/steps/test/logs/stdio

      Server log from this test:
      ----------SERVER LOG START-----------
      200707  7:31:06 [ERROR] mysqld got exception 0xc0000005 ;
      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.5.5-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 = 4576 K  bytes of memory
      Hope that's ok; if not, decrease some variables in the equation.
       
      Thread pointer: 0x2ad491bb0c8
      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...
      server.dll!dict_col_get_no()[dict0dict.ic:151]
      server.dll!row_upd_changes_ord_field_binary_func()[row0upd.cc:1381]
      server.dll!row_purge_upd_exist_or_extern_func()[row0purge.cc:755]
      server.dll!row_purge_record_func()[row0purge.cc:1071]
      server.dll!row_purge()[row0purge.cc:1109]
      server.dll!row_purge_step()[row0purge.cc:1160]
      server.dll!que_thr_step()[que0que.cc:947]
      server.dll!que_run_threads_low()[que0que.cc:1009]
      server.dll!que_run_threads()[que0que.cc:1051]
      server.dll!srv_task_execute()[srv0srv.cc:2031]
      server.dll!purge_worker_callback()[srv0srv.cc:2195]
      server.dll!tpool::task_group::execute()[task_group.cc:56]
      server.dll!tpool::task::execute()[task.cc:48]
      server.dll!tpool::thread_pool_win::task_callback()[tpool_win.cc:264]
      ntdll.dll!RtlNtStatusToDosErrorNoTeb()
      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): 0
      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=on,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on,not_null_range_scan=off
       
      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 D:\winx64-debug\build\mysql-test\var\1\mysqld.1\data\
      Minidump written to D:\winx64-debug\build\mysql-test\var\1\mysqld.1\data\mariadbd.dmp
      ----------SERVER LOG END-------------
       
       
       - found 'mariadbd.dmp' (0/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.16299.15 AMD64
      Copyright (c) Microsoft Corporation. All rights reserved.
       
       
      Loading Dump File [D:\winx64-debug\build\mysql-test\var\1\log\gcol.innodb_virtual_debug-innodb\mysqld.1\data\mariadbd.dmp]
      User Mini Dump File: Only registers, stack and portions of memory are available
       
       
      Response                         Time (ms)     Location
      OK                                             D:\winx64-debug\build\sql\Debug
      OK                                             C:\Windows\System32
      OK                                             .
       
      Response                         Time (ms)     Location
      OK                                             D:\winx64-debug\build\sql\Debug
      OK                                             C:\Windows\System32
      OK                                             .
      Deferred                                       cache*C:\cdb_symbols
      Symbol search path is: D:\winx64-debug\build\sql\Debug;C:\Windows\System32;.;cache*C:\cdb_symbols
      Executable search path is: D:\winx64-debug\build\sql\Debug;C:\Windows\System32;.
      Windows 10 Version 17763 MP (4 procs) Free x64
      Product: Server, suite: TerminalServer DataCenter SingleUserTS
      17763.1.amd64fre.rs5_release.180914-1434
      Machine Name:
      Debug session time: Tue Jul  7 07:31:06.000 2020 (UTC + 0:00)
      System Uptime: not available
      Process Uptime: 0 days 0:00:24.000
      ..................................
      This dump file has an exception of interest stored in it.
      The stored exception information can be accessed via .ecxr.
      (14c8.18bc): Access violation - code c0000005 (first/second chance not available)
      ntdll!NtGetContextThread:
                   ret
      0:014> cdb: Reading initial command '!sym prompts off; !analyze -v; .ecxr; !for_each_frame dv /t;!uniqstack -p;q'
      quiet mode - symbol prompts off
       
       
       
      DUMP_CLASS: 2
       
      DUMP_QUALIFIER: 400
       
      CONTEXT:  (.ecxr)
      rax=0000000000000000 rbx=000002ad4930f6e0 rcx=0000000000000000
      rdx=0000000000000000 rsi=000002ad4630abc0 rdi=000000f70c74e7a0
      rip=00007ffc5e274b4b rsp=000000f70c74e580 rbp=000000f70c74f888
       r8=000002ad46300b78  r9=0000000000000000 r10=00007ffc5fcb442c
      r11=000002ad49338458 r12=0000000000000000 r13=000002ad461ee640
      r14=0000000000000000 r15=000000000000022c
      iopl=0         nv up ei pl nz na pe nc
      cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010202
      server!dict_col_get_no:
               mov     eax,dword ptr [rax+8] ds:00000000`00000008=????????
      Resetting default scope
       
      FAULTING_IP: 
      server!dict_col_get_no+b [D:\winx64-debug\build\src\storage\innobase\include\dict0dict.ic @ 151]
               mov     eax,dword ptr [rax+8]
       
      EXCEPTION_RECORD:  (.exr -1)
      ExceptionAddress: 00007ffc5e274b4b (server!dict_col_get_no)
         ExceptionCode: c0000005 (Access violation)
        ExceptionFlags: 00000000
      NumberParameters: 2
         Parameter[0]: 0000000000000000
         Parameter[1]: 0000000000000008
      Attempt to read from address 0000000000000008
      

      all stacks stack traces

      rax=0000000000000000 rbx=000002ad4930f6e0 rcx=0000000000000000
      rdx=0000000000000000 rsi=000002ad4630abc0 rdi=000000f70c74e7a0
      rip=00007ffc5e274b4b rsp=000000f70c74e580 rbp=000000f70c74f888
       r8=000002ad46300b78  r9=0000000000000000 r10=00007ffc5fcb442c
      r11=000002ad49338458 r12=0000000000000000 r13=000002ad461ee640
      r14=0000000000000000 r15=000000000000022c
      iopl=0         nv up ei pl nz na pe nc
      cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010202
      server!dict_col_get_no:
               mov     eax,dword ptr [rax+8] ds:00000000`00000008=????????
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!dict_col_get_no [D:\winx64-debug\build\src\storage\innobase\include\dict0dict.ic @ 151]
      struct dict_col_t * col = 0x00000000`00000000
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!row_upd_changes_ord_field_binary_func [D:\winx64-debug\build\src\storage\innobase\row\row0upd.cc @ 1381]
      struct dict_col_t * col = 0x00000000`00000000
      struct dfield_t dfield_ext = struct dfield_t
      struct dict_field_t * ind_field = 0x000002ad`493162f0
      unsigned int64 col_no = 0xcccccccc`cccccccc
      unsigned int64 dfield_len = 0
      bool is_virtual = true
      unsigned char * buf = 0xcccccccc`cccccccc "--- memory read error at address 0xcccccccc`cccccccc ---"
      struct upd_field_t * upd_field = 0xcccccccc`cccccccc
      struct dict_v_col_t * vcol = 0x00000000`00000000
      struct dfield_t * dfield = 0xcccccccc`cccccccc
      struct dict_index_t * index = 0x000002ad`493c86f8
      struct upd_t * update = 0x000002ad`493ab768
      struct que_thr_t * thr = 0x000002ad`46300b78
      struct dtuple_t * row = 0x00000000`00000000
      struct row_ext_t * ext = 0x00000000`00000000
      unsigned int64 flag = 0
      unsigned int64 i = 0
      unsigned int64 n_unique = 2
      struct dict_index_t * clust_index = 0x000002ad`493c79f8
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!row_purge_upd_exist_or_extern_func [D:\winx64-debug\build\src\storage\innobase\row\row0purge.cc @ 755]
      struct que_thr_t * thr = 0x000002ad`46300b78
      struct purge_node_t * node = 0x000002ad`463026d8
      unsigned char * undo_rec = 0x000002ad`4630d708 "--- memory read error at address 0x000002ad`4630d708 ---"
      struct dict_index_t * index = 0xcccccccc`cccccccc
      struct mem_block_info_t * heap = 0x000002ad`49338458
      struct mtr_t mtr = struct mtr_t
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!row_purge_record_func [D:\winx64-debug\build\src\storage\innobase\row\row0purge.cc @ 1071]
      struct purge_node_t * node = 0x000002ad`463026d8
      unsigned char * undo_rec = 0x000002ad`4630d708 "--- memory read error at address 0x000002ad`4630d708 ---"
      struct que_thr_t * thr = 0x000002ad`46300b78
      bool updated_extern = false
      bool purged = true
      struct dict_index_t * clust_index = 0x000002ad`493c79f8
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!row_purge [D:\winx64-debug\build\src\storage\innobase\row\row0purge.cc @ 1109]
      bool purged = true
      bool updated_extern = false
      struct purge_node_t * node = 0x000002ad`463026d8
      unsigned char * undo_rec = 0x000002ad`4630d708 "--- memory read error at address 0x000002ad`4630d708 ---"
      struct que_thr_t * thr = 0x000002ad`46300b78
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!row_purge_step [D:\winx64-debug\build\src\storage\innobase\row\row0purge.cc @ 1160]
      struct trx_purge_rec_t purge_rec = struct trx_purge_rec_t
      struct que_thr_t * thr = 0x000002ad`46300b78
      struct purge_node_t * node = 0x000002ad`463026d8
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!que_thr_step [D:\winx64-debug\build\src\storage\innobase\que\que0que.cc @ 947]
      struct que_thr_t * thr = 0x000002ad`46300b78
      struct que_thr_t * old_thr = 0x000002ad`46300b78
      void * node = 0x000002ad`463026d8
      struct trx_t * trx = 0x000002ad`47e88060
      unsigned int64 type = 0xd
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!que_run_threads_low [D:\winx64-debug\build\src\storage\innobase\que\que0que.cc @ 1009]
      struct que_thr_t * thr = 0x000002ad`46300b78
      struct que_thr_t * next_thr = 0x000002ad`46300b78
      struct trx_t * trx = 0x000002ad`47e88060
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!que_run_threads [D:\winx64-debug\build\src\storage\innobase\que\que0que.cc @ 1051]
      struct que_thr_t * thr = 0x000002ad`46300b78
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!srv_task_execute [D:\winx64-debug\build\src\storage\innobase\srv\srv0srv.cc @ 2031]
      struct que_thr_t * thr = 0x000002ad`46300b78
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!purge_worker_callback [D:\winx64-debug\build\src\storage\innobase\srv\srv0srv.cc @ 2195]
      void * __formal = 0x00000000`00000000
      void * ctx = 0x000002ad`491c4b20
      class THD * thd = 0x000002ad`491bb0c8
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!tpool::task_group::execute [D:\winx64-debug\build\src\tpool\task_group.cc @ 56]
      class tpool::task_group * this = 0x00007ffc`61052570
      class tpool::task * t = 0x00007ffc`610526d0
      class std::unique_lock<std::mutex> lk = class std::unique_lock<std::mutex>
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!tpool::task::execute [D:\winx64-debug\build\src\tpool\task.cc @ 48]
      class tpool::task * this = 0x00007ffc`610526d0
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!tpool::thread_pool_win::task_callback [D:\winx64-debug\build\src\tpool\tpool_win.cc @ 264]
      struct _TP_CALLBACK_INSTANCE * __formal = 0x000000f7`0c74f888
      void * param = 0x000002ad`461ee610
      struct tpool::thread_pool_win::task_cache_entry * entry = 0x000002ad`461ee610
      class tpool::task * task = 0x00007ffc`610526d0
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      ntdll!RtlNtStatusToDosErrorNoTeb
      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 0n87
      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.
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      server!dict_col_get_no [D:\winx64-debug\build\src\storage\innobase\include\dict0dict.ic @ 151]
      Processing 16 threads, please wait
       
      .  0  Id: 14c8.1e0c Suspend: 0 Teb: 000000f7`0b868000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!ZwWaitForMultipleObjects
      KERNELBASE!WaitForMultipleObjectsEx
      KERNELBASE!WaitForMultipleObjects
      server!handle_connections_win(void) [D:\winx64-debug\build\src\sql\handle_connections_win.cc @ 537]
      server!win_main(int argc = 0n163, char ** argv = 0x000002ad`4256a380) [D:\winx64-debug\build\src\sql\mysqld.cc @ 5673]
      server!mysql_service(void * p = 0x00000000`00000000) [D:\winx64-debug\build\src\sql\mysqld.cc @ 5740]
      server!mysqld_main(int argc = 0n23, char ** argv = 0x000002ad`425570c0) [D:\winx64-debug\build\src\sql\mysqld.cc @ 5958]
      mariadbd!main(int argc = 0n23, char ** argv = 0x000002ad`425570c0) [D:\winx64-debug\build\src\sql\main.cc @ 26]
      (Inline Function) --------`-------- mariadbd!invoke_main [d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 78]
      mariadbd!__scrt_common_main_seh(void) [d:\agent\_work\4\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl @ 288]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      .  1  Id: 14c8.1b64 Suspend: 0 Teb: 000000f7`0b86a000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForWorkViaWorkerFactory
      ntdll!RtlReleaseSRWLockExclusive
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      .  3  Id: 14c8.fec Suspend: 0 Teb: 000000f7`0b86e000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!ZwWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      server!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ffc`606592b0, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ffc`60659280, struct timespec * abstime = 0x000000f7`0bdffc48) [D:\winx64-debug\build\src\mysys\my_wincond.c @ 82]
      server!inline_mysql_cond_timedwait(struct st_mysql_cond * that = 0x00007ffc`606592b0, struct st_mysql_mutex * mutex = 0x00007ffc`60659280, struct timespec * abstime = 0x000000f7`0bdffc48, char * src_file = 0x00007ffc`603127a8 "--- memory read error at address 0x00007ffc`603127a8 ---", unsigned int src_line = 0x141) [D:\winx64-debug\build\src\include\mysql\psi\mysql_thread.h @ 1257]
      server!timer_handler(void * arg = 0x00000000`00000000) [D:\winx64-debug\build\src\mysys\thr_timer.c @ 322]
      server!pfs_spawn_thread(void * arg = 0x000002ad`435e7ff8) [D:\winx64-debug\build\src\storage\perfschema\pfs.cc @ 2203]
      server!pthread_start(void * p = 0x000002ad`42554b40) [D:\winx64-debug\build\src\mysys\my_winthread.c @ 61]
      ucrtbase!thread_start<unsigned int 
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      .  4  Id: 14c8.bfc Suspend: 0 Teb: 000000f7`0b870000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!ZwWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      server!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ffc`60ff9f20, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ffc`60ff9ef0, struct timespec * abstime = 0x000000f7`0beff728) [D:\winx64-debug\build\src\mysys\my_wincond.c @ 82]
      server!inline_mysql_cond_timedwait(struct st_mysql_cond * that = 0x00007ffc`60ff9f20, struct st_mysql_mutex * mutex = 0x00007ffc`60ff9ef0, struct timespec * abstime = 0x000000f7`0beff728, char * src_file = 0x00007ffc`605b26a0 "--- memory read error at address 0x00007ffc`605b26a0 ---", unsigned int src_line = 0x74) [D:\winx64-debug\build\src\include\mysql\psi\mysql_thread.h @ 1257]
      server!my_service_thread_sleep(struct st_ma_service_thread_control * control = 0x00007ffc`6056feb8, unsigned int64 sleep_time = 0x00000006`c088e200) [D:\winx64-debug\build\src\storage\maria\ma_servicethread.c @ 119]
      server!ma_checkpoint_background(void * arg = 0x00000000`0000001e) [D:\winx64-debug\build\src\storage\maria\ma_checkpoint.c @ 707]
      server!pfs_spawn_thread(void * arg = 0x000002ad`46180728) [D:\winx64-debug\build\src\storage\perfschema\pfs.cc @ 2203]
      server!pthread_start(void * p = 0x000002ad`42554d00) [D:\winx64-debug\build\src\mysys\my_winthread.c @ 61]
      ucrtbase!thread_start<unsigned int 
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      .  6  Id: 14c8.1e88 Suspend: 0 Teb: 000000f7`0b874000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!ZwWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      server!os_event::timed_wait(unsigned long time_in_ms = 0x2ef) [D:\winx64-debug\build\src\storage\innobase\os\os0event.cc @ 251]
      server!os_event::wait_time_low(unsigned int64 time_in_usec = 0xb7598, int64 reset_sig_count = 0n2) [D:\winx64-debug\build\src\storage\innobase\os\os0event.cc @ 387]
      server!os_event_wait_time_low(struct os_event * event = 0x000002ad`461eee38, unsigned int64 time_in_usec = 0xb7598, int64 reset_sig_count = 0n2) [D:\winx64-debug\build\src\storage\innobase\os\os0event.cc @ 486]
      server!pc_sleep_if_needed(unsigned int64 next_loop_time = 0x69c00843, int64 sig_count = 0n2, unsigned int64 cur_time = 0x69c00554) [D:\winx64-debug\build\src\storage\innobase\buf\buf0flu.cc @ 2308]
      server!buf_flush_page_cleaner(void * __formal = 0x00000000`00000000) [D:\winx64-debug\build\src\storage\innobase\buf\buf0flu.cc @ 2590]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      .  7  Id: 14c8.16f4 Suspend: 0 Teb: 000000f7`0b878000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!ZwWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableSRW
      KERNELBASE!SleepConditionVariableSRW
      server!__crtSleepConditionVariableSRW(struct _RTL_CONDITION_VARIABLE * pCond = <Value unavailable error>, struct _RTL_SRWLOCK * pLock = <Value unavailable error>, unsigned long dwMs = <Value unavailable error>, unsigned long flags = <Value unavailable error>) [d:\agent\_work\4\s\src\vctools\crt\github\stl\src\winapisupp.cpp @ 482]
      (Inline Function) --------`-------- server!Concurrency::details::stl_condition_variable_win7::wait_for [d:\agent\_work\4\s\src\vctools\crt\github\stl\src\primitives.h @ 179]
      server!Concurrency::details::stl_condition_variable_win7::wait(class Concurrency::details::stl_critical_section_interface * lock = <Value unavailable error>) [d:\agent\_work\4\s\src\vctools\crt\github\stl\src\primitives.h @ 173]
      server!do_wait(struct _Cnd_internal_imp_t * cond = 0x00007ffc`61052740, struct _Mtx_internal_imp_t * mtx = 0x00007ffc`610526f0, struct xtime * target = 0x00000000`00000000) [d:\agent\_work\4\s\src\vctools\crt\github\stl\src\cond.cpp @ 62]
      server!std::condition_variable::wait(class std::unique_lock<std::mutex> * _Lck = 0x000000f7`0c2ff158) [C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\include\mutex @ 598]
      server!tpool::waitable_task::wait(class std::unique_lock<std::mutex> * lk = 0x000000f7`0c2ff158) [D:\winx64-debug\build\src\tpool\task.cc @ 79]
      server!tpool::waitable_task::wait(void) [D:\winx64-debug\build\src\tpool\task.cc @ 85]
      server!trx_purge_wait_for_workers_to_complete(void) [D:\winx64-debug\build\src\storage\innobase\trx\trx0purge.cc @ 1258]
      server!trx_purge(unsigned int64 n_tasks = 4, bool truncate = false) [D:\winx64-debug\build\src\storage\innobase\trx\trx0purge.cc @ 1305]
      server!srv_do_purge(unsigned int64 * n_total_purged = 0x000000f7`0c2ff2d8) [D:\winx64-debug\build\src\storage\innobase\srv\srv0srv.cc @ 2122]
      server!purge_coordinator_callback_low(void) [D:\winx64-debug\build\src\storage\innobase\srv\srv0srv.cc @ 2212]
      server!purge_coordinator_callback(void * __formal = 0x00000000`00000000) [D:\winx64-debug\build\src\storage\innobase\srv\srv0srv.cc @ 2242]
      server!tpool::task_group::execute(class tpool::task * t = 0x00007ffc`610527a0) [D:\winx64-debug\build\src\tpool\task_group.cc @ 56]
      server!tpool::task::execute(void) [D:\winx64-debug\build\src\tpool\task.cc @ 48]
      server!tpool::thread_pool_win::task_callback(struct _TP_CALLBACK_INSTANCE * __formal = 0x000000f7`0c2ff5d8, void * param = 0x000002ad`461ee610) [D:\winx64-debug\build\src\tpool\tpool_win.cc @ 264]
      ntdll!RtlNtStatusToDosErrorNoTeb
      ntdll!RtlReleaseSRWLockExclusive
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 11  Id: 14c8.83c Suspend: 0 Teb: 000000f7`0b882000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!ZwWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      server!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ffc`60609c68, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ffc`60609a90, struct timespec * abstime = 0x00000000`00000000) [D:\winx64-debug\build\src\mysys\my_wincond.c @ 82]
      server!pthread_cond_wait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ffc`60609c68, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ffc`60609a90) [D:\winx64-debug\build\src\mysys\my_wincond.c @ 91]
      server!inline_mysql_cond_wait(struct st_mysql_cond * that = 0x00007ffc`60609c68, struct st_mysql_mutex * mutex = 0x00007ffc`60609a90, char * src_file = 0x00007ffc`5e949cf0 "D:\winx64-debug\build\src\sql\slave.cc", unsigned int src_line = 0x20d) [D:\winx64-debug\build\src\include\mysql\psi\mysql_thread.h @ 1220]
      server!handle_slave_background(void * arg = 0x00000000`00000000) [D:\winx64-debug\build\src\sql\slave.cc @ 526]
      server!pfs_spawn_thread(void * arg = 0x000002ad`4924ba78) [D:\winx64-debug\build\src\storage\perfschema\pfs.cc @ 2203]
      server!pthread_start(void * p = 0x000002ad`4630ad50) [D:\winx64-debug\build\src\mysys\my_winthread.c @ 61]
      ucrtbase!thread_start<unsigned int 
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 12  Id: 14c8.143c Suspend: 0 Teb: 000000f7`0b884000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!ZwWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      server!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x000002ad`4932f638, struct _RTL_CRITICAL_SECTION * mutex = 0x000002ad`4932f608, struct timespec * abstime = 0x000000f7`0b7ecd68) [D:\winx64-debug\build\src\mysys\my_wincond.c @ 82]
      server!inline_mysql_cond_timedwait(struct st_mysql_cond * that = 0x000002ad`4932f638, struct st_mysql_mutex * mutex = 0x000002ad`4932f608, struct timespec * abstime = 0x000000f7`0b7ecd68, char * src_file = 0x00007ffc`5eafdbc8 "D:\winx64-debug\build\src\sql\mdl.cc", unsigned int src_line = 0x48f) [D:\winx64-debug\build\src\include\mysql\psi\mysql_thread.h @ 1257]
      server!MDL_wait::timed_wait(class MDL_context_owner * owner = 0x000002ad`4932f598, struct timespec * abs_timeout = 0x000000f7`0b7ecd68, bool set_status_on_timeout = false, struct PSI_stage_info_v1 * wait_state_name = 0x00007ffc`602f0c30) [D:\winx64-debug\build\src\sql\mdl.cc @ 1166]
      server!MDL_context::acquire_lock(class MDL_request * mdl_request = 0x000002ad`49339910, double lock_wait_timeout = 86400) [D:\winx64-debug\build\src\sql\mdl.cc @ 2332]
      server!MDL_context::acquire_locks(class I_P_List<MDL_request,I_P_List_adapter<MDL_request,8,16>,I_P_List_counter,I_P_List_no_push_back<MDL_request> > * mdl_requests = 0x000000f7`0b7ecf18, double lock_wait_timeout = 86400) [D:\winx64-debug\build\src\sql\mdl.cc @ 2459]
      server!lock_table_names(class THD * thd = 0x000002ad`4932f4e8, struct DDL_options_st * options = 0x000002ad`49333d80, struct TABLE_LIST * tables_start = 0x000002ad`493394c8, struct TABLE_LIST * tables_end = 0x00000000`00000000, unsigned long lock_wait_timeout = 0x15180, unsigned int flags = 0) [D:\winx64-debug\build\src\sql\sql_base.cc @ 4022]
      server!lock_table_names(class THD * thd = 0x000002ad`4932f4e8, struct TABLE_LIST * table_list = 0x000002ad`493394c8, struct TABLE_LIST * table_list_end = 0x00000000`00000000, unsigned long lock_wait_timeout = 0x15180, unsigned int flags = 0) [D:\winx64-debug\build\src\sql\sql_base.h @ 254]
      server!mysql_rm_table(class THD * thd = 0x000002ad`4932f4e8, struct TABLE_LIST * tables = 0x000002ad`493394c8, bool if_exists = false, bool drop_temporary = false, bool drop_sequence = false, bool dont_log_query = false) [D:\winx64-debug\build\src\sql\sql_table.cc @ 2088]
      server!mysql_execute_command(class THD * thd = 0x000002ad`4932f4e8) [D:\winx64-debug\build\src\sql\sql_parse.cc @ 4921]
      server!mysql_parse(class THD * thd = 0x000002ad`4932f4e8, char * rawbuf = 0x000002ad`49339410 "--- memory read error at address 0x000002ad`49339410 ---", unsigned int length = 0xc, class Parser_state * parser_state = 0x000000f7`0b7eea30, bool is_com_multi = false, bool is_next_command = false) [D:\winx64-debug\build\src\sql\sql_parse.cc @ 7993]
      server!dispatch_command(enum_server_command command = COM_QUERY (0n3), class THD * thd = 0x000002ad`4932f4e8, char * packet = 0x000002ad`492a9719 "--- memory read error at address 0x000002ad`492a9719 ---", unsigned int packet_length = 0xc, bool is_com_multi = false, bool is_next_command = false) [D:\winx64-debug\build\src\sql\sql_parse.cc @ 1869]
      server!do_command(class THD * thd = 0x000002ad`4932f4e8) [D:\winx64-debug\build\src\sql\sql_parse.cc @ 1347]
      server!threadpool_process_request(class THD * thd = 0x000002ad`4932f4e8) [D:\winx64-debug\build\src\sql\threadpool_common.cc @ 354]
      server!tp_callback(struct TP_connection * c = 0x000002ad`4932ee60) [D:\winx64-debug\build\src\sql\threadpool_common.cc @ 194]
      server!tp_callback(struct _TP_CALLBACK_INSTANCE * instance = 0x000000f7`0b7ef9d8, void * context = 0x000002ad`4932ee60) [D:\winx64-debug\build\src\sql\threadpool_win.cc @ 343]
      server!work_callback(struct _TP_CALLBACK_INSTANCE * instance = 0x000000f7`0b7ef9d8, void * context = 0x000002ad`4932ee60, struct _TP_WORK * work = 0x000002ad`4930ffe0) [D:\winx64-debug\build\src\sql\threadpool_win.cc @ 394]
      ntdll!RtlInitializeCriticalSection
      ntdll!RtlReleaseSRWLockExclusive
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 14  Id: 14c8.18bc Suspend: 0 Teb: 000000f7`0b888000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtGetContextThread
      0xffffffff`00000000
       
      Total threads: 16
      Duplicate callstacks: 7 (windbg thread #s follow):
      2, 5, 8, 9, 10, 13, 15
      quit:
       
      
      

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              Unassigned Unassigned
              Reporter:
              wlad Vladislav Vaintroub
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration