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

Error:Run-Time Check Failure #2 - Stack around the variable 'key_buff' was corrupted, server crashes in opt_sum_query

Details

    • Bug
    • Status: Closed (View Workflow)
    • Critical
    • Resolution: Fixed
    • 10.2(EOL)
    • 10.1.24
    • Optimizer
    • Windows
    • 10.1.24

    Description

      Test case

      --source include/have_innodb.inc
       
      CREATE TABLE t (
        pk INT, 
        f1 VARCHAR(3), 
        f2 VARCHAR(1024), 
        PRIMARY KEY (pk), 
        KEY(f2)
      ) ENGINE=InnoDB CHARSET utf8;
       
      INSERT INTO t VALUES (1,'foo','abc'),(2,'bar','def');
      SELECT MAX(t1.pk) FROM t t1 INNER JOIN t t2 ON t1.f1 = t2.f1 WHERE t1.pk <= 4;
      

      10.2 92f18bded

      >	mysqld.exe!handle_rtc_failure(int err_type, const char * file, int line, const char * module, const char * format, ...) Line 284	C
       	[External Code]	
       	mysqld.exe!opt_sum_query(THD * thd, List<TABLE_LIST> & tables, List<Item> & all_fields, Item * conds) Line 482	C++
       	mysqld.exe!JOIN::optimize_inner() Line 1429	C++
       	mysqld.exe!JOIN::optimize() Line 1084	C++
       	mysqld.exe!mysql_select(THD * thd, TABLE_LIST * tables, unsigned int wild_num, List<Item> & fields, Item * conds, unsigned int og_num, st_order * order, st_order * group, Item * having, st_order * proc_param, unsigned __int64 select_options, select_result * result, st_select_lex_unit * unit, st_select_lex * select_lex) Line 3644	C++
       	mysqld.exe!handle_select(THD * thd, LEX * lex, select_result * result, unsigned long setup_tables_done_option) Line 361	C++
       	mysqld.exe!execute_sqlcom_select(THD * thd, TABLE_LIST * all_tables) Line 6415	C++
       	mysqld.exe!mysql_execute_command(THD * thd) Line 3448	C++
       	mysqld.exe!mysql_parse(THD * thd, char * rawbuf, unsigned int length, Parser_state * parser_state, bool is_com_multi, bool is_next_command) Line 7858	C++
       	mysqld.exe!dispatch_command(enum_server_command command, THD * thd, char * packet, unsigned int packet_length, bool is_com_multi, bool is_next_command) Line 1814	C++
       	mysqld.exe!do_command(THD * thd) Line 1361	C++
       	mysqld.exe!threadpool_process_request(THD * thd) Line 346	C++
       	mysqld.exe!tp_callback(TP_connection * c) Line 192	C++
       	mysqld.exe!tp_callback(_TP_CALLBACK_INSTANCE * instance, void * context) Line 378	C++
       	mysqld.exe!work_callback(_TP_CALLBACK_INSTANCE * instance, void * context, _TP_WORK * work) Line 452	C++
       	[External Code]	
      

      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.14321.1024 AMD64
      Copyright (c) Microsoft Corporation. All rights reserved.
       
       
      Loading Dump File [E:\elenst\10.2\mysql-test\var\log\main.t1-innodb\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\apppatch\AppPatch64
      OK                                             C:\Windows\System32
      OK                                             C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
      OK                                             E:\elenst\10.2\sql\Debug
      OK                                             .
       
      Response                         Time (ms)     Location
      OK                                             C:\Windows\apppatch\AppPatch64
      OK                                             C:\Windows\System32
      OK                                             C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
      OK                                             E:\elenst\10.2\sql\Debug
      OK                                             .
      Deferred                                       srv*C:\cdb_symbols*http://msdl.microsoft.com/download/symbols
      Symbol search path is: C:\Windows\apppatch\AppPatch64;C:\Windows\System32;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64;E:\elenst\10.2\sql\Debug;.;srv*C:\cdb_symbols*http://msdl.microsoft.com/download/symbols
      Executable search path is: C:\Windows\apppatch\AppPatch64;C:\Windows\System32;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64;E:\elenst\10.2\sql\Debug;.
      Windows 8.1 Version 9600 MP (4 procs) Free x64
      Product: Server, suite: TerminalServer DataCenter SingleUserTS
      Built by: 6.3.9600.17031 (winblue_gdr.140221-1952)
      Machine Name:
      Debug session time: Thu Mar 23 14:26:23.000 2017 (UTC + 0:00)
      System Uptime: not available
      Process Uptime: 0 days 0:00:08.000
      ....................................................
      This dump file has a breakpoint exception stored in it.
      The stored exception information can be accessed via .ecxr.
      ntdll!NtGetContextThread:
                   ret
      0:024> 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=00000073ae83a270 rcx=00000000ffffffff
      rdx=00007ff79de25740 rsi=00007ff79d911038 rdi=00000073ae839f60
      rip=00007ff79c1fe484 rsp=00000073ae839ab0 rbp=0000000000000002
       r8=00000073ae8382f8  r9=0000000000000002 r10=0000000000000000
      r11=0000000000000246 r12=0000000000000001 r13=0000000000000000
      r14=00007ff79c1fe3f0 r15=00000073ae83aa00
      iopl=0         nv up ei pl nz na pe nc
      cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000202
      mysqld!handle_rtc_failure:
                   int     3
      Resetting default scope
       
      FAULTING_IP: 
      mysqld!handle_rtc_failure+94 [e:\elenst\10.2\mysys\my_init.c @ 284]
                   int     3
       
      EXCEPTION_RECORD:  (.exr -1)
      ExceptionAddress: 00007ff79c1fe484 (mysqld!handle_rtc_failure)
         ExceptionCode: 80000003 (Break instruction exception)
        ExceptionFlags: 00000000
      NumberParameters: 1
         Parameter[0]: 0000000000000000
       
      DEFAULT_BUCKET_ID:  STATUS_BREAKPOINT
       
      PROCESS_NAME:  mysqld.exe
       
      ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION}  Breakpoint  A breakpoint has been reached.
       
      EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid
       
      EXCEPTION_CODE_STR:  80000003
       
      EXCEPTION_PARAMETER1:  0000000000000000
       
      WATSON_BKT_PROCSTAMP:  58d300e2
       
      WATSON_BKT_PROCVER:  10.2.5.0
       
      WATSON_BKT_MODULE:  mysqld.exe
       
      WATSON_BKT_MODSTAMP:  58d300e2
       
      WATSON_BKT_MODOFFSET:  d1e484
       
      WATSON_BKT_MODVER:  10.2.5.0
       
      BUILD_VERSION_STRING:  6.3.9600.17415 (winblue_r4.141028-1500)
       
      MODLIST_WITH_TSCHKSUM_HASH:  4650ac00956dd4e15833ce493be3c2dbe8d54100
       
      MODLIST_SHA1_HASH:  e704c60c01ad350414df387156d9ca046d10a80c
       
      DUMP_FLAGS:  0
       
      DUMP_TYPE:  2
       
      ANALYSIS_SESSION_HOST:  MARIADB-04
       
      ANALYSIS_SESSION_TIME:  03-23-2017 14:26:27.0107
       
      ANALYSIS_VERSION: 10.0.14321.1024 amd64fre
       
      THREAD_ATTRIBUTES: 
      PROBLEM_CLASSES: 
       
       
       
       
          Tid    [0x0]
          Frame  [0x00]
          String [STATUS_BREAKPOINT]
          Data Bucketing
       
       
      BUGCHECK_STR:  STATUS_BREAKPOINT
       
      LAST_CONTROL_TRANSFER:  from 00007ff79c37a70b to 00007ff79c1fe484
       
      STACK_TEXT:  
      mysqld!handle_rtc_failure
      mysqld!failwithmessage
      mysqld!_RTC_StackFailure
      mysqld!_RTC_CheckStackVars
      mysqld!opt_sum_query
      mysqld!JOIN::optimize_inner
      mysqld!JOIN::optimize
      mysqld!mysql_select
      mysqld!handle_select
      mysqld!execute_sqlcom_select
      mysqld!mysql_execute_command
      mysqld!mysql_parse
      mysqld!dispatch_command
      mysqld!do_command
      mysqld!threadpool_process_request
      mysqld!tp_callback
      mysqld!tp_callback
      mysqld!work_callback
      ntdll!TppWorkpExecuteCallback
      ntdll!TppWorkerThread
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
       
      THREAD_SHA1_HASH_MOD_FUNC:  ebe44e95c2cc3450e31aac551b553f68da5d6b6e
       
      THREAD_SHA1_HASH_MOD_FUNC_OFFSET:  9f9b5655fcaf8d2d5d938997451537afda76b76b
       
      THREAD_SHA1_HASH_MOD:  bd6a785a2bcd80eb206fd98087c57c956fe18623
       
      FOLLOWUP_IP: 
      mysqld!handle_rtc_failure+94 [e:\elenst\10.2\mysys\my_init.c @ 284]
                   int     3
       
      FAULT_INSTR_CODE:  48c033cc
       
      FAULTING_SOURCE_LINE:  e:\elenst\10.2\mysys\my_init.c
       
      FAULTING_SOURCE_FILE:  e:\elenst\10.2\mysys\my_init.c
       
      FAULTING_SOURCE_LINE_NUMBER:  284
       
      FAULTING_SOURCE_CODE:  
         280:   vfprintf(stderr, format, args);
         281:   fprintf(stderr, " At %s:%d\n", file, line);
         282:   va_end(args);
         283:   (void) fflush(stderr);
      >  284:   __debugbreak();
         285: 
         286:   return 0; /* Error is handled */
         287: }
         288: #pragma runtime_checks("", restore)
         289: #endif
       
       
      SYMBOL_STACK_INDEX:  0
       
      SYMBOL_NAME:  mysqld!handle_rtc_failure+94
       
      FOLLOWUP_NAME:  MachineOwner
       
      MODULE_NAME: mysqld
       
      IMAGE_NAME:  mysqld.exe
       
      DEBUG_FLR_IMAGE_TIMESTAMP:  58d300e2
       
      STACK_COMMAND:  .ecxr ; kb
       
      BUCKET_ID:  STATUS_BREAKPOINT_mysqld!handle_rtc_failure+94
       
      PRIMARY_PROBLEM_CLASS:  STATUS_BREAKPOINT_mysqld!handle_rtc_failure+94
       
      FAILURE_EXCEPTION_CODE:  80000003
       
      FAILURE_IMAGE_NAME:  mysqld.exe
       
      BUCKET_ID_IMAGE_STR:  mysqld.exe
       
      FAILURE_MODULE_NAME:  mysqld
       
      BUCKET_ID_MODULE_STR:  mysqld
       
      FAILURE_FUNCTION_NAME:  handle_rtc_failure
       
      BUCKET_ID_FUNCTION_STR:  handle_rtc_failure
       
      BUCKET_ID_OFFSET:  94
       
      BUCKET_ID_MODTIMEDATESTAMP:  58d300e2
       
      BUCKET_ID_MODCHECKSUM:  0
       
      BUCKET_ID_MODVER_STR:  10.2.5.0
       
      BUCKET_ID_PREFIX_STR:  STATUS_BREAKPOINT_
       
      FAILURE_PROBLEM_CLASS:  STATUS_BREAKPOINT
       
      FAILURE_SYMBOL_NAME:  mysqld.exe!handle_rtc_failure
       
      FAILURE_BUCKET_ID:  STATUS_BREAKPOINT_80000003_mysqld.exe!handle_rtc_failure
       
      WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/mysqld.exe/10.2.5.0/58d300e2/mysqld.exe/10.2.5.0/58d300e2/80000003/00d1e484.htm?Retriage=1
       
      TARGET_TIME:  2017-03-23T14:26:23.000Z
       
      OSBUILD:  9600
       
      OSSERVICEPACK:  17415
       
      SERVICEPACK_NUMBER: 0
       
      OS_REVISION: 0
       
      SUITE_MASK:  400
       
      PRODUCT_TYPE:  3
       
      OSPLATFORM_TYPE:  x64
       
      OSNAME:  Windows 8.1
       
      OSEDITION:  Windows 8.1 Server TerminalServer DataCenter SingleUserTS
       
      OS_LOCALE:  
       
      USER_LCID:  0
       
      OSBUILD_TIMESTAMP:  2014-10-29 02:45:30
       
      BUILDDATESTAMP_STR:  141028-1500
       
      BUILDLAB_STR:  winblue_r4
       
      BUILDOSVER_STR:  6.3.9600.17415
       
      ANALYSIS_SESSION_ELAPSED_TIME: 8d9
       
      ANALYSIS_SOURCE:  UM
       
      FAILURE_ID_HASH_STRING:  um:status_breakpoint_80000003_mysqld.exe!handle_rtc_failure
       
      FAILURE_ID_HASH:  {2831681c-542c-7edc-d88e-5c36b63cf6d3}
       
      Followup:     MachineOwner
      ---------
       
      rax=0000000000000000 rbx=00000073ae83a270 rcx=00000000ffffffff
      rdx=00007ff79de25740 rsi=00007ff79d911038 rdi=00000073ae839f60
      rip=00007ff79c1fe484 rsp=00000073ae839ab0 rbp=0000000000000002
       r8=00000073ae8382f8  r9=0000000000000002 r10=0000000000000000
      r11=0000000000000246 r12=0000000000000001 r13=0000000000000000
      r14=00007ff79c1fe3f0 r15=00000073ae83aa00
      iopl=0         nv up ei pl nz na pe nc
      cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00000202
      mysqld!handle_rtc_failure:
                   int     3
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!handle_rtc_failure [e:\elenst\10.2\mysys\my_init.c @ 284]
      int err_type = 0n1
      char * file = 0x00000073`ae839f60 "e:\elenst\10.2\sql\opt_sum.cc"
      int line = 0n482
      char * module = 0x00000073`ae83a270 "E:\elenst\10.2\sql\Debug\mysqld.exe"
      char * format = 0x00007ff7`9d911050 "Run-Time Check Failure #%d - %s"
      char * args = 0x00000000`00000000 ""
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!failwithmessage
      void * retaddr = 0x00000073`ae839f60
      int crttype = 0n1
      int errnum = 0n2
      char * msg = 0x00000073`ae83aa00 "Stack around the variable 'key_buff' was corrupted."
      wchar_t * msgW = 0x00007ff7`9d911038 "??????"
      int bufsize = <value unavailable>
      bool dobreak = <value unavailable>
      wchar_t [512] msgB = wchar_t [512] "Stack around the variable 'key_buff' was corrupted."
      <function> * fnW = 0x00000073`ae83a270
      <function> * fn = 0x00007ff7`9c1fe3f0
      int lineNum = 0n482
      wchar_t [260] moduleNameW = wchar_t [260] "E:\elenst\10.2\sql\Debug\mysqld.exe"
      wchar_t [260] srcNameW = wchar_t [260] "e:\elenst\10.2\sql\opt_sum.cc"
      char * moduleName = 0x00000073`ae83a270 "E:\elenst\10.2\sql\Debug\mysqld.exe"
      char * srcName = 0x00000073`ae839f60 "e:\elenst\10.2\sql\opt_sum.cc"
      char [778] srcNameB = char [778] "e:\elenst\10.2\sql\opt_sum.cc"
      char [778] moduleNameB = char [778] "E:\elenst\10.2\sql\Debug\mysqld.exe"
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!_RTC_StackFailure
      void * retaddr = 0x00007ff7`9badcdbf
      char * varname = 0x00007ff7`9c7f3030 "key_buff"
      int crttype = 0n1
      char [1024] msgB = char [1024] "Stack around the variable 'key_buff' was corrupted."
      char * msg = <value unavailable>
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!_RTC_CheckStackVars
      void * frame = 0x00000073`ae83ae50
      struct _RTC_framedesc * v = 0x00007ff7`9c7f3220
      int i = 0n3
      int * head = 0x00000000`00000000
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!opt_sum_query [e:\elenst\10.2\sql\opt_sum.cc @ 482]
      class THD * thd = 0x00000073`a9ecd6e8
      class List<TABLE_LIST> * tables = 0x00000073`a9ed1078
      class List<Item> * all_fields = 0x00000073`ad661158
      class Item * conds = 0x00000073`ad661720
      class List_iterator_fast<Item> it = class List_iterator_fast<Item>
      struct TABLE_LIST * tl = 0x00000000`00000000
      unsigned int64 outer_tables = 0
      unsigned int64 where_tables = 3
      class Item * item = 0x00000000`00000000
      unsigned int64 count = 1
      struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
      bool recalc_const_item = false
      bool maybe_exact_count = false
      bool is_exact_count = false
      class List_iterator<TABLE_LIST> ti = class List_iterator<TABLE_LIST>
      unsigned int64 removed_tables = 0
      int error = 0n0
      int const_result = 0n0
      unsigned int64 used_tables = 3
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!JOIN::optimize_inner [e:\elenst\10.2\sql\sql_select.cc @ 1429]
      int res = 0n-858993460
      class JOIN * this = 0x00000073`ad660e48
      class st_select_lex * sel = 0x00000073`a9ed0ea8
      unsigned int64 select_opts_for_readinfo = 0xcccccccc`cccccccc
      struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
      int res = 0n-858993460
      struct st_join_table * tab = 0xcccccccc`cccccccc
      unsigned int no_jbuf_after = 0xcccccccc
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!JOIN::optimize [e:\elenst\10.2\sql\sql_select.cc @ 1084]
      class JOIN * this = 0x00000073`ad660e48
      int res = 0n-858993460
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!mysql_select [e:\elenst\10.2\sql\sql_select.cc @ 3644]
      class THD * thd = 0x00000073`a9ecd6e8
      struct TABLE_LIST * tables = 0x00000073`ad65f370
      unsigned int wild_num = 0
      class List<Item> * fields = 0x00000073`a9ed0fd0
      class Item * conds = 0x00000073`ad660bf0
      unsigned int og_num = 0
      struct st_order * order = 0x00000000`00000000
      struct st_order * group = 0x00000000`00000000
      class Item * having = 0x00000000`00000000
      struct st_order * proc_param = 0x00000000`00000000
      unsigned int64 select_options = 0x80040b00
      class select_result * result = 0x00000073`ad660e28
      class st_select_lex_unit * unit = 0x00000073`a9ed0790
      class st_select_lex * select_lex = 0x00000073`a9ed0ea8
      int err = 0n0
      struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
      bool free_join = true
      class JOIN * join = 0x00000073`ad660e48
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!handle_select [e:\elenst\10.2\sql\sql_select.cc @ 361]
      class st_select_lex_unit * unit = 0x00000073`a9ed0790
      class THD * thd = 0x00000073`a9ecd6e8
      struct LEX * lex = 0x00000073`a9ed06d0
      class select_result * result = 0x00000073`ad660e28
      unsigned long setup_tables_done_option = 0
      bool res = true
      struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
      class st_select_lex * select_lex = 0x00000073`a9ed0ea8
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!execute_sqlcom_select [e:\elenst\10.2\sql\sql_parse.cc @ 6415]
      class Protocol * save_protocol = 0x00000000`00000000
      class THD * thd = 0x00000073`a9ecd6e8
      struct TABLE_LIST * all_tables = 0x00000073`ad65f370
      bool res = false
      struct LEX * lex = 0x00000073`a9ed06d0
      class select_result * result = 0x00000073`ad660e28
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!mysql_execute_command [e:\elenst\10.2\sql\sql_parse.cc @ 3448]
      unsigned long privileges_requested = 1
      class THD * thd = 0x00000073`a9ecd6e8
      struct TABLE_LIST * all_tables = 0x00000073`ad65f370
      class st_select_lex_unit * unit = 0x00000073`a9ed0790
      bool have_table_map_for_update = false
      enum_binlog_format orig_current_stmt_binlog_format = BINLOG_FORMAT_STMT (0n1)
      int up_result = 0n0
      int res = 0n0
      struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
      enum_binlog_format orig_binlog_format = BINLOG_FORMAT_MIXED (0n0)
      class Rpl_filter * rpl_filter = 0xcccccccc`cccccccc
      struct LEX * lex = 0x00000073`a9ed06d0
      class st_select_lex * select_lex = 0x00000073`a9ed0ea8
      struct TABLE_LIST * first_table = 0x00000073`ad65f370
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!mysql_parse [e:\elenst\10.2\sql\sql_parse.cc @ 7858]
      char * found_semicolon = 0x00000000`00000000 ""
      bool err = false
      struct LEX * lex = 0x00000073`a9ed06d0
      class THD * thd = 0x00000073`a9ecd6e8
      char * rawbuf = 0x00000073`ad65ef90 "--- memory read error at address 0x00000073`ad65ef90 ---"
      unsigned int length = 0x4d
      class Parser_state * parser_state = 0x00000073`ae83e780
      bool is_com_multi = false
      bool is_next_command = false
      struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
      int error = 0n-858993460
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!dispatch_command [e:\elenst\10.2\sql\sql_parse.cc @ 1814]
      char * packet_end = 0x00000073`ad65efdd "--- memory read error at address 0x00000073`ad65efdd ---"
      class Parser_state parser_state = class Parser_state
      enum_server_command command = COM_QUERY (0n3)
      class THD * thd = 0x00000073`a9ecd6e8
      char * packet = 0x00000073`ad7b97d9 "--- memory read error at address 0x00000073`ad7b97d9 ---"
      unsigned int packet_length = 0x4d
      bool is_com_multi = false
      bool is_next_command = false
      bool drop_more_results = false
      bool do_end_of_statement = true
      struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
      bool error = false
      struct st_net * net = 0x00000073`a9ecd8e8
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!do_command [e:\elenst\10.2\sql\sql_parse.cc @ 1361]
      class THD * thd = 0x00000073`a9ecd6e8
      bool return_value = true
      unsigned long packet_length = 0x4e
      struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
      enum_server_command command = COM_QUERY (0n3)
      char * packet = 0x00000073`ad7b97d8 "--- memory read error at address 0x00000073`ad7b97d8 ---"
      struct st_net * net = 0x00000073`a9ecd8e8
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!threadpool_process_request [e:\elenst\10.2\sql\threadpool_common.cc @ 346]
      struct st_vio * vio = 0xcccccccc`cccccccc
      class THD * thd = 0x00000073`a9ecd6e8
      int retval = 0n0
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!tp_callback [e:\elenst\10.2\sql\threadpool_common.cc @ 192]
      struct TP_connection * c = 0x00000073`a9e09050
      struct Worker_thread_context worker_context = struct Worker_thread_context
      class THD * thd = 0x00000073`a9ecd6e8
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!tp_callback [e:\elenst\10.2\sql\threadpool_win.cc @ 378]
      struct _TP_CALLBACK_INSTANCE * instance = 0x00000073`ae83f628
      void * context = 0x00000073`a9e09050
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!work_callback [e:\elenst\10.2\sql\threadpool_win.cc @ 452]
      struct _TP_CALLBACK_INSTANCE * instance = 0x00000073`ae83f628
      void * context = 0x00000073`a9e09050
      struct _TP_WORK * work = 0x00000073`a9cd1e20
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      ntdll!TppWorkpExecuteCallback
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      ntdll!TppWorkerThread
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      kernel32!BaseThreadInitThunk
      Unable to enumerate locals, HRESULT 0x80004005
      Private symbols (symbols.pri) are required for locals.
      Type ".hh dbgerr005" for details.
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      ntdll!RtlUserThreadStart
      Unable to enumerate locals, HRESULT 0x80004005
      Private symbols (symbols.pri) are required for locals.
      Type ".hh dbgerr005" for details.
      _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
      mysqld!handle_rtc_failure [e:\elenst\10.2\mysys\my_init.c @ 284]
      Processing 29 threads, please wait
       
      .  0  Id: dd4.cdc Suspend: 0 Teb: 00007ff7`9ae9d000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff7`9de3d5a8, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff7`9de3b6c0, struct timespec * abstime = 0x00000000`00000000) [e:\elenst\10.2\mysys\my_wincond.c @ 82]
      mysqld!pthread_cond_wait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff7`9de3d5a8, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff7`9de3b6c0) [e:\elenst\10.2\mysys\my_wincond.c @ 91]
      mysqld!inline_mysql_cond_wait(struct st_mysql_cond * that = 0x00007ff7`9de3d5a8, struct st_mysql_mutex * mutex = 0x00007ff7`9de3b6c0, char * src_file = 0x00007ff7`9c512198 "E:\elenst\10.2\sql\mysqld.cc", unsigned int src_line = 0x15af) [e:\elenst\10.2\include\mysql\psi\mysql_thread.h @ 1138]
      mysqld!handle_connections_methods(void) [e:\elenst\10.2\sql\mysqld.cc @ 5551]
      mysqld!win_main(int argc = 0n144, char ** argv = 0x00000073`a3cfced8) [e:\elenst\10.2\sql\mysqld.cc @ 6041]
      mysqld!mysql_service(void * p = 0x00000000`00000000) [e:\elenst\10.2\sql\mysqld.cc @ 6100]
      mysqld!mysqld_main(int argc = 0n23, char ** argv = 0x00000073`a3ce9cb0) [e:\elenst\10.2\sql\mysqld.cc @ 6293]
      mysqld!main(int argc = 0n23, char ** argv = 0x00000073`a3ce9cb0) [e:\elenst\10.2\sql\main.cc @ 26]
      mysqld!invoke_main(void) [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 65]
      mysqld!__scrt_common_main_seh(void) [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 253]
      mysqld!__scrt_common_main(void) [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 296]
      mysqld!mainCRTStartup(void) [f:\dd\vctools\crt\vcstartup\src\startup\exe_main.cpp @ 17]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      .  1  Id: dd4.d58 Suspend: 0 Teb: 00007ff7`9ae9b000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff7`9e6bc458, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff7`9e6bc428, struct timespec * abstime = 0x00000073`aa43fd68) [e:\elenst\10.2\mysys\my_wincond.c @ 82]
      mysqld!inline_mysql_cond_timedwait(struct st_mysql_cond * that = 0x00007ff7`9e6bc458, struct st_mysql_mutex * mutex = 0x00007ff7`9e6bc428, struct timespec * abstime = 0x00000073`aa43fd68, char * src_file = 0x00007ff7`9dc50728 "--- memory read error at address 0x00007ff7`9dc50728 ---", unsigned int src_line = 0x124) [e:\elenst\10.2\include\mysql\psi\mysql_thread.h @ 1175]
      mysqld!timer_handler(void * arg = 0x00000000`00000000) [e:\elenst\10.2\mysys\thr_timer.c @ 293]
      mysqld!pfs_spawn_thread(void * arg = 0x00000073`a3d0c278) [e:\elenst\10.2\storage\perfschema\pfs.cc @ 1864]
      mysqld!pthread_start(void * p = 0x00000073`a3cf5170) [e:\elenst\10.2\mysys\my_winthread.c @ 61]
      mysqld!invoke_thread_procedure(<function> * procedure = 0x00007ff7`9c1f74c0, void * context = 0x00000073`a3cf5170) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 92]
      mysqld!thread_start<unsigned int (void * parameter = 0x00000073`a3d051e0) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      .  2  Id: dd4.2cc Suspend: 0 Teb: 00007ff7`9ae99000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtRemoveIoCompletion
      KERNELBASE!GetQueuedCompletionStatus
      mysqld!os_aio_windows_handler(unsigned int64 segment = 0, unsigned int64 pos = 0, struct fil_node_t ** m1 = 0x00000073`ab5df788, void ** m2 = 0x00000073`ab5df7d8, class IORequest * type = 0x00000073`ab5df7a8) [e:\elenst\10.2\storage\innobase\os\os0file.cc @ 6495]
      mysqld!os_aio_handler(unsigned int64 segment = 0, struct fil_node_t ** m1 = 0x00000073`ab5df788, void ** m2 = 0x00000073`ab5df7d8, class IORequest * request = 0x00000073`ab5df7a8) [e:\elenst\10.2\storage\innobase\os\os0file.cc @ 5688]
      mysqld!fil_aio_wait(unsigned int64 segment = 0) [e:\elenst\10.2\storage\innobase\fil\fil0fil.cc @ 5350]
      mysqld!io_handler_thread(void * arg = 0x00007ff7`9dea1a20) [e:\elenst\10.2\storage\innobase\srv\srv0start.cc @ 328]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      .  8  Id: dd4.90c Suspend: 0 Teb: 00007ff7`9ad6a000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!os_event::timed_wait(unsigned long time_in_ms = 0x3e8) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 262]
      mysqld!os_event::wait_time_low(unsigned int64 time_in_usec = 0xf4240, int64 reset_sig_count = 0n2) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 415]
      mysqld!os_event_wait_time_low(struct os_event * event = 0x00000073`a9abec20, unsigned int64 time_in_usec = 0xf4240, int64 reset_sig_count = 0n2) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 519]
      mysqld!pc_sleep_if_needed(unsigned int64 next_loop_time = 0x0000015a`fb8fb652, int64 sig_count = 0n2) [e:\elenst\10.2\storage\innobase\buf\buf0flu.cc @ 2689]
      mysqld!buf_flush_page_cleaner_coordinator(void * arg = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\buf\buf0flu.cc @ 3191]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      .  9  Id: dd4.fa4 Suspend: 0 Teb: 00007ff7`9ad68000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!os_event::timed_wait(unsigned long time_in_ms = 0x3e8) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 262]
      mysqld!os_event::wait_time_low(unsigned int64 time_in_usec = 0xf4240, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 415]
      mysqld!os_event_wait_time_low(struct os_event * event = 0x00000073`a9cc42b0, unsigned int64 time_in_usec = 0xf4240, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 519]
      mysqld!lock_wait_timeout_thread(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\lock\lock0wait.cc @ 530]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 10  Id: dd4.a54 Suspend: 0 Teb: 00007ff7`9ad66000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!os_event::timed_wait(unsigned long time_in_ms = 0x3e8) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 262]
      mysqld!os_event::wait_time_low(unsigned int64 time_in_usec = 0xf4240, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 415]
      mysqld!os_event_wait_time_low(struct os_event * event = 0x00000073`a9abdd40, unsigned int64 time_in_usec = 0xf4240, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 519]
      mysqld!srv_error_monitor_thread(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 1979]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 11  Id: dd4.e7c Suspend: 0 Teb: 00007ff7`9ad64000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!os_event::timed_wait(unsigned long time_in_ms = 0x1388) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 262]
      mysqld!os_event::wait_time_low(unsigned int64 time_in_usec = 0x4c4b40, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 415]
      mysqld!os_event_wait_time_low(struct os_event * event = 0x00000073`a9abd800, unsigned int64 time_in_usec = 0x4c4b40, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 519]
      mysqld!srv_monitor_thread(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 1754]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 12  Id: dd4.d1c Suspend: 0 Teb: 00007ff7`9ad62000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtDelayExecution
      KERNELBASE!SleepEx
      mysqld!os_thread_sleep(unsigned int64 tm = 0xf4240) [e:\elenst\10.2\storage\innobase\os\os0thread.cc @ 229]
      mysqld!srv_master_sleep(void) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 2515]
      mysqld!srv_master_thread(void * arg = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 2563]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 13  Id: dd4.f24 Suspend: 0 Teb: 00007ff7`9ad60000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!os_event::wait(void) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 159]
      mysqld!os_event::wait_low(int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 340]
      mysqld!os_event_wait_low(struct os_event * event = 0x00000073`a9abe7c0, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 536]
      mysqld!srv_resume_thread(struct srv_slot_t * slot = 0x00000073`a9ad3a98, int64 sig_count = 0n1, bool wait = true, unsigned int64 timeout_usec = 0) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 934]
      mysqld!srv_purge_coordinator_suspend(class THD * thd = 0x00000073`a9e61f68, struct srv_slot_t * slot = 0x00000073`a9ad3a98, unsigned int64 rseg_history_len = 0) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 2862]
      mysqld!srv_purge_coordinator_thread(void * arg = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 2954]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 14  Id: dd4.f7c Suspend: 0 Teb: 00007ff7`9ad5e000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!os_event::wait(void) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 159]
      mysqld!os_event::wait_low(int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 340]
      mysqld!os_event_wait_low(struct os_event * event = 0x00000073`a9abdfe0, int64 reset_sig_count = 0n0) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 536]
      mysqld!srv_resume_thread(struct srv_slot_t * slot = 0x00000073`a9ad3ad0, int64 sig_count = 0n0, bool wait = true, unsigned int64 timeout_usec = 0) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 934]
      mysqld!srv_worker_thread(void * arg = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 2709]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 17  Id: dd4.cac Suspend: 0 Teb: 00007ff7`9ad58000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!os_event::wait(void) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 159]
      mysqld!os_event::wait_low(int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 340]
      mysqld!os_event_wait_low(struct os_event * event = 0x00000073`a9abe0c0, int64 reset_sig_count = 0n0) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 536]
      mysqld!buf_dump_thread(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\buf\buf0dump.cc @ 816]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 18  Id: dd4.6e8 Suspend: 0 Teb: 00007ff7`9ad56000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!os_event::timed_wait(unsigned long time_in_ms = 0x2710) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 262]
      mysqld!os_event::wait_time_low(unsigned int64 time_in_usec = 0x989680, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 415]
      mysqld!os_event_wait_time_low(struct os_event * event = 0x00000073`a9cc5430, unsigned int64 time_in_usec = 0x989680, int64 reset_sig_count = 0n0) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 519]
      mysqld!dict_stats_thread(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\dict\dict0stats_bg.cc @ 421]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 19  Id: dd4.b80 Suspend: 0 Teb: 00007ff7`9ad54000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!os_event::timed_wait(unsigned long time_in_ms = 0x1388) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 262]
      mysqld!os_event::wait_time_low(unsigned int64 time_in_usec = 0x4c4b40, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 415]
      mysqld!os_event_wait_time_low(struct os_event * event = 0x00000073`a9cd20f0, unsigned int64 time_in_usec = 0x4c4b40, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 519]
      mysqld!ib_wqueue_timedwait(struct ib_wqueue_t * wq = 0x00000073`a6448f80, int64 wait_in_usecs = 0n5000000) [e:\elenst\10.2\storage\innobase\ut\ut0wqueue.cc @ 161]
      mysqld!fts_optimize_thread(void * arg = 0x00000073`a6448f80) [e:\elenst\10.2\storage\innobase\fts\fts0opt.cc @ 3044]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 20  Id: dd4.440 Suspend: 0 Teb: 00007ff7`9ad52000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtDelayExecution
      KERNELBASE!SleepEx
      mysqld!os_thread_sleep(unsigned int64 tm = 0xf4240) [e:\elenst\10.2\storage\innobase\os\os0thread.cc @ 229]
      mysqld!btr_defragment_thread(void * arg = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\btr\btr0defragment.cc @ 758]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 21  Id: dd4.e0c Suspend: 0 Teb: 00007ff7`9ad50000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!os_event::wait(void) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 159]
      mysqld!os_event::wait_low(int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 340]
      mysqld!os_event_wait_low(struct os_event * event = 0x00000073`a9abe8a0, int64 reset_sig_count = 0n0) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 536]
      mysqld!buf_resize_thread(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\buf\buf0buf.cc @ 3181]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 22  Id: dd4.b0c Suspend: 0 Teb: 00007ff7`9ad4e000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00000073`acccf848, struct _RTL_CRITICAL_SECTION * mutex = 0x00000073`acccf7f8, struct timespec * abstime = 0x00000000`00000000) [e:\elenst\10.2\mysys\my_wincond.c @ 82]
      mysqld!pthread_cond_wait(struct _RTL_CONDITION_VARIABLE * cond = 0x00000073`acccf848, struct _RTL_CRITICAL_SECTION * mutex = 0x00000073`acccf7f8) [e:\elenst\10.2\mysys\my_wincond.c @ 91]
      mysqld!inline_mysql_cond_wait(struct st_mysql_cond * that = 0x00000073`acccf848, struct st_mysql_mutex * mutex = 0x00000073`acccf7f8, char * src_file = 0x00007ff7`9c858720 "E:\elenst\10.2\storage\innobase\handler\ha_innodb.cc", unsigned int src_line = 0x152) [e:\elenst\10.2\include\mysql\psi\mysql_thread.h @ 1149]
      mysqld!thd_destructor_proxy(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\handler\ha_innodb.cc @ 338]
      mysqld!pfs_spawn_thread(void * arg = 0x00000073`a9e7bd98) [e:\elenst\10.2\storage\perfschema\pfs.cc @ 1864]
      mysqld!pthread_start(void * p = 0x00000073`a9d2c860) [e:\elenst\10.2\mysys\my_winthread.c @ 61]
      mysqld!invoke_thread_procedure(<function> * procedure = 0x00007ff7`9c1f74c0, void * context = 0x00000073`a9d2c860) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 92]
      mysqld!thread_start<unsigned int (void * parameter = 0x00000073`a9e74440) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 23  Id: dd4.584 Suspend: 0 Teb: 00007ff7`9ad4c000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff7`9e6ad018, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff7`9e6acfe8, struct timespec * abstime = 0x00000073`ae73f768) [e:\elenst\10.2\mysys\my_wincond.c @ 82]
      mysqld!inline_mysql_cond_timedwait(struct st_mysql_cond * that = 0x00007ff7`9e6ad018, struct st_mysql_mutex * mutex = 0x00007ff7`9e6acfe8, struct timespec * abstime = 0x00000073`ae73f768, char * src_file = 0x00007ff7`9dc226e8 "--- memory read error at address 0x00007ff7`9dc226e8 ---", unsigned int src_line = 0x74) [e:\elenst\10.2\include\mysql\psi\mysql_thread.h @ 1175]
      mysqld!my_service_thread_sleep(struct st_ma_service_thread_control * control = 0x00007ff7`9dbf7db0, unsigned int64 sleep_time = 0x00000006`c088e200) [e:\elenst\10.2\storage\maria\ma_servicethread.c @ 119]
      mysqld!ma_checkpoint_background(void * arg = 0x00000000`0000001e) [e:\elenst\10.2\storage\maria\ma_checkpoint.c @ 708]
      mysqld!pfs_spawn_thread(void * arg = 0x00000073`a9e60d88) [e:\elenst\10.2\storage\perfschema\pfs.cc @ 1864]
      mysqld!pthread_start(void * p = 0x00000073`a9d2ce90) [e:\elenst\10.2\mysys\my_winthread.c @ 61]
      mysqld!invoke_thread_procedure(<function> * procedure = 0x00007ff7`9c1f74c0, void * context = 0x00000073`a9d2ce90) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 92]
      mysqld!thread_start<unsigned int (void * parameter = 0x00000073`a9e74260) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 24  Id: dd4.cb0 Suspend: 0 Teb: 00007ff7`9ad4a000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtGetContextThread
      mysqld!__ImageBase
      0x22
      0x00007ff7`000018dc
      0x00000073`ae8374d0
      0x00000073`ae837430
      0x00000073`ae83c890
      0x00000073`ae837490
      0x1
      0x00000073`ae837448
      0x00000073`ae837440
      0x00000073`ae837a30
      0xae837900
      0x00007ffb`00000023
      0x00000073`ae840000
      0x00000073`ae82f000
       
      . 25  Id: dd4.1c4 Suspend: 0 Teb: 00007ff7`9ad48000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForSingleObject
      KERNELBASE!WaitForSingleObjectEx
      mysqld!handle_shutdown(void * arg = 0x00000000`00000000) [e:\elenst\10.2\sql\mysqld.cc @ 3673]
      mysqld!pfs_spawn_thread(void * arg = 0x00000073`ad5cef38) [e:\elenst\10.2\storage\perfschema\pfs.cc @ 1864]
      mysqld!pthread_start(void * p = 0x00000073`a9d2db80) [e:\elenst\10.2\mysys\my_winthread.c @ 61]
      mysqld!invoke_thread_procedure(<function> * procedure = 0x00007ff7`9c1f74c0, void * context = 0x00000073`a9d2db80) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 92]
      mysqld!thread_start<unsigned int (void * parameter = 0x00000073`ad5cc9d0) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 26  Id: dd4.d64 Suspend: 0 Teb: 00007ff7`9ad46000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForAlertByThreadId
      ntdll!RtlSleepConditionVariableCS
      KERNELBASE!SleepConditionVariableCS
      mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff7`9de3b8c8, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff7`9de3b660, struct timespec * abstime = 0x00000000`00000000) [e:\elenst\10.2\mysys\my_wincond.c @ 82]
      mysqld!pthread_cond_wait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff7`9de3b8c8, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff7`9de3b660) [e:\elenst\10.2\mysys\my_wincond.c @ 91]
      mysqld!inline_mysql_cond_wait(struct st_mysql_cond * that = 0x00007ff7`9de3b8c8, struct st_mysql_mutex * mutex = 0x00007ff7`9de3b660, char * src_file = 0x00007ff7`9c544978 "E:\elenst\10.2\sql\slave.cc", unsigned int src_line = 0x153) [e:\elenst\10.2\include\mysql\psi\mysql_thread.h @ 1138]
      mysqld!handle_slave_background(void * arg = 0x00000000`00000000) [e:\elenst\10.2\sql\slave.cc @ 340]
      mysqld!pfs_spawn_thread(void * arg = 0x00000073`ad5bb3e8) [e:\elenst\10.2\storage\perfschema\pfs.cc @ 1864]
      mysqld!pthread_start(void * p = 0x00000073`a9d2dc10) [e:\elenst\10.2\mysys\my_winthread.c @ 61]
      mysqld!invoke_thread_procedure(<function> * procedure = 0x00007ff7`9c1f74c0, void * context = 0x00000073`a9d2dc10) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 92]
      mysqld!thread_start<unsigned int (void * parameter = 0x00000073`ad5cd970) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 27  Id: dd4.d08 Suspend: 0 Teb: 00007ff7`9ad44000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForSingleObject
      mswsock!SockWaitForSingleObject
      mswsock!WSPSelect
      ws2_32!select
      mysqld!handle_connections_sockets(void) [e:\elenst\10.2\sql\mysqld.cc @ 6573]
      mysqld!handle_connections_sockets_thread(void * arg = 0x00000000`00000000) [e:\elenst\10.2\sql\mysqld.cc @ 6775]
      mysqld!pfs_spawn_thread(void * arg = 0x00000073`ad5cef38) [e:\elenst\10.2\storage\perfschema\pfs.cc @ 1864]
      mysqld!pthread_start(void * p = 0x00000073`a9d2ee10) [e:\elenst\10.2\mysys\my_winthread.c @ 61]
      mysqld!invoke_thread_procedure(<function> * procedure = 0x00007ff7`9c1f74c0, void * context = 0x00000073`a9d2ee10) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 92]
      mysqld!thread_start<unsigned int (void * parameter = 0x00000073`ad5cbf30) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115]
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      . 28  Id: dd4.eb8 Suspend: 0 Teb: 00007ff7`9ad42000 Unfrozen
            Priority: 0  Priority class: 32
       
      ntdll!NtWaitForWorkViaWorkerFactory
      ntdll!TppWorkerThread
      kernel32!BaseThreadInitThunk
      ntdll!RtlUserThreadStart
       
      Total threads: 29
      Duplicate callstacks: 7 (windbg thread #s follow):
      3, 4, 5, 6, 7, 15, 16
      quit:
      

      Attachments

        Activity

          elenst Elena Stepanova created issue -
          elenst Elena Stepanova made changes -
          Field Original Value New Value
          Summary [Draft] Error:Run-Time Check Failure #2 - Stack around the variable 'key_buff' was corrupted, server crashes in opt_sum_query/_RTC_CheckStackVars Error:Run-Time Check Failure #2 - Stack around the variable 'key_buff' was corrupted, server crashes in opt_sum_query
          elenst Elena Stepanova made changes -
          Fix Version/s 10.2 [ 14601 ]
          Assignee Elena Stepanova [ elenst ] Varun Gupta [ varun ]
          Description http://buildbot.askmonty.org/buildbot/builders/win-rqg-se/builds/2813/steps/rqg_crash_tests/logs/stdio
          {noformat}
          Error:Run-Time Check Failure #2 - Stack around the variable 'key_buff' was corrupted. At e:\buildbot\bbwin1\win-rqg-se\build-debug\sql\opt_sum.cc:482
          161031 11:44:37 [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.2.3-MariaDB-debug-log
          key_buffer_size=1048576
          read_buffer_size=131072
          max_used_connections=7
          max_threads=1001
          thread_count=7
          It is possible that mysqld could use up to
          key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 388191 K bytes of memory
          Hope that's ok; if not, decrease some variables in the equation.

          Thread pointer: 0x0x7d23684648
          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!handle_rtc_failure()[my_init.c:284]
          mysqld.exe!failwithmessage()[error.cpp:221]
          mysqld.exe!_RTC_StackFailure()[error.cpp:333]
          mysqld.exe!_RTC_CheckStackVars()[stack.cpp:69]
          mysqld.exe!opt_sum_query()[opt_sum.cc:482]
          mysqld.exe!JOIN::optimize_inner()[sql_select.cc:1379]
          mysqld.exe!JOIN::optimize()[sql_select.cc:1076]
          mysqld.exe!mysql_select()[sql_select.cc:3555]
          mysqld.exe!handle_select()[sql_select.cc:373]
          mysqld.exe!execute_sqlcom_select()[sql_parse.cc:6353]
          mysqld.exe!mysql_execute_command()[sql_parse.cc:3377]
          mysqld.exe!mysql_parse()[sql_parse.cc:7796]
          mysqld.exe!dispatch_command()[sql_parse.cc:1809]
          mysqld.exe!do_command()[sql_parse.cc:1366]
          mysqld.exe!threadpool_process_request()[threadpool_common.cc:319]
          mysqld.exe!tp_callback()[threadpool_common.cc:158]
          mysqld.exe!tp_callback()[threadpool_win.cc:378]
          mysqld.exe!work_callback()[threadpool_win.cc:452]
          ntdll.dll!RtlFreeUnicodeString()
          ntdll.dll!RtlFreeUnicodeString()
          KERNEL32.DLL!BaseThreadInitThunk()
          ntdll.dll!RtlUserThreadStart()

          Trying to get some variables.
          Some pointers may be invalid and cause the dump to abort.
          Query (0x7d40212fd0): SELECT MIN( table1.`pk` ) AS field1 FROM b AS table1 LEFT JOIN c AS table2 LEFT JOIN e AS table3 ON table2.`pk` = table3.`col_int_key` ON table1.`col_int_key` = table2.`col_int_key` WHERE table1.`pk` BETWEEN 9 AND ( 9 + 10 ) AND table1.`col_varchar_1024_latin1_key` BETWEEN 's' AND CHAR(ASCII( 'a' ) + 7 ) /* QUERY_NO 7140 CON_ID 10 */
          Connection ID (thread ID): 10
          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
          {noformat}
          {code:sql|title=Test case}
          --source include/have_innodb.inc

          CREATE TABLE t (
            pk INT,
            f1 VARCHAR(3),
            f2 VARCHAR(1024),
            PRIMARY KEY (pk),
            KEY(f2)
          ) ENGINE=InnoDB CHARSET utf8;

          INSERT INTO t VALUES (1,'foo','abc'),(2,'bar','def');
          SELECT MAX(t1.pk) FROM t t1 INNER JOIN t t2 ON t1.f1 = t2.f1 WHERE t1.pk <= 4;
          {code}

          {noformat:title=10.2 92f18bded}
          > mysqld.exe!handle_rtc_failure(int err_type, const char * file, int line, const char * module, const char * format, ...) Line 284 C
            [External Code]
            mysqld.exe!opt_sum_query(THD * thd, List<TABLE_LIST> & tables, List<Item> & all_fields, Item * conds) Line 482 C++
            mysqld.exe!JOIN::optimize_inner() Line 1429 C++
            mysqld.exe!JOIN::optimize() Line 1084 C++
            mysqld.exe!mysql_select(THD * thd, TABLE_LIST * tables, unsigned int wild_num, List<Item> & fields, Item * conds, unsigned int og_num, st_order * order, st_order * group, Item * having, st_order * proc_param, unsigned __int64 select_options, select_result * result, st_select_lex_unit * unit, st_select_lex * select_lex) Line 3644 C++
            mysqld.exe!handle_select(THD * thd, LEX * lex, select_result * result, unsigned long setup_tables_done_option) Line 361 C++
            mysqld.exe!execute_sqlcom_select(THD * thd, TABLE_LIST * all_tables) Line 6415 C++
            mysqld.exe!mysql_execute_command(THD * thd) Line 3448 C++
            mysqld.exe!mysql_parse(THD * thd, char * rawbuf, unsigned int length, Parser_state * parser_state, bool is_com_multi, bool is_next_command) Line 7858 C++
            mysqld.exe!dispatch_command(enum_server_command command, THD * thd, char * packet, unsigned int packet_length, bool is_com_multi, bool is_next_command) Line 1814 C++
            mysqld.exe!do_command(THD * thd) Line 1361 C++
            mysqld.exe!threadpool_process_request(THD * thd) Line 346 C++
            mysqld.exe!tp_callback(TP_connection * c) Line 192 C++
            mysqld.exe!tp_callback(_TP_CALLBACK_INSTANCE * instance, void * context) Line 378 C++
            mysqld.exe!work_callback(_TP_CALLBACK_INSTANCE * instance, void * context, _TP_WORK * work) Line 452 C++
            [External Code]
          {noformat}
          {noformat}
          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.14321.1024 AMD64
          Copyright (c) Microsoft Corporation. All rights reserved.


          Loading Dump File [E:\elenst\10.2\mysql-test\var\log\main.t1-innodb\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\apppatch\AppPatch64
          OK C:\Windows\System32
          OK C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
          OK E:\elenst\10.2\sql\Debug
          OK .

          Response Time (ms) Location
          OK C:\Windows\apppatch\AppPatch64
          OK C:\Windows\System32
          OK C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
          OK E:\elenst\10.2\sql\Debug
          OK .
          Deferred srv*C:\cdb_symbols*http://msdl.microsoft.com/download/symbols
          Symbol search path is: C:\Windows\apppatch\AppPatch64;C:\Windows\System32;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64;E:\elenst\10.2\sql\Debug;.;srv*C:\cdb_symbols*http://msdl.microsoft.com/download/symbols
          Executable search path is: C:\Windows\apppatch\AppPatch64;C:\Windows\System32;C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64;E:\elenst\10.2\sql\Debug;.
          Windows 8.1 Version 9600 MP (4 procs) Free x64
          Product: Server, suite: TerminalServer DataCenter SingleUserTS
          Built by: 6.3.9600.17031 (winblue_gdr.140221-1952)
          Machine Name:
          Debug session time: Thu Mar 23 14:26:23.000 2017 (UTC + 0:00)
          System Uptime: not available
          Process Uptime: 0 days 0:00:08.000
          ....................................................
          This dump file has a breakpoint exception stored in it.
          The stored exception information can be accessed via .ecxr.
          ntdll!NtGetContextThread:
                       ret
          0:024> 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=00000073ae83a270 rcx=00000000ffffffff
          rdx=00007ff79de25740 rsi=00007ff79d911038 rdi=00000073ae839f60
          rip=00007ff79c1fe484 rsp=00000073ae839ab0 rbp=0000000000000002
           r8=00000073ae8382f8 r9=0000000000000002 r10=0000000000000000
          r11=0000000000000246 r12=0000000000000001 r13=0000000000000000
          r14=00007ff79c1fe3f0 r15=00000073ae83aa00
          iopl=0 nv up ei pl nz na pe nc
          cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202
          mysqld!handle_rtc_failure:
                       int 3
          Resetting default scope

          FAULTING_IP:
          mysqld!handle_rtc_failure+94 [e:\elenst\10.2\mysys\my_init.c @ 284]
                       int 3

          EXCEPTION_RECORD: (.exr -1)
          ExceptionAddress: 00007ff79c1fe484 (mysqld!handle_rtc_failure)
             ExceptionCode: 80000003 (Break instruction exception)
            ExceptionFlags: 00000000
          NumberParameters: 1
             Parameter[0]: 0000000000000000

          DEFAULT_BUCKET_ID: STATUS_BREAKPOINT

          PROCESS_NAME: mysqld.exe

          ERROR_CODE: (NTSTATUS) 0x80000003 - {EXCEPTION} Breakpoint A breakpoint has been reached.

          EXCEPTION_CODE: (HRESULT) 0x80000003 (2147483651) - One or more arguments are invalid

          EXCEPTION_CODE_STR: 80000003

          EXCEPTION_PARAMETER1: 0000000000000000

          WATSON_BKT_PROCSTAMP: 58d300e2

          WATSON_BKT_PROCVER: 10.2.5.0

          WATSON_BKT_MODULE: mysqld.exe

          WATSON_BKT_MODSTAMP: 58d300e2

          WATSON_BKT_MODOFFSET: d1e484

          WATSON_BKT_MODVER: 10.2.5.0

          BUILD_VERSION_STRING: 6.3.9600.17415 (winblue_r4.141028-1500)

          MODLIST_WITH_TSCHKSUM_HASH: 4650ac00956dd4e15833ce493be3c2dbe8d54100

          MODLIST_SHA1_HASH: e704c60c01ad350414df387156d9ca046d10a80c

          DUMP_FLAGS: 0

          DUMP_TYPE: 2

          ANALYSIS_SESSION_HOST: MARIADB-04

          ANALYSIS_SESSION_TIME: 03-23-2017 14:26:27.0107

          ANALYSIS_VERSION: 10.0.14321.1024 amd64fre

          THREAD_ATTRIBUTES:
          PROBLEM_CLASSES:




              Tid [0x0]
              Frame [0x00]
              String [STATUS_BREAKPOINT]
              Data Bucketing


          BUGCHECK_STR: STATUS_BREAKPOINT

          LAST_CONTROL_TRANSFER: from 00007ff79c37a70b to 00007ff79c1fe484

          STACK_TEXT:
          mysqld!handle_rtc_failure
          mysqld!failwithmessage
          mysqld!_RTC_StackFailure
          mysqld!_RTC_CheckStackVars
          mysqld!opt_sum_query
          mysqld!JOIN::optimize_inner
          mysqld!JOIN::optimize
          mysqld!mysql_select
          mysqld!handle_select
          mysqld!execute_sqlcom_select
          mysqld!mysql_execute_command
          mysqld!mysql_parse
          mysqld!dispatch_command
          mysqld!do_command
          mysqld!threadpool_process_request
          mysqld!tp_callback
          mysqld!tp_callback
          mysqld!work_callback
          ntdll!TppWorkpExecuteCallback
          ntdll!TppWorkerThread
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart


          THREAD_SHA1_HASH_MOD_FUNC: ebe44e95c2cc3450e31aac551b553f68da5d6b6e

          THREAD_SHA1_HASH_MOD_FUNC_OFFSET: 9f9b5655fcaf8d2d5d938997451537afda76b76b

          THREAD_SHA1_HASH_MOD: bd6a785a2bcd80eb206fd98087c57c956fe18623

          FOLLOWUP_IP:
          mysqld!handle_rtc_failure+94 [e:\elenst\10.2\mysys\my_init.c @ 284]
                       int 3

          FAULT_INSTR_CODE: 48c033cc

          FAULTING_SOURCE_LINE: e:\elenst\10.2\mysys\my_init.c

          FAULTING_SOURCE_FILE: e:\elenst\10.2\mysys\my_init.c

          FAULTING_SOURCE_LINE_NUMBER: 284

          FAULTING_SOURCE_CODE:
             280: vfprintf(stderr, format, args);
             281: fprintf(stderr, " At %s:%d\n", file, line);
             282: va_end(args);
             283: (void) fflush(stderr);
          > 284: __debugbreak();
             285:
             286: return 0; /* Error is handled */
             287: }
             288: #pragma runtime_checks("", restore)
             289: #endif


          SYMBOL_STACK_INDEX: 0

          SYMBOL_NAME: mysqld!handle_rtc_failure+94

          FOLLOWUP_NAME: MachineOwner

          MODULE_NAME: mysqld

          IMAGE_NAME: mysqld.exe

          DEBUG_FLR_IMAGE_TIMESTAMP: 58d300e2

          STACK_COMMAND: .ecxr ; kb

          BUCKET_ID: STATUS_BREAKPOINT_mysqld!handle_rtc_failure+94

          PRIMARY_PROBLEM_CLASS: STATUS_BREAKPOINT_mysqld!handle_rtc_failure+94

          FAILURE_EXCEPTION_CODE: 80000003

          FAILURE_IMAGE_NAME: mysqld.exe

          BUCKET_ID_IMAGE_STR: mysqld.exe

          FAILURE_MODULE_NAME: mysqld

          BUCKET_ID_MODULE_STR: mysqld

          FAILURE_FUNCTION_NAME: handle_rtc_failure

          BUCKET_ID_FUNCTION_STR: handle_rtc_failure

          BUCKET_ID_OFFSET: 94

          BUCKET_ID_MODTIMEDATESTAMP: 58d300e2

          BUCKET_ID_MODCHECKSUM: 0

          BUCKET_ID_MODVER_STR: 10.2.5.0

          BUCKET_ID_PREFIX_STR: STATUS_BREAKPOINT_

          FAILURE_PROBLEM_CLASS: STATUS_BREAKPOINT

          FAILURE_SYMBOL_NAME: mysqld.exe!handle_rtc_failure

          FAILURE_BUCKET_ID: STATUS_BREAKPOINT_80000003_mysqld.exe!handle_rtc_failure

          WATSON_STAGEONE_URL: http://watson.microsoft.com/StageOne/mysqld.exe/10.2.5.0/58d300e2/mysqld.exe/10.2.5.0/58d300e2/80000003/00d1e484.htm?Retriage=1

          TARGET_TIME: 2017-03-23T14:26:23.000Z

          OSBUILD: 9600

          OSSERVICEPACK: 17415

          SERVICEPACK_NUMBER: 0

          OS_REVISION: 0

          SUITE_MASK: 400

          PRODUCT_TYPE: 3

          OSPLATFORM_TYPE: x64

          OSNAME: Windows 8.1

          OSEDITION: Windows 8.1 Server TerminalServer DataCenter SingleUserTS

          OS_LOCALE:

          USER_LCID: 0

          OSBUILD_TIMESTAMP: 2014-10-29 02:45:30

          BUILDDATESTAMP_STR: 141028-1500

          BUILDLAB_STR: winblue_r4

          BUILDOSVER_STR: 6.3.9600.17415

          ANALYSIS_SESSION_ELAPSED_TIME: 8d9

          ANALYSIS_SOURCE: UM

          FAILURE_ID_HASH_STRING: um:status_breakpoint_80000003_mysqld.exe!handle_rtc_failure

          FAILURE_ID_HASH: {2831681c-542c-7edc-d88e-5c36b63cf6d3}

          Followup: MachineOwner
          ---------

          rax=0000000000000000 rbx=00000073ae83a270 rcx=00000000ffffffff
          rdx=00007ff79de25740 rsi=00007ff79d911038 rdi=00000073ae839f60
          rip=00007ff79c1fe484 rsp=00000073ae839ab0 rbp=0000000000000002
           r8=00000073ae8382f8 r9=0000000000000002 r10=0000000000000000
          r11=0000000000000246 r12=0000000000000001 r13=0000000000000000
          r14=00007ff79c1fe3f0 r15=00000073ae83aa00
          iopl=0 nv up ei pl nz na pe nc
          cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000202
          mysqld!handle_rtc_failure:
                       int 3
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!handle_rtc_failure [e:\elenst\10.2\mysys\my_init.c @ 284]
          int err_type = 0n1
          char * file = 0x00000073`ae839f60 "e:\elenst\10.2\sql\opt_sum.cc"
          int line = 0n482
          char * module = 0x00000073`ae83a270 "E:\elenst\10.2\sql\Debug\mysqld.exe"
          char * format = 0x00007ff7`9d911050 "Run-Time Check Failure #%d - %s"
          char * args = 0x00000000`00000000 ""
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!failwithmessage
          void * retaddr = 0x00000073`ae839f60
          int crttype = 0n1
          int errnum = 0n2
          char * msg = 0x00000073`ae83aa00 "Stack around the variable 'key_buff' was corrupted."
          wchar_t * msgW = 0x00007ff7`9d911038 "??????"
          int bufsize = <value unavailable>
          bool dobreak = <value unavailable>
          wchar_t [512] msgB = wchar_t [512] "Stack around the variable 'key_buff' was corrupted."
          <function> * fnW = 0x00000073`ae83a270
          <function> * fn = 0x00007ff7`9c1fe3f0
          int lineNum = 0n482
          wchar_t [260] moduleNameW = wchar_t [260] "E:\elenst\10.2\sql\Debug\mysqld.exe"
          wchar_t [260] srcNameW = wchar_t [260] "e:\elenst\10.2\sql\opt_sum.cc"
          char * moduleName = 0x00000073`ae83a270 "E:\elenst\10.2\sql\Debug\mysqld.exe"
          char * srcName = 0x00000073`ae839f60 "e:\elenst\10.2\sql\opt_sum.cc"
          char [778] srcNameB = char [778] "e:\elenst\10.2\sql\opt_sum.cc"
          char [778] moduleNameB = char [778] "E:\elenst\10.2\sql\Debug\mysqld.exe"
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!_RTC_StackFailure
          void * retaddr = 0x00007ff7`9badcdbf
          char * varname = 0x00007ff7`9c7f3030 "key_buff"
          int crttype = 0n1
          char [1024] msgB = char [1024] "Stack around the variable 'key_buff' was corrupted."
          char * msg = <value unavailable>
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!_RTC_CheckStackVars
          void * frame = 0x00000073`ae83ae50
          struct _RTC_framedesc * v = 0x00007ff7`9c7f3220
          int i = 0n3
          int * head = 0x00000000`00000000
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!opt_sum_query [e:\elenst\10.2\sql\opt_sum.cc @ 482]
          class THD * thd = 0x00000073`a9ecd6e8
          class List<TABLE_LIST> * tables = 0x00000073`a9ed1078
          class List<Item> * all_fields = 0x00000073`ad661158
          class Item * conds = 0x00000073`ad661720
          class List_iterator_fast<Item> it = class List_iterator_fast<Item>
          struct TABLE_LIST * tl = 0x00000000`00000000
          unsigned int64 outer_tables = 0
          unsigned int64 where_tables = 3
          class Item * item = 0x00000000`00000000
          unsigned int64 count = 1
          struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
          bool recalc_const_item = false
          bool maybe_exact_count = false
          bool is_exact_count = false
          class List_iterator<TABLE_LIST> ti = class List_iterator<TABLE_LIST>
          unsigned int64 removed_tables = 0
          int error = 0n0
          int const_result = 0n0
          unsigned int64 used_tables = 3
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!JOIN::optimize_inner [e:\elenst\10.2\sql\sql_select.cc @ 1429]
          int res = 0n-858993460
          class JOIN * this = 0x00000073`ad660e48
          class st_select_lex * sel = 0x00000073`a9ed0ea8
          unsigned int64 select_opts_for_readinfo = 0xcccccccc`cccccccc
          struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
          int res = 0n-858993460
          struct st_join_table * tab = 0xcccccccc`cccccccc
          unsigned int no_jbuf_after = 0xcccccccc
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!JOIN::optimize [e:\elenst\10.2\sql\sql_select.cc @ 1084]
          class JOIN * this = 0x00000073`ad660e48
          int res = 0n-858993460
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!mysql_select [e:\elenst\10.2\sql\sql_select.cc @ 3644]
          class THD * thd = 0x00000073`a9ecd6e8
          struct TABLE_LIST * tables = 0x00000073`ad65f370
          unsigned int wild_num = 0
          class List<Item> * fields = 0x00000073`a9ed0fd0
          class Item * conds = 0x00000073`ad660bf0
          unsigned int og_num = 0
          struct st_order * order = 0x00000000`00000000
          struct st_order * group = 0x00000000`00000000
          class Item * having = 0x00000000`00000000
          struct st_order * proc_param = 0x00000000`00000000
          unsigned int64 select_options = 0x80040b00
          class select_result * result = 0x00000073`ad660e28
          class st_select_lex_unit * unit = 0x00000073`a9ed0790
          class st_select_lex * select_lex = 0x00000073`a9ed0ea8
          int err = 0n0
          struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
          bool free_join = true
          class JOIN * join = 0x00000073`ad660e48
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!handle_select [e:\elenst\10.2\sql\sql_select.cc @ 361]
          class st_select_lex_unit * unit = 0x00000073`a9ed0790
          class THD * thd = 0x00000073`a9ecd6e8
          struct LEX * lex = 0x00000073`a9ed06d0
          class select_result * result = 0x00000073`ad660e28
          unsigned long setup_tables_done_option = 0
          bool res = true
          struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
          class st_select_lex * select_lex = 0x00000073`a9ed0ea8
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!execute_sqlcom_select [e:\elenst\10.2\sql\sql_parse.cc @ 6415]
          class Protocol * save_protocol = 0x00000000`00000000
          class THD * thd = 0x00000073`a9ecd6e8
          struct TABLE_LIST * all_tables = 0x00000073`ad65f370
          bool res = false
          struct LEX * lex = 0x00000073`a9ed06d0
          class select_result * result = 0x00000073`ad660e28
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!mysql_execute_command [e:\elenst\10.2\sql\sql_parse.cc @ 3448]
          unsigned long privileges_requested = 1
          class THD * thd = 0x00000073`a9ecd6e8
          struct TABLE_LIST * all_tables = 0x00000073`ad65f370
          class st_select_lex_unit * unit = 0x00000073`a9ed0790
          bool have_table_map_for_update = false
          enum_binlog_format orig_current_stmt_binlog_format = BINLOG_FORMAT_STMT (0n1)
          int up_result = 0n0
          int res = 0n0
          struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
          enum_binlog_format orig_binlog_format = BINLOG_FORMAT_MIXED (0n0)
          class Rpl_filter * rpl_filter = 0xcccccccc`cccccccc
          struct LEX * lex = 0x00000073`a9ed06d0
          class st_select_lex * select_lex = 0x00000073`a9ed0ea8
          struct TABLE_LIST * first_table = 0x00000073`ad65f370
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!mysql_parse [e:\elenst\10.2\sql\sql_parse.cc @ 7858]
          char * found_semicolon = 0x00000000`00000000 ""
          bool err = false
          struct LEX * lex = 0x00000073`a9ed06d0
          class THD * thd = 0x00000073`a9ecd6e8
          char * rawbuf = 0x00000073`ad65ef90 "--- memory read error at address 0x00000073`ad65ef90 ---"
          unsigned int length = 0x4d
          class Parser_state * parser_state = 0x00000073`ae83e780
          bool is_com_multi = false
          bool is_next_command = false
          struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
          int error = 0n-858993460
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!dispatch_command [e:\elenst\10.2\sql\sql_parse.cc @ 1814]
          char * packet_end = 0x00000073`ad65efdd "--- memory read error at address 0x00000073`ad65efdd ---"
          class Parser_state parser_state = class Parser_state
          enum_server_command command = COM_QUERY (0n3)
          class THD * thd = 0x00000073`a9ecd6e8
          char * packet = 0x00000073`ad7b97d9 "--- memory read error at address 0x00000073`ad7b97d9 ---"
          unsigned int packet_length = 0x4d
          bool is_com_multi = false
          bool is_next_command = false
          bool drop_more_results = false
          bool do_end_of_statement = true
          struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
          bool error = false
          struct st_net * net = 0x00000073`a9ecd8e8
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!do_command [e:\elenst\10.2\sql\sql_parse.cc @ 1361]
          class THD * thd = 0x00000073`a9ecd6e8
          bool return_value = true
          unsigned long packet_length = 0x4e
          struct _db_stack_frame_ _db_stack_frame_ = struct _db_stack_frame_
          enum_server_command command = COM_QUERY (0n3)
          char * packet = 0x00000073`ad7b97d8 "--- memory read error at address 0x00000073`ad7b97d8 ---"
          struct st_net * net = 0x00000073`a9ecd8e8
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!threadpool_process_request [e:\elenst\10.2\sql\threadpool_common.cc @ 346]
          struct st_vio * vio = 0xcccccccc`cccccccc
          class THD * thd = 0x00000073`a9ecd6e8
          int retval = 0n0
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!tp_callback [e:\elenst\10.2\sql\threadpool_common.cc @ 192]
          struct TP_connection * c = 0x00000073`a9e09050
          struct Worker_thread_context worker_context = struct Worker_thread_context
          class THD * thd = 0x00000073`a9ecd6e8
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!tp_callback [e:\elenst\10.2\sql\threadpool_win.cc @ 378]
          struct _TP_CALLBACK_INSTANCE * instance = 0x00000073`ae83f628
          void * context = 0x00000073`a9e09050
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!work_callback [e:\elenst\10.2\sql\threadpool_win.cc @ 452]
          struct _TP_CALLBACK_INSTANCE * instance = 0x00000073`ae83f628
          void * context = 0x00000073`a9e09050
          struct _TP_WORK * work = 0x00000073`a9cd1e20
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          ntdll!TppWorkpExecuteCallback
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          ntdll!TppWorkerThread
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          kernel32!BaseThreadInitThunk
          Unable to enumerate locals, HRESULT 0x80004005
          Private symbols (symbols.pri) are required for locals.
          Type ".hh dbgerr005" for details.
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          ntdll!RtlUserThreadStart
          Unable to enumerate locals, HRESULT 0x80004005
          Private symbols (symbols.pri) are required for locals.
          Type ".hh dbgerr005" for details.
          _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
          mysqld!handle_rtc_failure [e:\elenst\10.2\mysys\my_init.c @ 284]
          Processing 29 threads, please wait

          . 0 Id: dd4.cdc Suspend: 0 Teb: 00007ff7`9ae9d000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff7`9de3d5a8, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff7`9de3b6c0, struct timespec * abstime = 0x00000000`00000000) [e:\elenst\10.2\mysys\my_wincond.c @ 82]
          mysqld!pthread_cond_wait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff7`9de3d5a8, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff7`9de3b6c0) [e:\elenst\10.2\mysys\my_wincond.c @ 91]
          mysqld!inline_mysql_cond_wait(struct st_mysql_cond * that = 0x00007ff7`9de3d5a8, struct st_mysql_mutex * mutex = 0x00007ff7`9de3b6c0, char * src_file = 0x00007ff7`9c512198 "E:\elenst\10.2\sql\mysqld.cc", unsigned int src_line = 0x15af) [e:\elenst\10.2\include\mysql\psi\mysql_thread.h @ 1138]
          mysqld!handle_connections_methods(void) [e:\elenst\10.2\sql\mysqld.cc @ 5551]
          mysqld!win_main(int argc = 0n144, char ** argv = 0x00000073`a3cfced8) [e:\elenst\10.2\sql\mysqld.cc @ 6041]
          mysqld!mysql_service(void * p = 0x00000000`00000000) [e:\elenst\10.2\sql\mysqld.cc @ 6100]
          mysqld!mysqld_main(int argc = 0n23, char ** argv = 0x00000073`a3ce9cb0) [e:\elenst\10.2\sql\mysqld.cc @ 6293]
          mysqld!main(int argc = 0n23, char ** argv = 0x00000073`a3ce9cb0) [e:\elenst\10.2\sql\main.cc @ 26]
          mysqld!invoke_main(void) [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 65]
          mysqld!__scrt_common_main_seh(void) [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 253]
          mysqld!__scrt_common_main(void) [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl @ 296]
          mysqld!mainCRTStartup(void) [f:\dd\vctools\crt\vcstartup\src\startup\exe_main.cpp @ 17]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 1 Id: dd4.d58 Suspend: 0 Teb: 00007ff7`9ae9b000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff7`9e6bc458, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff7`9e6bc428, struct timespec * abstime = 0x00000073`aa43fd68) [e:\elenst\10.2\mysys\my_wincond.c @ 82]
          mysqld!inline_mysql_cond_timedwait(struct st_mysql_cond * that = 0x00007ff7`9e6bc458, struct st_mysql_mutex * mutex = 0x00007ff7`9e6bc428, struct timespec * abstime = 0x00000073`aa43fd68, char * src_file = 0x00007ff7`9dc50728 "--- memory read error at address 0x00007ff7`9dc50728 ---", unsigned int src_line = 0x124) [e:\elenst\10.2\include\mysql\psi\mysql_thread.h @ 1175]
          mysqld!timer_handler(void * arg = 0x00000000`00000000) [e:\elenst\10.2\mysys\thr_timer.c @ 293]
          mysqld!pfs_spawn_thread(void * arg = 0x00000073`a3d0c278) [e:\elenst\10.2\storage\perfschema\pfs.cc @ 1864]
          mysqld!pthread_start(void * p = 0x00000073`a3cf5170) [e:\elenst\10.2\mysys\my_winthread.c @ 61]
          mysqld!invoke_thread_procedure(<function> * procedure = 0x00007ff7`9c1f74c0, void * context = 0x00000073`a3cf5170) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 92]
          mysqld!thread_start<unsigned int (void * parameter = 0x00000073`a3d051e0) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 2 Id: dd4.2cc Suspend: 0 Teb: 00007ff7`9ae99000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtRemoveIoCompletion
          KERNELBASE!GetQueuedCompletionStatus
          mysqld!os_aio_windows_handler(unsigned int64 segment = 0, unsigned int64 pos = 0, struct fil_node_t ** m1 = 0x00000073`ab5df788, void ** m2 = 0x00000073`ab5df7d8, class IORequest * type = 0x00000073`ab5df7a8) [e:\elenst\10.2\storage\innobase\os\os0file.cc @ 6495]
          mysqld!os_aio_handler(unsigned int64 segment = 0, struct fil_node_t ** m1 = 0x00000073`ab5df788, void ** m2 = 0x00000073`ab5df7d8, class IORequest * request = 0x00000073`ab5df7a8) [e:\elenst\10.2\storage\innobase\os\os0file.cc @ 5688]
          mysqld!fil_aio_wait(unsigned int64 segment = 0) [e:\elenst\10.2\storage\innobase\fil\fil0fil.cc @ 5350]
          mysqld!io_handler_thread(void * arg = 0x00007ff7`9dea1a20) [e:\elenst\10.2\storage\innobase\srv\srv0start.cc @ 328]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 8 Id: dd4.90c Suspend: 0 Teb: 00007ff7`9ad6a000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!os_event::timed_wait(unsigned long time_in_ms = 0x3e8) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 262]
          mysqld!os_event::wait_time_low(unsigned int64 time_in_usec = 0xf4240, int64 reset_sig_count = 0n2) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 415]
          mysqld!os_event_wait_time_low(struct os_event * event = 0x00000073`a9abec20, unsigned int64 time_in_usec = 0xf4240, int64 reset_sig_count = 0n2) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 519]
          mysqld!pc_sleep_if_needed(unsigned int64 next_loop_time = 0x0000015a`fb8fb652, int64 sig_count = 0n2) [e:\elenst\10.2\storage\innobase\buf\buf0flu.cc @ 2689]
          mysqld!buf_flush_page_cleaner_coordinator(void * arg = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\buf\buf0flu.cc @ 3191]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 9 Id: dd4.fa4 Suspend: 0 Teb: 00007ff7`9ad68000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!os_event::timed_wait(unsigned long time_in_ms = 0x3e8) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 262]
          mysqld!os_event::wait_time_low(unsigned int64 time_in_usec = 0xf4240, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 415]
          mysqld!os_event_wait_time_low(struct os_event * event = 0x00000073`a9cc42b0, unsigned int64 time_in_usec = 0xf4240, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 519]
          mysqld!lock_wait_timeout_thread(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\lock\lock0wait.cc @ 530]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 10 Id: dd4.a54 Suspend: 0 Teb: 00007ff7`9ad66000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!os_event::timed_wait(unsigned long time_in_ms = 0x3e8) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 262]
          mysqld!os_event::wait_time_low(unsigned int64 time_in_usec = 0xf4240, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 415]
          mysqld!os_event_wait_time_low(struct os_event * event = 0x00000073`a9abdd40, unsigned int64 time_in_usec = 0xf4240, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 519]
          mysqld!srv_error_monitor_thread(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 1979]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 11 Id: dd4.e7c Suspend: 0 Teb: 00007ff7`9ad64000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!os_event::timed_wait(unsigned long time_in_ms = 0x1388) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 262]
          mysqld!os_event::wait_time_low(unsigned int64 time_in_usec = 0x4c4b40, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 415]
          mysqld!os_event_wait_time_low(struct os_event * event = 0x00000073`a9abd800, unsigned int64 time_in_usec = 0x4c4b40, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 519]
          mysqld!srv_monitor_thread(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 1754]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 12 Id: dd4.d1c Suspend: 0 Teb: 00007ff7`9ad62000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtDelayExecution
          KERNELBASE!SleepEx
          mysqld!os_thread_sleep(unsigned int64 tm = 0xf4240) [e:\elenst\10.2\storage\innobase\os\os0thread.cc @ 229]
          mysqld!srv_master_sleep(void) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 2515]
          mysqld!srv_master_thread(void * arg = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 2563]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 13 Id: dd4.f24 Suspend: 0 Teb: 00007ff7`9ad60000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!os_event::wait(void) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 159]
          mysqld!os_event::wait_low(int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 340]
          mysqld!os_event_wait_low(struct os_event * event = 0x00000073`a9abe7c0, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 536]
          mysqld!srv_resume_thread(struct srv_slot_t * slot = 0x00000073`a9ad3a98, int64 sig_count = 0n1, bool wait = true, unsigned int64 timeout_usec = 0) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 934]
          mysqld!srv_purge_coordinator_suspend(class THD * thd = 0x00000073`a9e61f68, struct srv_slot_t * slot = 0x00000073`a9ad3a98, unsigned int64 rseg_history_len = 0) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 2862]
          mysqld!srv_purge_coordinator_thread(void * arg = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 2954]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 14 Id: dd4.f7c Suspend: 0 Teb: 00007ff7`9ad5e000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!os_event::wait(void) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 159]
          mysqld!os_event::wait_low(int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 340]
          mysqld!os_event_wait_low(struct os_event * event = 0x00000073`a9abdfe0, int64 reset_sig_count = 0n0) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 536]
          mysqld!srv_resume_thread(struct srv_slot_t * slot = 0x00000073`a9ad3ad0, int64 sig_count = 0n0, bool wait = true, unsigned int64 timeout_usec = 0) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 934]
          mysqld!srv_worker_thread(void * arg = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\srv\srv0srv.cc @ 2709]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 17 Id: dd4.cac Suspend: 0 Teb: 00007ff7`9ad58000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!os_event::wait(void) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 159]
          mysqld!os_event::wait_low(int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 340]
          mysqld!os_event_wait_low(struct os_event * event = 0x00000073`a9abe0c0, int64 reset_sig_count = 0n0) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 536]
          mysqld!buf_dump_thread(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\buf\buf0dump.cc @ 816]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 18 Id: dd4.6e8 Suspend: 0 Teb: 00007ff7`9ad56000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!os_event::timed_wait(unsigned long time_in_ms = 0x2710) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 262]
          mysqld!os_event::wait_time_low(unsigned int64 time_in_usec = 0x989680, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 415]
          mysqld!os_event_wait_time_low(struct os_event * event = 0x00000073`a9cc5430, unsigned int64 time_in_usec = 0x989680, int64 reset_sig_count = 0n0) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 519]
          mysqld!dict_stats_thread(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\dict\dict0stats_bg.cc @ 421]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 19 Id: dd4.b80 Suspend: 0 Teb: 00007ff7`9ad54000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!os_event::timed_wait(unsigned long time_in_ms = 0x1388) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 262]
          mysqld!os_event::wait_time_low(unsigned int64 time_in_usec = 0x4c4b40, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 415]
          mysqld!os_event_wait_time_low(struct os_event * event = 0x00000073`a9cd20f0, unsigned int64 time_in_usec = 0x4c4b40, int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 519]
          mysqld!ib_wqueue_timedwait(struct ib_wqueue_t * wq = 0x00000073`a6448f80, int64 wait_in_usecs = 0n5000000) [e:\elenst\10.2\storage\innobase\ut\ut0wqueue.cc @ 161]
          mysqld!fts_optimize_thread(void * arg = 0x00000073`a6448f80) [e:\elenst\10.2\storage\innobase\fts\fts0opt.cc @ 3044]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 20 Id: dd4.440 Suspend: 0 Teb: 00007ff7`9ad52000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtDelayExecution
          KERNELBASE!SleepEx
          mysqld!os_thread_sleep(unsigned int64 tm = 0xf4240) [e:\elenst\10.2\storage\innobase\os\os0thread.cc @ 229]
          mysqld!btr_defragment_thread(void * arg = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\btr\btr0defragment.cc @ 758]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 21 Id: dd4.e0c Suspend: 0 Teb: 00007ff7`9ad50000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!os_event::wait(void) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 159]
          mysqld!os_event::wait_low(int64 reset_sig_count = 0n1) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 340]
          mysqld!os_event_wait_low(struct os_event * event = 0x00000073`a9abe8a0, int64 reset_sig_count = 0n0) [e:\elenst\10.2\storage\innobase\os\os0event.cc @ 536]
          mysqld!buf_resize_thread(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\buf\buf0buf.cc @ 3181]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 22 Id: dd4.b0c Suspend: 0 Teb: 00007ff7`9ad4e000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00000073`acccf848, struct _RTL_CRITICAL_SECTION * mutex = 0x00000073`acccf7f8, struct timespec * abstime = 0x00000000`00000000) [e:\elenst\10.2\mysys\my_wincond.c @ 82]
          mysqld!pthread_cond_wait(struct _RTL_CONDITION_VARIABLE * cond = 0x00000073`acccf848, struct _RTL_CRITICAL_SECTION * mutex = 0x00000073`acccf7f8) [e:\elenst\10.2\mysys\my_wincond.c @ 91]
          mysqld!inline_mysql_cond_wait(struct st_mysql_cond * that = 0x00000073`acccf848, struct st_mysql_mutex * mutex = 0x00000073`acccf7f8, char * src_file = 0x00007ff7`9c858720 "E:\elenst\10.2\storage\innobase\handler\ha_innodb.cc", unsigned int src_line = 0x152) [e:\elenst\10.2\include\mysql\psi\mysql_thread.h @ 1149]
          mysqld!thd_destructor_proxy(void * __formal = 0x00000000`00000000) [e:\elenst\10.2\storage\innobase\handler\ha_innodb.cc @ 338]
          mysqld!pfs_spawn_thread(void * arg = 0x00000073`a9e7bd98) [e:\elenst\10.2\storage\perfschema\pfs.cc @ 1864]
          mysqld!pthread_start(void * p = 0x00000073`a9d2c860) [e:\elenst\10.2\mysys\my_winthread.c @ 61]
          mysqld!invoke_thread_procedure(<function> * procedure = 0x00007ff7`9c1f74c0, void * context = 0x00000073`a9d2c860) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 92]
          mysqld!thread_start<unsigned int (void * parameter = 0x00000073`a9e74440) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 23 Id: dd4.584 Suspend: 0 Teb: 00007ff7`9ad4c000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff7`9e6ad018, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff7`9e6acfe8, struct timespec * abstime = 0x00000073`ae73f768) [e:\elenst\10.2\mysys\my_wincond.c @ 82]
          mysqld!inline_mysql_cond_timedwait(struct st_mysql_cond * that = 0x00007ff7`9e6ad018, struct st_mysql_mutex * mutex = 0x00007ff7`9e6acfe8, struct timespec * abstime = 0x00000073`ae73f768, char * src_file = 0x00007ff7`9dc226e8 "--- memory read error at address 0x00007ff7`9dc226e8 ---", unsigned int src_line = 0x74) [e:\elenst\10.2\include\mysql\psi\mysql_thread.h @ 1175]
          mysqld!my_service_thread_sleep(struct st_ma_service_thread_control * control = 0x00007ff7`9dbf7db0, unsigned int64 sleep_time = 0x00000006`c088e200) [e:\elenst\10.2\storage\maria\ma_servicethread.c @ 119]
          mysqld!ma_checkpoint_background(void * arg = 0x00000000`0000001e) [e:\elenst\10.2\storage\maria\ma_checkpoint.c @ 708]
          mysqld!pfs_spawn_thread(void * arg = 0x00000073`a9e60d88) [e:\elenst\10.2\storage\perfschema\pfs.cc @ 1864]
          mysqld!pthread_start(void * p = 0x00000073`a9d2ce90) [e:\elenst\10.2\mysys\my_winthread.c @ 61]
          mysqld!invoke_thread_procedure(<function> * procedure = 0x00007ff7`9c1f74c0, void * context = 0x00000073`a9d2ce90) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 92]
          mysqld!thread_start<unsigned int (void * parameter = 0x00000073`a9e74260) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 24 Id: dd4.cb0 Suspend: 0 Teb: 00007ff7`9ad4a000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtGetContextThread
          mysqld!__ImageBase
          0x22
          0x00007ff7`000018dc
          0x00000073`ae8374d0
          0x00000073`ae837430
          0x00000073`ae83c890
          0x00000073`ae837490
          0x1
          0x00000073`ae837448
          0x00000073`ae837440
          0x00000073`ae837a30
          0xae837900
          0x00007ffb`00000023
          0x00000073`ae840000
          0x00000073`ae82f000

          . 25 Id: dd4.1c4 Suspend: 0 Teb: 00007ff7`9ad48000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForSingleObject
          KERNELBASE!WaitForSingleObjectEx
          mysqld!handle_shutdown(void * arg = 0x00000000`00000000) [e:\elenst\10.2\sql\mysqld.cc @ 3673]
          mysqld!pfs_spawn_thread(void * arg = 0x00000073`ad5cef38) [e:\elenst\10.2\storage\perfschema\pfs.cc @ 1864]
          mysqld!pthread_start(void * p = 0x00000073`a9d2db80) [e:\elenst\10.2\mysys\my_winthread.c @ 61]
          mysqld!invoke_thread_procedure(<function> * procedure = 0x00007ff7`9c1f74c0, void * context = 0x00000073`a9d2db80) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 92]
          mysqld!thread_start<unsigned int (void * parameter = 0x00000073`ad5cc9d0) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 26 Id: dd4.d64 Suspend: 0 Teb: 00007ff7`9ad46000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForAlertByThreadId
          ntdll!RtlSleepConditionVariableCS
          KERNELBASE!SleepConditionVariableCS
          mysqld!pthread_cond_timedwait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff7`9de3b8c8, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff7`9de3b660, struct timespec * abstime = 0x00000000`00000000) [e:\elenst\10.2\mysys\my_wincond.c @ 82]
          mysqld!pthread_cond_wait(struct _RTL_CONDITION_VARIABLE * cond = 0x00007ff7`9de3b8c8, struct _RTL_CRITICAL_SECTION * mutex = 0x00007ff7`9de3b660) [e:\elenst\10.2\mysys\my_wincond.c @ 91]
          mysqld!inline_mysql_cond_wait(struct st_mysql_cond * that = 0x00007ff7`9de3b8c8, struct st_mysql_mutex * mutex = 0x00007ff7`9de3b660, char * src_file = 0x00007ff7`9c544978 "E:\elenst\10.2\sql\slave.cc", unsigned int src_line = 0x153) [e:\elenst\10.2\include\mysql\psi\mysql_thread.h @ 1138]
          mysqld!handle_slave_background(void * arg = 0x00000000`00000000) [e:\elenst\10.2\sql\slave.cc @ 340]
          mysqld!pfs_spawn_thread(void * arg = 0x00000073`ad5bb3e8) [e:\elenst\10.2\storage\perfschema\pfs.cc @ 1864]
          mysqld!pthread_start(void * p = 0x00000073`a9d2dc10) [e:\elenst\10.2\mysys\my_winthread.c @ 61]
          mysqld!invoke_thread_procedure(<function> * procedure = 0x00007ff7`9c1f74c0, void * context = 0x00000073`a9d2dc10) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 92]
          mysqld!thread_start<unsigned int (void * parameter = 0x00000073`ad5cd970) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 27 Id: dd4.d08 Suspend: 0 Teb: 00007ff7`9ad44000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForSingleObject
          mswsock!SockWaitForSingleObject
          mswsock!WSPSelect
          ws2_32!select
          mysqld!handle_connections_sockets(void) [e:\elenst\10.2\sql\mysqld.cc @ 6573]
          mysqld!handle_connections_sockets_thread(void * arg = 0x00000000`00000000) [e:\elenst\10.2\sql\mysqld.cc @ 6775]
          mysqld!pfs_spawn_thread(void * arg = 0x00000073`ad5cef38) [e:\elenst\10.2\storage\perfschema\pfs.cc @ 1864]
          mysqld!pthread_start(void * p = 0x00000073`a9d2ee10) [e:\elenst\10.2\mysys\my_winthread.c @ 61]
          mysqld!invoke_thread_procedure(<function> * procedure = 0x00007ff7`9c1f74c0, void * context = 0x00000073`a9d2ee10) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 92]
          mysqld!thread_start<unsigned int (void * parameter = 0x00000073`ad5cbf30) [d:\th\minkernel\crts\ucrt\src\appcrt\startup\thread.cpp @ 115]
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          . 28 Id: dd4.eb8 Suspend: 0 Teb: 00007ff7`9ad42000 Unfrozen
                Priority: 0 Priority class: 32

          ntdll!NtWaitForWorkViaWorkerFactory
          ntdll!TppWorkerThread
          kernel32!BaseThreadInitThunk
          ntdll!RtlUserThreadStart

          Total threads: 29
          Duplicate callstacks: 7 (windbg thread #s follow):
          3, 4, 5, 6, 7, 15, 16
          quit:
          {noformat}
          Environment Windows
          elenst Elena Stepanova made changes -
          Labels 10.2-ga
          elenst Elena Stepanova made changes -
          Priority Major [ 3 ] Critical [ 2 ]

          This is a big problem in regular optimizer tests. Please pick it up for the next 10.2 sprint.

          elenst Elena Stepanova added a comment - This is a big problem in regular optimizer tests. Please pick it up for the next 10.2 sprint.
          varun Varun Gupta (Inactive) made changes -
          Status Open [ 1 ] In Progress [ 3 ]

          The query with MIN() funtion does not fail:
          SELECT MIN(t1.pk) FROM t t1 INNER JOIN t t2 ON t1.f1 = t2.f1 WHERE t1.pk <= 4;

          varun Varun Gupta (Inactive) added a comment - The query with MIN() funtion does not fail: SELECT MIN(t1.pk) FROM t t1 INNER JOIN t t2 ON t1.f1 = t2.f1 WHERE t1.pk <= 4;

          After further investigation,

          the function where the memory corruption happens is

          static bool find_key_for_maxmin(bool max_fl, TABLE_REF *ref,
                                          Field* field, COND *cond,
                                          uint *range_fl, uint *prefix_len)
          

          varun Varun Gupta (Inactive) added a comment - After further investigation, the function where the memory corruption happens is static bool find_key_for_maxmin(bool max_fl, TABLE_REF *ref, Field* field, COND *cond, uint *range_fl, uint *prefix_len)

          After adding the particular code to opt_sum_query

          int32 start_guard = 0x13456;
          uchar key_buff[MAX_KEY_LENGTH];
          int32 end_guard = 0x13456;           
          

          So by adding this code, we find the memory corruption actually occurs in the function

          static bool find_key_for_maxmin(bool max_fl, TABLE_REF *ref,
                                          Field* field, COND *cond,
                                          uint *range_fl, uint *prefix_len)
          

          varun Varun Gupta (Inactive) added a comment - After adding the particular code to opt_sum_query int32 start_guard = 0x13456; uchar key_buff[MAX_KEY_LENGTH]; int32 end_guard = 0x13456; So by adding this code, we find the memory corruption actually occurs in the function static bool find_key_for_maxmin(bool max_fl, TABLE_REF *ref, Field* field, COND *cond, uint *range_fl, uint *prefix_len)

          After doubling the size of the key_buffer , we don't encounter the run-time error. Originally with the size of key_buffer = MAX_KEY_LENGTH, the length of the key was 3079.

                    int32 start_guard= 1234;
                    uchar key_buff[2*MAX_KEY_LENGTH];
                    int32 end_guard= 1234;  
          

          varun Varun Gupta (Inactive) added a comment - After doubling the size of the key_buffer , we don't encounter the run-time error. Originally with the size of key_buffer = MAX_KEY_LENGTH, the length of the key was 3079. int32 start_guard= 1234; uchar key_buff[2*MAX_KEY_LENGTH]; int32 end_guard= 1234;

          In the function matching_cond

          uchar *key_ptr= ref->key_buff;
           KEY_PART_INFO *part;
           for (part= keyinfo->key_part; ; key_ptr+= part++->store_length)
           {
            if (part > field_part)
             DBUG_RETURN(FALSE);           // Field is beyond the tested parts
            if (part->field->eq(((Item_field*) args[0])->field))
             break;            // Found a part of the key for the field
           }
          

          we have the size of key_buff set to MAX_KEY_LENGTH
          uchar key_buff[MAX_KEY_LENGTH];
          

          (gdb) p keyinfo->key_part[0].store_length
          $25 = 3075
          (gdb) p keyinfo->key_part[0].field->field_name
          $26 = 0x7fff8401a9f7 "f2"

          So the length 3075 is greater than MAX_KEY_LENGTH

          varun Varun Gupta (Inactive) added a comment - In the function matching_cond uchar *key_ptr= ref ->key_buff; KEY_PART_INFO *part; for (part= keyinfo->key_part; ; key_ptr+= part++->store_length) { if (part > field_part) DBUG_RETURN(FALSE); // Field is beyond the tested parts if (part->field->eq(((Item_field*) args[0])->field)) break ; // Found a part of the key for the field } we have the size of key_buff set to MAX_KEY_LENGTH uchar key_buff[MAX_KEY_LENGTH]; (gdb) p keyinfo->key_part [0] .store_length $25 = 3075 (gdb) p keyinfo->key_part [0] .field->field_name $26 = 0x7fff8401a9f7 "f2" So the length 3075 is greater than MAX_KEY_LENGTH

          So the main issue is that there are keys created with length > MAX_KEY_LENGTH

          there are two reasons for this:

          • the code that counts forgets to add the NULL-byte and VARCHAR-length bytes
          • there are also "extended keys".. PK suffix at the end of the key is not counted either
          varun Varun Gupta (Inactive) added a comment - So the main issue is that there are keys created with length > MAX_KEY_LENGTH there are two reasons for this: the code that counts forgets to add the NULL-byte and VARCHAR-length bytes there are also "extended keys".. PK suffix at the end of the key is not counted either
          varun Varun Gupta (Inactive) added a comment - - edited

          * thread #2: tid = 0xf11a6, 0x0000000100c72229 mysqld`add_pk_parts_to_sk(sk=0x0000000103a648b0, sk_n=1, pk=0x0000000103a64830, pk_n=0, share=0x0000700000b3e490, handler_file=0x0000000103a51030, usable_parts=0x0000700000b3d348) + 41 at table.cc:979, stop reason = breakpoint 5.1
              frame #0: 0x0000000100c72229 mysqld`add_pk_parts_to_sk(sk=0x0000000103a648b0, sk_n=1, pk=0x0000000103a64830, pk_n=0, share=0x0000700000b3e490, handler_file=0x0000000103a51030, usable_parts=0x0000700000b3d348) + 41 at table.cc:979
             976 	                               TABLE_SHARE *share, handler *handler_file,
             977 	                               uint *usable_parts)
             978 	{
          -> 979 	  uint max_key_length= sk->key_length;
             980 	  bool is_unique_key= false;
             981 	  KEY_PART_INFO *current_key_part= &sk->key_part[sk->user_defined_key_parts];
             982 	
          (lldb) p sk->key_length
          (uint) $115 = 3075
          
          

          Here we see the secondary key f2(varchar 1024) includes the length and null bytes

          varun Varun Gupta (Inactive) added a comment - - edited * thread #2: tid = 0xf11a6, 0x0000000100c72229 mysqld`add_pk_parts_to_sk(sk=0x0000000103a648b0, sk_n=1, pk=0x0000000103a64830, pk_n=0, share=0x0000700000b3e490, handler_file=0x0000000103a51030, usable_parts=0x0000700000b3d348) + 41 at table.cc:979, stop reason = breakpoint 5.1 frame #0: 0x0000000100c72229 mysqld`add_pk_parts_to_sk(sk=0x0000000103a648b0, sk_n=1, pk=0x0000000103a64830, pk_n=0, share=0x0000700000b3e490, handler_file=0x0000000103a51030, usable_parts=0x0000700000b3d348) + 41 at table.cc:979 976 TABLE_SHARE *share, handler *handler_file, 977 uint *usable_parts) 978 { -> 979 uint max_key_length= sk->key_length; 980 bool is_unique_key= false ; 981 KEY_PART_INFO *current_key_part= &sk->key_part[sk->user_defined_key_parts]; 982 (lldb) p sk->key_length (uint) $115 = 3075 Here we see the secondary key f2(varchar 1024) includes the length and null bytes

          Also in mysql

           
          if (max_key_length + pk_key_part->length > MAX_KEY_LENGTH)
                  goto end;
          

            Generate extended secondary keys by adding primary key parts to the
            existing secondary key. A primary key part is added if such part doesn't
            present in the secondary key or the part in the secondary key is a
            prefix of the key field. Key parts are added till:
            1) all parts were added
            2) number of key parts became bigger that MAX_REF_PARTS
            3) total key length became longer than MAX_REF_LENGTH
           
          So all the three condition are implemented in mysql 5.6 and 5.7,  mariadb is missing condition 3.
          

          varun Varun Gupta (Inactive) added a comment - Also in mysql   if (max_key_length + pk_key_part->length > MAX_KEY_LENGTH) goto end; Generate extended secondary keys by adding primary key parts to the existing secondary key. A primary key part is added if such part doesn't present in the secondary key or the part in the secondary key is a prefix of the key field. Key parts are added till: 1) all parts were added 2) number of key parts became bigger that MAX_REF_PARTS 3) total key length became longer than MAX_REF_LENGTH   So all the three condition are implemented in mysql 5.6 and 5.7, mariadb is missing condition 3.

          Checked MyRocks source code. It should be able to handle the fact that SQL layer doesn't create extensions for certain keys.

          psergei Sergei Petrunia added a comment - Checked MyRocks source code. It should be able to handle the fact that SQL layer doesn't create extensions for certain keys.
          ratzpo Rasmus Johansson (Inactive) made changes -
          Sprint 10.1.24 [ 161 ]
          varun Varun Gupta (Inactive) added a comment - - edited

          For this test case we get a crash on 10.1

          set global innodb_file_format = BARRACUDA;
          set global innodb_large_prefix = ON;
          show global variables like 'innodb_lar%';
          Variable_name	Value
          innodb_large_prefix	ON
          CREATE TABLE t (
          pk INT, 
          f1 VARCHAR(3), 
          f2 VARCHAR(1024), 
          PRIMARY KEY (pk), 
          KEY(f2)
          ) ENGINE=InnoDB CHARSET utf8 ROW_FORMAT= DYNAMIC;
          INSERT INTO t VALUES (1,'foo','abc'),(2,'bar','def');
          SELECT MAX(t1.pk) FROM t t1 INNER JOIN t t2 ON t1.f1 = t2.f1 WHERE t1.pk <= 4;
          

          varun Varun Gupta (Inactive) added a comment - - edited For this test case we get a crash on 10.1 set global innodb_file_format = BARRACUDA; set global innodb_large_prefix = ON; show global variables like 'innodb_lar%'; Variable_name Value innodb_large_prefix ON CREATE TABLE t ( pk INT, f1 VARCHAR(3), f2 VARCHAR(1024), PRIMARY KEY (pk), KEY(f2) ) ENGINE=InnoDB CHARSET utf8 ROW_FORMAT= DYNAMIC; INSERT INTO t VALUES (1,'foo','abc'),(2,'bar','def'); SELECT MAX(t1.pk) FROM t t1 INNER JOIN t t2 ON t1.f1 = t2.f1 WHERE t1.pk <= 4;
          psergei Sergei Petrunia added a comment - - edited

          Looking at the patch, I see the following logic:

          if (key_length  + index_extension_key_length > MAX_KEY_LENGTH) 
          {
            don't use add index extension;
          }
          

          Note that the entire index extension is removed. Consider a case

          KEY (kp1, kp2)
          PRIMARY KEY(pk1, pk2)
          

          suppose, length(kp1, kp2, pk1, pk2) > MAX_KEY_LENGTH while length(kp1, kp2, pk1) < MAX_KEY_LENGTH. We could have extended the index with just pk1 but the patch does not do that.

          varun, I assume MySQL's solution also has this property?

          psergei Sergei Petrunia added a comment - - edited Looking at the patch, I see the following logic: if (key_length + index_extension_key_length > MAX_KEY_LENGTH) { don't use add index extension; } Note that the entire index extension is removed. Consider a case KEY (kp1, kp2) PRIMARY KEY(pk1, pk2) suppose, length(kp1, kp2, pk1, pk2) > MAX_KEY_LENGTH while length(kp1, kp2, pk1) < MAX_KEY_LENGTH . We could have extended the index with just pk1 but the patch does not do that. varun , I assume MySQL's solution also has this property?
          varun Varun Gupta (Inactive) made changes -
          Assignee Varun Gupta [ varun ] Sergei Petrunia [ psergey ]
          Status In Progress [ 3 ] In Review [ 10002 ]
          psergei Sergei Petrunia made changes -
          Assignee Sergei Petrunia [ psergey ] Varun Gupta [ varun ]
          varun Varun Gupta (Inactive) made changes -
          Status In Review [ 10002 ] Stalled [ 10000 ]
          varun Varun Gupta (Inactive) made changes -
          Status Stalled [ 10000 ] In Progress [ 3 ]
          varun Varun Gupta (Inactive) made changes -
          Fix Version/s 10.1.24 [ 22541 ]
          Fix Version/s 10.2 [ 14601 ]
          Resolution Fixed [ 1 ]
          Status In Progress [ 3 ] Closed [ 6 ]
          serg Sergei Golubchik made changes -
          Workflow MariaDB v3 [ 78159 ] MariaDB v4 [ 151161 ]

          People

            varun Varun Gupta (Inactive)
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Git Integration

                Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.