Core was generated by `/test/MD020124-mariadb-10.6.17-linux-x86_64-dbg/bin/mariadbd --no-defaults --co'.
|
Program terminated with signal SIGABRT, Aborted.
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
[Current thread is 1 (Thread 0x146d00564700 (LWP 2794300))]
|
(gdb) bt
|
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
|
#1 0x0000146d153ed859 in __GI_abort () at abort.c:79
|
#2 0x0000557936f8d90e in safe_mutex_lock (mp=mp@entry=0x146cd0002bd8, my_flags=my_flags@entry=0, file=file@entry=0x557937116210 "/test/10.6_dbg/sql/sql_class.h", line=line@entry=4601) at /test/10.6_dbg/mysys/thr_mutex.c:262
|
#3 0x00005579363b1074 in inline_mysql_mutex_lock (src_line=4601, src_file=0x557937116210 "/test/10.6_dbg/sql/sql_class.h", that=0x146cd0002bd8) at /test/10.6_dbg/include/mysql/psi/mysql_thread.h:750
|
#4 THD::set_killed (killed_err_msg_arg=0x0, killed_errno_arg=0, killed_arg=KILL_QUERY, this=0x146cd0000d48) at /test/10.6_dbg/sql/sql_class.h:4601
|
#5 my_malloc_size_cb_func (size=16368, is_thread_specific=<optimized out>) at /test/10.6_dbg/sql/mysqld.cc:3702
|
#6 0x0000557936f8575b in my_malloc (key=0, size=size@entry=16344, my_flags=69648) at /test/10.6_dbg/mysys/my_malloc.c:109
|
#7 0x0000557936f7cf4e in alloc_root (mem_root=0x146cd0006cb8, length=32, length@entry=30) at /test/10.6_dbg/mysys/my_alloc.c:244
|
#8 0x0000557936f7d3e9 in strmake_root (root=<optimized out>, str=str@entry=0x146d0055fed0 "Innodb_buffer_pool_bytes_data", len=29) at /test/10.6_dbg/mysys/my_alloc.c:494
|
#9 0x0000557936f7d444 in strdup_root (root=<optimized out>, str=<optimized out>, str@entry=0x146d0055fed0 "Innodb_buffer_pool_bytes_data") at /test/10.6_dbg/mysys/my_alloc.c:487
|
#10 0x0000557936aab73b in Query_arena::strdup (str=0x146d0055fed0 "Innodb_buffer_pool_bytes_data", this=<optimized out>) at /test/10.6_dbg/sql/sql_class.h:1261
|
#11 PFS_status_variable_cache::make_show_var_name (this=this@entry=0x146cd001ac18, prefix=prefix@entry=0x146cd0017f80 "Innodb", name=<optimized out>) at /test/10.6_dbg/storage/perfschema/pfs_variable.cc:876
|
#12 0x0000557936aabd08 in PFS_status_variable_cache::manifest (this=this@entry=0x146cd001ac18, thd=thd@entry=0x146cd0000d48, show_var_array=<optimized out>, status_vars=status_vars@entry=0x146cd0001a80, prefix=0x146cd0017f80 "Innodb", nested_array=nested_array@entry=true, strict=false) at /test/10.6_dbg/storage/perfschema/pfs_variable.cc:1198
|
#13 0x0000557936aabdbb in PFS_status_variable_cache::manifest (this=this@entry=0x146cd001ac18, thd=thd@entry=0x146cd0000d48, show_var_array=<optimized out>, status_vars=0x146cd0001a80, prefix=prefix@entry=0x5579372f87b6 "", nested_array=nested_array@entry=false, strict=false) at /test/10.6_dbg/storage/perfschema/pfs_variable.cc:1187
|
#14 0x0000557936aacabb in PFS_status_variable_cache::do_materialize_all (this=0x146cd001ac18, unsafe_thd=<optimized out>) at /test/10.6_dbg/sql/sql_array.h:150
|
#15 0x0000557936ad6e23 in PFS_variable_cache<Status_variable>::materialize_all (unsafe_thd=<optimized out>, this=0x146cd001ac18) at /test/10.6_dbg/storage/perfschema/pfs_variable.h:316
|
#16 table_session_status::rnd_init (this=0x146cd001abf0, scan=<optimized out>) at /test/10.6_dbg/storage/perfschema/table_session_status.cc:90
|
#17 0x0000557936a7fc63 in ha_perfschema::rnd_init (this=0x146cd0536cb0, scan=<optimized out>) at /test/10.6_dbg/storage/perfschema/ha_perfschema.cc:332
|
#18 0x0000557936793389 in handler::ha_rnd_init (scan=true, this=0x146cd0536cb0) at /test/10.6_dbg/sql/handler.h:3520
|
#19 handler::ha_rnd_init_with_error (this=0x146cd0536cb0, scan=scan@entry=true) at /test/10.6_dbg/sql/handler.cc:3681
|
#20 0x00005579369516eb in init_read_record (info=info@entry=0x146cd0016170, thd=<optimized out>, table=0x146cd0538808, select=0x146cd0016dc8, filesort=0x0, use_record_cache=use_record_cache@entry=1, print_error=<optimized out>, disable_rr_cache=<optimized out>) at /test/10.6_dbg/sql/records.cc:328
|
#21 0x000055793651364b in join_init_read_record (tab=0x146cd0016098) at /test/10.6_dbg/sql/sql_select.cc:22848
|
#22 0x00005579364fc791 in sub_select (join=0x146cd0014ab0, join_tab=0x146cd0016098, end_of_records=<optimized out>) at /test/10.6_dbg/sql/sql_select.cc:21826
|
#23 0x0000557936531469 in do_select (procedure=<optimized out>, join=0x146cd0014ab0) at /test/10.6_dbg/sql/sql_select.cc:21352
|
#24 JOIN::exec_inner (this=this@entry=0x146cd0014ab0) at /test/10.6_dbg/sql/sql_select.cc:4882
|
#25 0x0000557936531988 in JOIN::exec (this=this@entry=0x146cd0014ab0) at /test/10.6_dbg/sql/sql_select.cc:4660
|
#26 0x000055793652f905 in mysql_select (thd=thd@entry=0x146cd0000d48, tables=0x146cd0013a78, fields=@0x146cd00136c0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x146cd00139e8, last = 0x146cd0015490, elements = 2}, <No data fields>}, conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=2147748608, result=0x146cd0014a88, unit=0x146cd0005110, select_lex=0x146cd0013408) at /test/10.6_dbg/sql/sql_select.cc:5139
|
#27 0x00005579365300ff in handle_select (thd=thd@entry=0x146cd0000d48, lex=lex@entry=0x146cd0005048, result=result@entry=0x146cd0014a88, setup_tables_done_option=setup_tables_done_option@entry=0) at /test/10.6_dbg/sql/sql_select.cc:561
|
#28 0x00005579364aab1f in execute_sqlcom_select (thd=thd@entry=0x146cd0000d48, all_tables=0x146cd0013a78) at /test/10.6_dbg/sql/sql_parse.cc:6333
|
#29 0x00005579364b750a in mysql_execute_command (thd=thd@entry=0x146cd0000d48, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/10.6_dbg/sql/sql_parse.cc:3963
|
#30 0x00005579364a495f in mysql_parse (thd=thd@entry=0x146cd0000d48, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x146d005632c0) at /test/10.6_dbg/sql/sql_parse.cc:8100
|
#31 0x00005579364b2963 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x146cd0000d48, packet=packet@entry=0x146cd000afa9 "", packet_length=packet_length@entry=47, blocking=blocking@entry=true) at /test/10.6_dbg/sql/sql_class.h:1404
|
#32 0x00005579364b50a2 in do_command (thd=0x146cd0000d48, blocking=blocking@entry=true) at /test/10.6_dbg/sql/sql_parse.cc:1409
|
#33 0x000055793660ca79 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x557938ab9888, put_in_cache=put_in_cache@entry=true) at /test/10.6_dbg/sql/sql_connect.cc:1415
|
#34 0x000055793660d02e in handle_one_connection (arg=arg@entry=0x557938ab9888) at /test/10.6_dbg/sql/sql_connect.cc:1317
|
#35 0x0000557936a82cd0 in pfs_spawn_thread (arg=0x557938a7b2e8) at /test/10.6_dbg/storage/perfschema/pfs.cc:2201
|
#36 0x0000146d158fe609 in start_thread (arg=<optimized out>) at pthread_create.c:477
|
#37 0x0000146d154ea133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
|
This is a sign of lock order inversion, which may potentially cause the mariadbd process to hang.
It does not look like this bug could be fixed in InnoDB. Yes, for the variable innodb_io_capacity_max there is a callback function innodb_io_capacity_max_update, but it does not acquire or release any mutexes, except possibly within push_warning_printf().