Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
11.8
-
Can result in hang or crash
-
InnoDB partitioned system version tables could crash during an InnoDB purge if the table wasn't already open attempting to resolve the ROW_START/ROW_END columns.
Description
CURRENT_TEST: main.partition_innodb
|
/home/dan/repos/mariadb-server-11.8/sql/partition_info.h:501:64: runtime error: member access within null pointer of type 'SELECT_LEX' (aka 'class st_select_lex')
|
#0 0x000000d0569a in partition_info::vers_fix_field_list(THD*) /home/dan/repos/mariadb-server-11.8/sql/partition_info.h:501:64
|
#1 0x000000ca208e in fix_partition_func(THD*, TABLE*, bool) /home/dan/repos/mariadb-server-11.8/sql/sql_partition.cc:2022:20
|
#2 0x0000012ecd7e in open_table_from_share(THD*, TABLE_SHARE*, st_mysql_const_lex_string const*, unsigned int, unsigned int, unsigned int, TABLE*, bool, List<String>*) /home/dan/repos/mariadb-server-11.8/sql/table.cc:4581:12
|
#3 0x000000956148 in open_table(THD*, TABLE_LIST*, Open_table_context*) /home/dan/repos/mariadb-server-11.8/sql/sql_base.cc:2320:12
|
#4 0x000000a2b20d in open_purge_table(THD*, char const*, unsigned long, char const*, unsigned long, MDL_ticket*) /home/dan/repos/mariadb-server-11.8/sql/sql_class.cc:5198:15
|
#5 0x0000036204f9 in trx_purge_table_open(unsigned long, MDL_context*) /home/dan/repos/mariadb-server-11.8/storage/innobase/trx/trx0purge.cc:1221:27
|
#6 0x0000036231ce in trx_purge_attach_undo_recs(trx_t*, unsigned long*) /home/dan/repos/mariadb-server-11.8/storage/innobase/trx/trx0purge.cc:1345:23
|
#7 0x000003620d8c in trx_purge(trx_t*, unsigned long, unsigned long) /home/dan/repos/mariadb-server-11.8/storage/innobase/trx/trx0purge.cc:1462:37
|
#8 0x0000035d010c in purge_coordinator_state::do_purge(trx_t*) /home/dan/repos/mariadb-server-11.8/storage/innobase/srv/srv0srv.cc:1420:28
|
#9 0x0000035c5ba3 in purge_coordinator_callback(void*) /home/dan/repos/mariadb-server-11.8/storage/innobase/srv/srv0srv.cc:1513:15
|
#10 0x000003cdab8f in tpool::task_group::execute(tpool::task*) /home/dan/repos/mariadb-server-11.8/tpool/task_group.cc:73:9
|
#11 0x000003cdbd85 in tpool::task::execute() /home/dan/repos/mariadb-server-11.8/tpool/task.cc:32:16
|
#12 0x000003cc3189 in tpool::thread_pool_generic::worker_main(tpool::worker_data*) /home/dan/repos/mariadb-server-11.8/tpool/tpool_generic.cc:531:11
|
#13 0x000003cd2c13 in void std::__invoke_impl<void, void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>(std::__invoke_memfun_deref, void (tpool::thread_pool_generic::*&&)(tpool::worker_data*), tpool::thread_pool_generic*&&, tpool::worker_data*&&) /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/bits/invoke.h:76:14
|
#14 0x000003cd29a6 in std::__invoke_result<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>::type std::__invoke<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>(void (tpool::thread_pool_generic::*&&)(tpool::worker_data*), tpool::thread_pool_generic*&&, tpool::worker_data*&&) /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/bits/invoke.h:98:14
|
#15 0x000003cd2911 in void std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>>::_M_invoke<0ul, 1ul, 2ul>(std::_Index_tuple<0ul, 1ul, 2ul>) /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/bits/std_thread.h:303:13
|
#16 0x000003cd2812 in std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>>::operator()() /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/bits/std_thread.h:310:11
|
#17 0x000003cd22b4 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (tpool::thread_pool_generic::*)(tpool::worker_data*), tpool::thread_pool_generic*, tpool::worker_data*>>>::_M_run() /usr/bin/../lib/gcc/x86_64-redhat-linux/16/../../../../include/c++/16/bits/std_thread.h:255:13
|
#18 0x7fae91a523b5 (/lib64/libstdc++.so.6+0x523b5) (BuildId: 6b0daaa863718f34a63ddf66e0413c5d6e1e583e)
|
#19 0x00000057c86a in asan_thread_start(void*) asan_interceptors.cpp.o
|
#20 0x7fae91879d18 in start_thread (/lib64/libc.so.6+0x72d18) (BuildId: 18472003bbf1c5f098a09b5016b9b8bd4c7c59f0)
|
#21 0x7fae918fd64b in __GI___clone3 (/lib64/libc.so.6+0xf664b) (BuildId: 18472003bbf1c5f098a09b5016b9b8bd4c7c59f0)
|
 |
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/dan/repos/mariadb-server-11.8/sql/partition_info.h:501:64
|
So far has resisted attempt of rr recording this.
Attachments
Issue Links
- is part of
-
MDEV-25454 Make MariaDB server UBSAN safe
-
- Confirmed
-
- links to