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

Crash log on 12th Mar 2025

    XMLWordPrintable

Details

    • Bug
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Incomplete
    • 10.11.10
    • N/A
    • None
    • Windows 11 64bit

    Description

      Crash in best_access_path

      Detailed information is in dump1.stacks.txt and dump2.stacks.txt

      Exception details

      Unhandled exception at 0x00007FFD9DEFF3E4 (server.dll) in mysqld (3).dmp: 0xC0000005: Access violation reading location 0x0000000000000040.

      Presumable reason is null pointer access somewhere in code below

      The corresponding source, as shown in debugger (sql_select.cc, line 9021-9032)

       Json_writer_object trace_access_scan(thd);
       if ((records >= s->found_records || best > s->read_time) &&            // (1)
           !(best_key && best_key->key == MAX_KEY) &&                         // (2)
           !(s->quick &&
             s->quick->get_type() != QUICK_SELECT_I::QS_TYPE_GROUP_MIN_MAX && // (2)
             best_key && s->quick->index == best_key->key &&                  // (2)
             s->table->opt_range_keys.is_set(best_key->key) &&                // (2)
             best_max_key_part >= s->table->opt_range[best_key->key].key_parts) &&// (2)
           !((s->table->file->ha_table_flags() & HA_TABLE_SCAN_ON_INDEX) &&   // (3)
             ! s->table->covering_keys.is_clear_all() && best_key && !s->quick) &&// (3)
           !(s->table->force_index && best_key && !s->quick) &&               // (4)
           !(best_key && s->table->pos_in_table_list->jtbm_subselect))        // (5)
      

      The callstack leading to that is

      *1      server.dll!best_access_path(join, s, remaining_tables, join_positions, idx, disable_jbuf, record_count, pos, loose_scan_pos) Line 9031 
       2      server.dll!get_costs_for_tables(join, remaining_tables, idx, record_count, trace_one_table, pos, store_position, allowed_tables, stop_on_eq_ref) Line 10667 
       3      server.dll!best_extension_by_limited_search(join, remaining_tables, idx, record_count, read_time, search_depth, use_cond_selectivity, processed_eq_ref_tables) Line 11250 
       4      server.dll!greedy_search(join, remaining_tables, search_depth, use_cond_selectivity) Line 9914 
       5      server.dll!choose_plan(join, join_tables) Line 9467 
       6      server.dll!st_join_table::choose_best_splitting(idx, remaining_tables, join_positions, spl_pd_boundary) Line 1083 
       7      server.dll!best_access_path(join, s, remaining_tables, join_positions, idx, disable_jbuf, record_count, pos, loose_scan_pos) Line 8249 
       8      server.dll!get_costs_for_tables(join, remaining_tables, idx, record_count, trace_one_table, pos, store_position, allowed_tables, stop_on_eq_ref) Line 10667 
       9      server.dll!best_extension_by_limited_search(join, remaining_tables, idx, record_count, read_time, search_depth, use_cond_selectivity, processed_eq_ref_tables) Line 11250 
       10     server.dll!best_extension_by_limited_search(join, remaining_tables, idx, record_count, read_time, search_depth, use_cond_selectivity, processed_eq_ref_tables) Line 11449 
       11     server.dll!greedy_search(join, remaining_tables, search_depth, use_cond_selectivity) Line 9914 
       12     server.dll!choose_plan(join, join_tables) Line 9467 
       13     server.dll!make_join_statistics(join, tables_list, keyuse_array) Line 6175 
       14     server.dll!JOIN::optimize_inner() Line 2641 
       15     server.dll!JOIN::optimize() Line 1956 
       16     server.dll!mysql_derived_optimize(thd, lex, derived) Line 1045 
       17     server.dll!mysql_handle_single_derived(lex, derived, phases) Line 200 
       18     server.dll!TABLE_LIST::handle_derived(lex, phases) Line 9686 
       19     [Inline Frame] server.dll!LEX::handle_list_of_derived(table_list, ) Line 4591 
       20     server.dll!st_select_lex::handle_derived(lex, phases) Line 5066 
       21     server.dll!TABLE_LIST::handle_derived(lex, phases) Line 9683 
       22     [Inline Frame] server.dll!LEX::handle_list_of_derived(table_list, ) Line 4591 
       23     server.dll!st_select_lex::handle_derived(lex, phases) Line 5066 
       24     server.dll!JOIN::optimize_inner() Line 2464 
       25     [Inline Frame] server.dll!JOIN::optimize() Line 1954 
       26     server.dll!mysql_select(thd, tables, fields, conds, og_num, order, group, having, proc_param, select_options, result, unit, select_lex) Line 5208 
       27     server.dll!handle_select(thd, lex, result, setup_tables_done_option) Line 600 
       28     server.dll!execute_sqlcom_select(thd, all_tables) Line 6412 
       29     server.dll!mysql_execute_command(thd, is_called_from_prepared_stmt) Line 3999 
       30     server.dll!sp_instr_stmt::exec_core(thd, nextp) Line 3926 
       31     server.dll!sp_lex_keeper::reset_lex_and_exec_core(thd, nextp, open_tables, instr) Line 3646 
       32     server.dll!sp_instr_stmt::execute(thd, nextp) Line 3827 
       33     server.dll!sp_head::execute(thd, merge_da_on_success) Line 1463 
       34     server.dll!sp_head::execute_procedure(thd, args) Line 2479 
       35     server.dll!do_execute_sp(thd, sp) Line 3079 
       36     server.dll!Sql_cmd_call::execute(thd) Line 3321 
       37     server.dll!mysql_execute_command(thd, is_called_from_prepared_stmt) Line 6165 
       38     server.dll!sp_instr_stmt::exec_core(thd, nextp) Line 3926 
       39     server.dll!sp_lex_keeper::reset_lex_and_exec_core(thd, nextp, open_tables, instr) Line 3646 
       40     server.dll!sp_instr_stmt::execute(thd, nextp) Line 3827 
       41     server.dll!sp_head::execute(thd, merge_da_on_success) Line 1463 
       42     server.dll!sp_head::execute_procedure(thd, args) Line 2479 
       43     server.dll!do_execute_sp(thd, sp) Line 3079 
       44     server.dll!Sql_cmd_call::execute(thd) Line 3321 
       45     server.dll!mysql_execute_command(thd, is_called_from_prepared_stmt) Line 6165 
       46     server.dll!sp_instr_stmt::exec_core(thd, nextp) Line 3926 
       47     server.dll!sp_lex_keeper::reset_lex_and_exec_core(thd, nextp, open_tables, instr) Line 3646 
       48     server.dll!sp_instr_stmt::execute(thd, nextp) Line 3827 
       49     server.dll!sp_head::execute(thd, merge_da_on_success) Line 1463 
       50     server.dll!sp_head::execute_procedure(thd, args) Line 2479 
       51     server.dll!do_execute_sp(thd, sp) Line 3079 
       52     server.dll!Sql_cmd_call::execute(thd) Line 3321 
       53     server.dll!mysql_execute_command(thd, is_called_from_prepared_stmt) Line 6165 
       54     server.dll!sp_instr_stmt::exec_core(thd, nextp) Line 3926 
       55     server.dll!sp_lex_keeper::reset_lex_and_exec_core(thd, nextp, open_tables, instr) Line 3646 
       56     server.dll!sp_instr_stmt::execute(thd, nextp) Line 3827 
       57     server.dll!sp_head::execute(thd, merge_da_on_success) Line 1463 
       58     server.dll!sp_head::execute_procedure(thd, args) Line 2479 
       59     server.dll!do_execute_sp(thd, sp) Line 3079 
       60     server.dll!Sql_cmd_call::execute(thd) Line 3321 
       61     server.dll!mysql_execute_command(thd, is_called_from_prepared_stmt) Line 6165 
       62     server.dll!sp_instr_stmt::exec_core(thd, nextp) Line 3926 
       63     server.dll!sp_lex_keeper::reset_lex_and_exec_core(thd, nextp, open_tables, instr) Line 3646 
       64     server.dll!sp_instr_stmt::execute(thd, nextp) Line 3827 
       65     server.dll!sp_head::execute(thd, merge_da_on_success) Line 1463 
       66     server.dll!sp_head::execute_procedure(thd, args) Line 2479 
       67     server.dll!Event_job_data::execute(thd, drop) Line 1482 
       68     [Inline Frame] server.dll!Event_worker_thread::run() Line 318 
       69     server.dll!event_worker_thread(arg) Line 266 
       70     server.dll!pfs_spawn_thread(arg) Line 2204 
       71     server.dll!pthread_start(p) Line 62 
      

      Attachments

        1. mysqld.dmp
          1.35 MB
          Mitchell Lee
        2. mysqld-1.dmp
          766 kB
          Mitchell Lee
        3. dump1.stacks.txt
          294 kB
          Vladislav Vaintroub
        4. dump2.stacks.txt
          278 kB
          Vladislav Vaintroub
        5. screenshot-1.png
          40 kB
          Mitchell Lee
        6. screenshot-2.png
          333 kB
          Vladislav Vaintroub

        Issue Links

          Activity

            People

              Unassigned Unassigned
              npdmailing@gmail.com Mitchell Lee
              Votes:
              0 Vote for this issue
              Watchers:
              5 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.