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

SIGSEGV in <lambda(trx_t&)>::operator(), SIGSEGV in fetch_data_into_cache

    XMLWordPrintable

Details

    Description

      # mysqld options required for replay:  --innodb-force-recovery=5
      XA START 'a';
      SELECT * FROM mysql.innodb_index_stats;
      SELECT trx_state,trx_isolation_level,trx_LAST_FOREIGN_KEY_ERROR FROM information_schema.innodb_trx;
      

      Leads to:

      10.8.0 ccdf5711a8fff0cd610a91fdcf37c8ff1182878c (Debug)

      Core was generated by `/test/MD121221-mariadb-10.8.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core-'.
      Program terminated with signal SIGSEGV, Segmentation fault.
      #0  0x000055b352749987 in <lambda(trx_t&)>::operator() (trx=..., 
          __closure=<optimized out>) at /usr/include/c++/9/atomic:250
      250	      load(memory_order __m = memory_order_seq_cst) const noexcept
      [Current thread is 1 (Thread 0x14dd800c3700 (LWP 2236630))]
      (gdb) bt
      #0  0x000055b352749987 in <lambda(trx_t&)>::operator() (trx=@0x14dd8115a030: {<ilist_node<void>> = {next = 0x55b353429980 <trx_sys+320>, prev = 0x55b353429980 <trx_sys+320>}, n_ref = {m_counter = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = 0}, <No data fields>}}, id = 0, mutex = {lock = {<std::__atomic_base<unsigned int>> = {static _S_alignment = 4, _M_i = 0}, <No data fields>}, static HOLDER = 2147483648}, mutex_owner = {<std::__atomic_base<unsigned long>> = {static _S_alignment = 8, _M_i = 0}, <No data fields>}, state = {m = {static _S_min_alignment = 4, static _S_alignment = 4, _M_i = TRX_STATE_ACTIVE}}, lock = {wait_lock = {m = {_M_b = {_M_p = 0x0}}}, wait_trx = 0x0, cond = pthread_cond_t = {
                Threads known to still execute a wait function = 0,
                Clock ID = CLOCK_REALTIME,
                Shared = No
              }, suspend_time = {m = {static _S_min_alignment = 8, static _S_alignment = 8, _M_i = {val = 0}}}, was_chosen_as_deadlock_victim = {m = {<std::__atomic_base<unsigned char>> = {static _S_alignment = 1, _M_i = 0 '\000'}, <No data fields>}}, rec_cached = 0 '\000', table_cached = 0 '\000', wait_thr = 0x0, rec_pool = {{lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}}, table_pool = {{trx = 0x14dd8115a030, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x14dcf8013d08, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 22939286191368}, n_bits = 0}}, type_mode = 8}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}}, lock_heap = 0x55b354acbc28, trx_locks = {count = 0, start = 0x0, end = 0x0, node = &ib_lock_t::trx_locks, init = 51966}, table_locks = std::vector of length 0, capacity 1, evicted_tables = {count = 0, start = 0x0, end = 0x0, node = &dict_table_t::table_LRU, init = 51966}, n_rec_locks = 0}, wsrep = 0 '\000', read_view = {<ReadViewBase> = {m_low_limit_id = 0, m_up_limit_id = 0, m_ids = std::vector of length 0, capacity 32, m_low_limit_no = 0}, m_open = {_M_base = {static _S_alignment = 1, _M_i = false}}, m_mutex = {m_mutex = {global = pthread_mutex_t = {
                    Type = Error check,
                    Status = Not acquired,
                    Robust = No,
                    Shared = No,
                    Protocol = None
                  }, mutex = pthread_mutex_t = {
                    Type = Normal,
                    Status = Not acquired,
                    Robust = No,
                    Shared = No,
                    Protocol = None
                  }, file = 0x55b352de2158 "/test/10.8_dbg/storage/innobase/read/read0read.cc", name = 0x55b352ba30f9 "m_mutex", line = 229, count = 0, create_flags = 0, active_flags = 0, id = 196, thread = 0, locked_mutex = 0x14dcec07b358, used_mutex = 0x14dcec07b3d8, prev = 0x0, next = 0x0}, m_psi = 0x0}, m_creator_trx_id = 0}, is_recovered = false, op_info = 0x55b352d1a58f "", isolation_level = 0, check_foreigns = true, bulk_insert = false, is_registered = true, active_commit_ordered = false, check_unique_secondary = true, flush_log_later = false, must_flush_log_later = false, duplicates = 0, dict_operation = false, dict_operation_lock_mode = false, start_time = 1640064265, start_time_micro = 1640064265175662, commit_lsn = 0, mysql_thd = 0x14dcec000db8, mysql_log_file_name = 0x0, mysql_log_offset = 0, n_mysql_tables_in_use = 0, mysql_n_tables_locked = 0, error_state = DB_SUCCESS, error_info = 0x0, error_key_num = 18446744073709551615, graph = 0x0, trx_savepoints = {count = 0, start = 0x0, end = 0x0, node = &trx_named_savept_t::trx_savepoints, init = 51966}, undo_no = 0, last_sql_stat_start = {least_undo_no = 0}, rsegs = {m_redo = {rseg = 0x0, undo = 0x0}, m_noredo = {rseg = 0x0, undo = 0x0}}, roll_limit = 0, in_rollback = false, pages_undone = 0, n_autoinc_rows = 0, autoinc_locks = 0x14dcec034a98, read_only = false, auto_commit = false, will_lock = true, fts_trx = 0x0, fts_next_doc_id = 0, flush_tables = 0, start_line = 4670, start_file = 0x55b352df54b0 "/test/10.8_dbg/storage/innobase/row/row0sel.cc", xid = {formatID = -1, gtrid_length = 0, bqual_length = 0, data = '\000' <repeats 127 times>}, mod_tables = std::map with 0 elements, detailed_error = 0x55b354acbb08 "", rw_trx_hash_element = 0x0, rw_trx_hash_pins = 0x55b354a91610, magic_n = 91118598}, __closure=<optimized out>) at /usr/include/c++/9/atomic:250
      #1  thread_safe_trx_ilist_t::for_each<fetch_data_into_cache(trx_i_s_cache_t*)::<lambda(trx_t&)> > (callback=<optimized out>, this=<optimized out>) at /test/10.8_dbg/storage/innobase/include/trx0sys.h:828
      #2  fetch_data_into_cache (cache=0x55b353d86ea0 <trx_i_s_cache_static>) at /test/10.8_dbg/storage/innobase/trx/trx0i_s.cc:1214
      #3  trx_i_s_possibly_fetch_data_into_cache (cache=cache@entry=0x55b353d86ea0 <trx_i_s_cache_static>) at /test/10.8_dbg/storage/innobase/trx/trx0i_s.cc:1243
      #4  0x000055b3525a479d in trx_i_s_common_fill_table (thd=0x14dcec000db8, tables=0x14dcec014790) at /test/10.8_dbg/storage/innobase/handler/i_s.cc:972
      #5  0x000055b351f4d7f3 in get_schema_tables_result (join=join@entry=0x14dcec016258, executed_place=executed_place@entry=PROCESSED_BY_JOIN_EXEC) at /test/10.8_dbg/sql/sql_show.cc:8838
      #6  0x000055b351f1f860 in JOIN::exec_inner (this=this@entry=0x14dcec016258) at /test/10.8_dbg/sql/sql_string.h:687
      #7  0x000055b351f20542 in JOIN::exec (this=this@entry=0x14dcec016258) at /test/10.8_dbg/sql/sql_select.cc:4513
      #8  0x000055b351f1e553 in mysql_select (thd=thd@entry=0x14dcec000db8, tables=0x14dcec014790, fields=@0x14dcec014198: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14dcec014498, last = 0x14dcec014720, elements = 3}, <No data fields>}, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2685668096, result=0x14dcec016230, unit=0x14dcec0051c0, select_lex=0x14dcec013ef8) at /test/10.8_dbg/sql/sql_select.cc:4993
      #9  0x000055b351f1e808 in handle_select (thd=thd@entry=0x14dcec000db8, lex=lex@entry=0x14dcec0050e8, result=result@entry=0x14dcec016230, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.8_dbg/sql/sql_select.cc:545
      #10 0x000055b351e7dc1e in execute_sqlcom_select (thd=thd@entry=0x14dcec000db8, all_tables=0x14dcec014790) at /test/10.8_dbg/sql/sql_parse.cc:6253
      #11 0x000055b351e8aaf1 in mysql_execute_command (thd=thd@entry=0x14dcec000db8, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.8_dbg/sql/sql_parse.cc:3944
      #12 0x000055b351e76e0f in mysql_parse (thd=thd@entry=0x14dcec000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x14dd800c2400) at /test/10.8_dbg/sql/sql_parse.cc:8028
      #13 0x000055b351e85aab in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14dcec000db8, packet=packet@entry=0x14dcec00b879 "SELECT trx_state,trx_isolation_level,trx_LAST_FOREIGN_KEY_ERROR FROM information_schema.innodb_trx", packet_length=packet_length@entry=98, blocking=blocking@entry=true) at /test/10.8_dbg/sql/sql_class.h:1360
      #14 0x000055b351e88eea in do_command (thd=0x14dcec000db8, blocking=blocking@entry=true) at /test/10.8_dbg/sql/sql_parse.cc:1402
      #15 0x000055b35200289c in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55b354f35c68, put_in_cache=put_in_cache@entry=true) at /test/10.8_dbg/sql/sql_connect.cc:1418
      #16 0x000055b352002ea1 in handle_one_connection (arg=arg@entry=0x55b354f35c68) at /test/10.8_dbg/sql/sql_connect.cc:1312
      #17 0x000055b352484442 in pfs_spawn_thread (arg=0x55b354e29418) at /test/10.8_dbg/storage/perfschema/pfs.cc:2201
      #18 0x000014dd8a836609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #19 0x000014dd8a424293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.5.14 88b339805d7a9ddebc3fd61e9dee83270dbf474d (Debug)

      Core was generated by `/test/MD121221-mariadb-10.5.14-linux-x86_64-dbg/bin/mysqld --no-defaults --core'.
      Program terminated with signal SIGSEGV, Segmentation fault.
      #0  0x000055e5f289031c in <lambda(trx_t&)>::operator() (trx=..., 
          __closure=<optimized out>)
          at /test/10.5_dbg/storage/innobase/trx/trx0i_s.cc:1225
      1225	    if (!cache->is_truncated && trx.state != TRX_STATE_NOT_STARTED &&
      [Current thread is 1 (Thread 0x150e280f0700 (LWP 2237130))]
      (gdb) bt
      #0  0x000055e5f289031c in <lambda(trx_t&)>::operator() (trx=@0x150e283a9030: {<ilist_node<void>> = {next = 0x55e5f3ec3540 <trx_sys+384>, prev = 0x55e5f3ec3540 <trx_sys+384>}, n_ref = {m_counter = {<std::__atomic_base<int>> = {static _S_alignment = 4, _M_i = 0}, <No data fields>}}, mutex = {m_impl = {m_lock_word = {<std::__atomic_base<unsigned int>> = {static _S_alignment = 4, _M_i = 0}, <No data fields>}, m_event = 0x55e5f53893d8, m_policy = {context = {<latch_t> = {_vptr.latch_t = 0x55e5f33f82a0 <vtable for MutexDebug<TTASEventMutex<GenericPolicy> >+16>, m_id = LATCH_ID_TRX, m_rw_lock = false}, m_mutex = 0x0, m_filename = 0x0, m_line = 0, m_thread_id = 18446744073709551615, m_debug_mutex = {m_freed = false, m_mutex = pthread_mutex_t = {
                        Type = Normal,
                        Status = Not acquired,
                        Robust = No,
                        Shared = No,
                        Protocol = None
                      }}}, m_filename = 0x55e5f2f54720 "/test/10.5_dbg/storage/innobase/trx/trx0trx.cc", m_line = 209, m_count = {m_spins = 0, m_waits = 0, m_calls = 0, m_enabled = false}, m_id = LATCH_ID_TRX}}, m_ptr = 0x0}, id = 0, state = TRX_STATE_ACTIVE, wsrep = false, wsrep_UK_scan = false, read_view = {<ReadViewBase> = {m_low_limit_id = 0, m_up_limit_id = 0, m_ids = std::vector of length 0, capacity 32, m_low_limit_no = 0}, m_open = {_M_base = {static _S_alignment = 1, _M_i = false}}, m_mutex = {m_impl = {m_lock_word = {<std::__atomic_base<unsigned int>> = {static _S_alignment = 4, _M_i = 0}, <No data fields>}, m_event = 0x55e5f5388d68, m_policy = {context = {<latch_t> = {_vptr.latch_t = 0x55e5f33f82a0 <vtable for MutexDebug<TTASEventMutex<GenericPolicy> >+16>, m_id = LATCH_ID_READ_VIEW, m_rw_lock = false}, m_mutex = 0x0, m_filename = 0x0, m_line = 0, m_thread_id = 18446744073709551615, m_debug_mutex = {m_freed = false, m_mutex = pthread_mutex_t = {
                          Type = Normal,
                          Status = Not acquired,
                          Robust = No,
                          Shared = No,
                          Protocol = None
                        }}}, m_filename = 0x55e5f2f18368 "/test/10.5_dbg/storage/innobase/include/read0types.h", m_line = 202, m_count = {m_spins = 0, m_waits = 0, m_calls = 0, m_enabled = false}, m_id = LATCH_ID_READ_VIEW}}, m_ptr = 0x0}, m_creator_trx_id = 0}, lock = {n_active_thrs = 0, que_state = TRX_QUE_RUNNING, wait_lock = 0x0, deadlock_mark = 0, was_chosen_as_deadlock_victim = false, wait_started = 0, wait_thr = 0x0, was_chosen_as_wsrep_victim = false, rec_pool = {{lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}, {lock = {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, pad = '\000' <repeats 255 times>}}, table_pool = {{trx = 0x150e283a9030, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x150d28014868, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 23146249930856}, n_bits = 0}}, type_mode = 16}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}, {trx = 0x0, trx_locks = {prev = 0x0, next = 0x0}, index = 0x0, hash = 0x0, requested_time = 0, wait_time = 0, un_member = {tab_lock = {table = 0x0, locks = {prev = 0x0, next = 0x0}}, rec_lock = {page_id = {m_id = 0}, n_bits = 0}}, type_mode = 0}}, rec_cached = 0, table_cached = 0, lock_heap = 0x55e5f5388f38, trx_locks = {count = 0, start = 0x0, end = 0x0, node = &ib_lock_t::trx_locks, init = 51966}, table_locks = std::vector of length 0, capacity 1, evicted_tables = {count = 0, start = 0x0, end = 0x0, node = &dict_table_t::table_LRU, init = 51966}, cancel = false, n_rec_locks = 0}, is_recovered = false, op_info = 0x55e5f2e61b7e "", isolation_level = 0, check_foreigns = true, is_registered = true, active_commit_ordered = false, check_unique_secondary = true, flush_log_later = false, must_flush_log_later = false, duplicates = 0, dict_operation = TRX_DICT_OP_NONE, dict_operation_lock_mode = 0, start_time = 1640064265, start_time_micro = 1640064265147951, commit_lsn = 0, table_id = 0, mysql_thd = 0x150d1c000db8, mysql_log_file_name = 0x0, mysql_log_offset = 0, n_mysql_tables_in_use = 0, mysql_n_tables_locked = 0, error_state = DB_SUCCESS, error_info = 0x0, error_key_num = 18446744073709551615, graph = 0x0, trx_savepoints = {count = 0, start = 0x0, end = 0x0, node = &trx_named_savept_t::trx_savepoints, init = 51966}, undo_no = 0, last_sql_stat_start = {least_undo_no = 0}, rsegs = {m_redo = {rseg = 0x0, undo = 0x0}, m_noredo = {rseg = 0x0, undo = 0x0}}, roll_limit = 0, in_rollback = false, pages_undone = 0, n_autoinc_rows = 0, autoinc_locks = 0x150d1c0359c8, read_only = false, auto_commit = false, will_lock = true, fts_trx = 0x0, fts_next_doc_id = 0, flush_tables = 0, ddl = false, internal = false, start_line = 4645, start_file = 0x55e5f2f41260 "/test/10.5_dbg/storage/innobase/row/row0sel.cc", xid = 0x55e5f5273e08, mod_tables = std::map with 0 elements, detailed_error = 0x55e5f5388e18 "", rw_trx_hash_element = 0x0, rw_trx_hash_pins = 0x55e5f5325e20, magic_n = 91118598}, __closure=<optimized out>) at /test/10.5_dbg/storage/innobase/trx/trx0i_s.cc:1225
      #1  thread_safe_trx_ilist_t::for_each<fetch_data_into_cache(trx_i_s_cache_t*)::<lambda(trx_t&)> > (callback=<optimized out>, this=<optimized out>) at /test/10.5_dbg/storage/innobase/include/trx0sys.h:840
      #2  fetch_data_into_cache (cache=0x55e5f356ab60 <trx_i_s_cache_static>) at /test/10.5_dbg/storage/innobase/trx/trx0i_s.cc:1224
      #3  trx_i_s_possibly_fetch_data_into_cache (cache=cache@entry=0x55e5f356ab60 <trx_i_s_cache_static>) at /test/10.5_dbg/storage/innobase/trx/trx0i_s.cc:1255
      #4  0x000055e5f26c250d in trx_i_s_common_fill_table (thd=0x150d1c000db8, tables=0x150d1c014738) at /test/10.5_dbg/storage/innobase/handler/i_s.cc:988
      #5  0x000055e5f203b289 in get_schema_tables_result (join=join@entry=0x150d1c016228, executed_place=executed_place@entry=PROCESSED_BY_JOIN_EXEC) at /test/10.5_dbg/sql/sql_show.cc:8819
      #6  0x000055e5f200e9c1 in JOIN::exec_inner (this=this@entry=0x150d1c016228) at /test/10.5_dbg/sql/sql_select.cc:4493
      #7  0x000055e5f200f62c in JOIN::exec (this=this@entry=0x150d1c016228) at /test/10.5_dbg/sql/sql_select.cc:4296
      #8  0x000055e5f200d7b5 in mysql_select (thd=thd@entry=0x150d1c000db8, tables=0x150d1c014738, fields=@0x150d1c013f68: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x150d1c0143f0, last = 0x150d1c0146c8, elements = 3}, <No data fields>}, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2685668096, result=0x150d1c016200, unit=0x150d1c004f60, select_lex=0x150d1c013e18) at /test/10.5_dbg/sql/sql_select.cc:4773
      #9  0x000055e5f200da7b in handle_select (thd=thd@entry=0x150d1c000db8, lex=lex@entry=0x150d1c004e98, result=result@entry=0x150d1c016200, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.5_dbg/sql/sql_select.cc:444
      #10 0x000055e5f1f7f0ef in execute_sqlcom_select (thd=thd@entry=0x150d1c000db8, all_tables=0x150d1c014738) at /test/10.5_dbg/sql/sql_parse.cc:6314
      #11 0x000055e5f1f8c854 in mysql_execute_command (thd=thd@entry=0x150d1c000db8) at /test/10.5_dbg/sql/sql_parse.cc:4005
      #12 0x000055e5f1f77bce in mysql_parse (thd=thd@entry=0x150d1c000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x150e280ef3d0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:8100
      #13 0x000055e5f1f87421 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x150d1c000db8, packet=packet@entry=0x150d1c00b4a9 "SELECT trx_state,trx_isolation_level,trx_LAST_FOREIGN_KEY_ERROR FROM information_schema.innodb_trx", packet_length=packet_length@entry=98, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_class.h:1290
      #14 0x000055e5f1f8ac9d in do_command (thd=0x150d1c000db8) at /test/10.5_dbg/sql/sql_parse.cc:1370
      #15 0x000055e5f20e8082 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55e5f5dbae08, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1418
      #16 0x000055e5f20e8785 in handle_one_connection (arg=arg@entry=0x55e5f5dbae08) at /test/10.5_dbg/sql/sql_connect.cc:1312
      #17 0x000055e5f25a4dff in pfs_spawn_thread (arg=0x55e5f5cd89d8) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
      #18 0x0000150e31a85609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #19 0x0000150e31673293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.4.23 74b3d4252a291456982c8e61a3af3d9936c6fbdd (Optimized)

      Core was generated by `/test/MD121221-mariadb-10.4.23-linux-x86_64-opt/bin/mysqld --no-defaults --core'.
      Program terminated with signal SIGSEGV, Segmentation fault.
      #0  0x0000563a995ca8bb in fetch_data_into_cache (cache=0x4)
          at /test/10.4_opt/storage/innobase/trx/trx0i_s.cc:1283
      1283        if (trx->state != TRX_STATE_NOT_STARTED && trx != purge_sys.query->trx)
      [Current thread is 1 (Thread 0x14b0bc0fc700 (LWP 2236239))]
      (gdb) bt
      #0  0x0000563a995ca8bb in fetch_data_into_cache (cache=0x4) at /test/10.4_opt/storage/innobase/trx/trx0i_s.cc:1283
      #1  trx_i_s_possibly_fetch_data_into_cache (cache=cache@entry=0x563a9a91b280 <trx_i_s_cache_static>) at /test/10.4_opt/storage/innobase/trx/trx0i_s.cc:1315
      #2  0x0000563a994f7313 in trx_i_s_common_fill_table (thd=0x14b088000c48, tables=0x14b0880109a8) at /test/10.4_opt/storage/innobase/handler/i_s.cc:1026
      #3  0x0000563a990531b3 in get_schema_tables_result (join=join@entry=0x14b088013430, executed_place=executed_place@entry=PROCESSED_BY_JOIN_EXEC) at /test/10.4_opt/sql/sql_show.cc:9045
      #4  0x0000563a9903a437 in JOIN::exec_inner (this=0x14b088013430) at /test/10.4_opt/sql/sql_select.cc:4490
      #5  0x0000563a9903ab46 in JOIN::exec (this=this@entry=0x14b088013430) at /test/10.4_opt/sql/sql_select.cc:4316
      #6  0x0000563a99038ac6 in mysql_select (thd=0x14b088000c48, tables=0x14b0880109a8, wild_num=0, fields=@0x14b088010260: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14b0880106c0, last = 0x14b088010938, elements = 3}, <No data fields>}, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=<optimized out>, result=0x14b088013408, unit=0x14b0880049b8, select_lex=0x14b088010118) at /test/10.4_opt/sql/sql_select.cc:4755
      #7  0x0000563a9903951a in handle_select (thd=thd@entry=0x14b088000c48, lex=lex@entry=0x14b0880048f8, result=result@entry=0x14b088013408, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.4_opt/sql/sql_select.cc:436
      #8  0x0000563a98fc1f81 in execute_sqlcom_select (thd=0x14b088000c48, all_tables=0x14b0880109a8) at /test/10.4_opt/sql/sql_parse.cc:6449
      #9  0x0000563a98fd09b7 in mysql_execute_command (thd=0x14b088000c48) at /test/10.4_opt/sql/sql_parse.cc:3963
      #10 0x0000563a98fd3137 in mysql_parse (thd=0x14b088000c48, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /test/10.4_opt/sql/sql_parse.cc:7995
      #11 0x0000563a98fd57ad in dispatch_command (command=COM_QUERY, thd=0x14b088000c48, packet=<optimized out>, packet_length=<optimized out>, is_com_multi=<optimized out>, is_next_command=<optimized out>) at /test/10.4_opt/sql/sql_class.h:1201
      #12 0x0000563a98fd7e1e in do_command (thd=0x14b088000c48) at /test/10.4_opt/sql/sql_parse.cc:1373
      #13 0x0000563a990cda2e in do_handle_one_connection (connect=connect@entry=0x563a9ce2a0e8) at /test/10.4_opt/sql/sql_connect.cc:1420
      #14 0x0000563a990cdb5f in handle_one_connection (arg=0x563a9ce2a0e8) at /test/10.4_opt/sql/sql_connect.cc:1316
      #15 0x000014b0d18db609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #16 0x000014b0d14c9293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Bug confirmed present in:
      MariaDB: 10.3.33 (dbg), 10.3.33 (opt), 10.4.23 (dbg), 10.4.23 (opt), 10.5.14 (dbg), 10.5.14 (opt), 10.6.6 (dbg), 10.6.6 (opt), 10.7.2 (dbg), 10.7.2 (opt), 10.8.0 (dbg), 10.8.0 (opt)

      Bug (or feature/syntax) confirmed not present in:
      MariaDB: 10.2.42 (dbg), 10.2.42 (opt)
      MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.51 (dbg), 5.6.51 (opt), 5.7.36 (dbg), 5.7.36 (opt), 8.0.27 (dbg), 8.0.27 (opt)

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              Roel Roel Van de Paar
              Votes:
              0 Vote for this issue
              Watchers:
              2 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.