[MDEV-32739] Assertion `((&(&thd->LOCK_thd_data)->m_mutex)->count > 0 && pthread_equal(pthread_self(), (&(&thd->LOCK_thd_data) ->m_mutex)->thread))' failed in my_bool wsrep_thd_is_aborting(const THD*) Created: 2023-11-09  Updated: 2023-11-09

Status: Open
Project: MariaDB Server
Component/s: Galera
Affects Version/s: 11.3
Fix Version/s: 11.3

Type: Bug Priority: Major
Reporter: Ramesh Sivaraman Assignee: Jan Lindström
Resolution: Unresolved Votes: 0
Labels: None

Attachments: File n1.cnf     File n2.cnf     File n3.cnf     File oltp.zz     File oltp_and_ddl_v4.yy    

 Description   

perl gendata.pl --dsn=dbi:mysql:host=127.0.0.1:port=10455:user=root:database=test --spec=conf/mariadb/oltp.zz
perl gentest.pl --dsn=dbi:mysql:host=127.0.0.1:port=10455:user=root:database=test --grammar=conf/mariadb/oltp_and_ddl_v4.yy --threads=12 --duration=30000 --queries=1000000000 &
perl gentest.pl --dsn=dbi:mysql:host=127.0.0.1:port=10153:user=root:database=test --grammar=conf/mariadb/oltp_and_ddl_v4.yy --threads=12 --duration=30000 --queries=1000000000 &
perl gentest.pl --dsn=dbi:mysql:host=127.0.0.1:port=10547:user=root:database=test --grammar=conf/mariadb/oltp_and_ddl_v4.yy --threads=12 --duration=30000 --queries=1000000000 &

Leads to

11.3.0 22ffe4dd227451ebd0ef842850ef57b81aa8f930 (Debug)

#0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
#1  0x000055dac0a32e0c in my_write_core (sig=sig@entry=6) at /test/mtest/11.3_dbg/mysys/stacktrace.c:424
#2  0x000055dac031e54a in handle_fatal_signal (sig=6) at /test/mtest/11.3_dbg/sql/signal_handler.cc:360
#3  <signal handler called>
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#5  0x000014605a0cf859 in __GI_abort () at abort.c:79
#6  0x000014605a0cf729 in __assert_fail_base (fmt=0x14605a265588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=0x55dac0d9a7a0 "((&(&thd->LOCK_thd_data)->m_mutex)->count > 0 && pthread_equal(pthread_self(), (&(&thd->LOCK_thd_data)->m_mutex)->thread))", 
    file=0x55dac0e0c518 "/test/mtest/11.3_dbg/sql/service_wsrep.cc", line=268, function=<optimized out>) at assert.c:92
#7  0x000014605a0e0fd6 in __GI___assert_fail (
    assertion=assertion@entry=0x55dac0d9a7a0 "((&(&thd->LOCK_thd_data)->m_mutex)->count > 0 && pthread_equal(pthread_self(), (&(&thd->LOCK_thd_data)->m_mutex)->thread))", 
    file=file@entry=0x55dac0e0c518 "/test/mtest/11.3_dbg/sql/service_wsrep.cc", line=line@entry=268, function=function@entry=0x55dac0e0c668 "my_bool wsrep_thd_is_aborting(const THD*)") at assert.c:101
#8  0x000055dac05fd432 in wsrep_thd_is_aborting (thd=0x145fc4000f88) at /usr/include/pthread.h:1167
#9  0x000055dac069b4c8 in wsrep_assert_no_bf_bf_wait (lock=lock@entry=0x14604a4a5800, trx=trx@entry=0x14604a4a6180) at /test/mtest/11.3_dbg/storage/innobase/lock/lock0lock.cc:550
#10 0x000055dac069ba20 in lock_rec_has_to_wait (lock_is_on_supremum=true, lock2=0x14604a4a5800, type_mode=<optimized out>, trx=0x14604a4a6180) at /test/mtest/11.3_dbg/storage/innobase/lock/lock0lock.cc:724
#11 lock_has_to_wait (lock1=<optimized out>, lock2=lock2@entry=0x14604a4a5800) at /test/mtest/11.3_dbg/storage/innobase/lock/lock0lock.cc:761
#12 0x000055dac06a9a9c in lock_wait_wsrep (trx=trx@entry=0x14604a4a6180) at /usr/include/c++/9/bits/atomic_base.h:734
#13 0x000055dac06b0419 in lock_wait (thr=thr@entry=0x145fe40b4fa8) at /test/mtest/11.3_dbg/storage/innobase/lock/lock0lock.cc:1918
#14 0x000055dac0795392 in row_mysql_handle_errors (new_err=new_err@entry=0x14601806308c, trx=trx@entry=0x14604a4a6180, thr=thr@entry=0x145fe40b4fa8, savept=savept@entry=0x146018063090)
    at /test/mtest/11.3_dbg/storage/innobase/row/row0mysql.cc:687
#15 0x000055dac0796f26 in row_insert_for_mysql (mysql_rec=mysql_rec@entry=0x145fe40442b8 "\377", ' ' <repeats 60 times>, "\030", prebuilt=0x145fe40b45d0, ins_mode=ROW_INS_NORMAL)
    at /test/mtest/11.3_dbg/storage/innobase/row/row0mysql.cc:1325
#16 0x000055dac063be42 in ha_innobase::write_row (this=0x145fe40ae430, record=0x145fe40442b8 "\377", ' ' <repeats 60 times>, "\030") at /test/mtest/11.3_dbg/storage/innobase/handler/ha_innodb.cc:7839
#17 0x000055dac03321ed in handler::ha_write_row (this=0x145fe40ae430, buf=0x145fe40442b8 "\377", ' ' <repeats 60 times>, "\030") at /test/mtest/11.3_dbg/sql/handler.cc:7863
#18 0x000055dac04b5192 in Rows_log_event::write_row (this=this@entry=0x145fe4022268, rgi=rgi@entry=0x145fe4020010, overwrite=false) at /test/mtest/11.3_dbg/sql/log_event_server.cc:6759
#19 0x000055dac04b5c55 in Write_rows_log_event::do_exec_row (this=0x145fe4022268, rgi=0x145fe4020010) at /test/mtest/11.3_dbg/sql/log_event_server.cc:7019
#20 0x000055dac04a9f82 in Rows_log_event::do_apply_event (this=0x145fe4022268, rgi=0x145fe4020010) at /test/mtest/11.3_dbg/sql/log_event_server.cc:5132
#21 0x000055dac04a15c2 in Log_event::apply_event (this=this@entry=0x145fe4022268, rgi=0x145fe4020010) at /test/mtest/11.3_dbg/sql/log_event.cc:3875
#22 0x000055dac05f1caa in wsrep_apply_events (thd=thd@entry=0x145fe4000f88, rli=<optimized out>, events_buf=<optimized out>, buf_len=0) at /test/mtest/11.3_dbg/sql/wsrep_applier.cc:208
#23 0x000055dac05d407e in apply_events (thd=thd@entry=0x145fe4000f88, rli=<optimized out>, data=..., err=...) at /test/mtest/11.3_dbg/wsrep-lib/include/wsrep/buffer.hpp:48
#24 0x000055dac05d4b02 in Wsrep_applier_service::apply_write_set (this=0x146018064bc0, ws_meta=..., data=..., err=...) at /test/mtest/11.3_dbg/sql/wsrep_high_priority_service.cc:595
#25 0x000055dac0bc0a36 in apply_write_set (server_state=..., high_priority_service=..., ws_handle=..., ws_meta=..., data=...) at /test/mtest/11.3_dbg/wsrep-lib/src/server_state.cpp:332
#26 0x000055dac0bc1983 in wsrep::server_state::on_apply (this=<optimized out>, high_priority_service=..., ws_handle=..., ws_meta=..., data=...) at /test/mtest/11.3_dbg/wsrep-lib/src/server_state.cpp:1128
#27 0x000055dac0bcef14 in wsrep::high_priority_service::apply (data=..., ws_meta=..., ws_handle=..., this=0x146018064bc0) at /test/mtest/11.3_dbg/wsrep-lib/include/wsrep/high_priority_service.hpp:47
#28 (anonymous namespace)::apply_cb (ctx=ctx@entry=0x146018064bc0, wsh=wsh@entry=0x146018063bf0, flags=flags@entry=65, buf=buf@entry=0x146018063c00, meta=meta@entry=0x146018063eb0, 
    exit_loop=exit_loop@entry=0x146018063e6f) at /test/mtest/11.3_dbg/wsrep-lib/src/wsrep_provider_v26.cpp:507
#29 0x0000146059b33f65 in galera::TrxHandleSlave::apply (this=this@entry=0x145fbc028170, recv_ctx=recv_ctx@entry=0x146018064bc0, 
    apply_cb=0x55dac0bced91 <(anonymous namespace)::apply_cb(void*, wsrep_ws_handle_t const*, uint32_t, wsrep_buf_t const*, wsrep_trx_meta_t const*, wsrep_bool_t*)>, meta=..., 
    exit_loop=exit_loop@entry=@0x146018063e6f: false) at /home/ramesh/galera-26.4.14/galera/src/trx_handle.cpp:396
#30 0x0000146059b4a73e in galera::ReplicatorSMM::apply_trx (this=0x55dac274edc0, recv_ctx=0x146018064bc0, ts=...) at /home/ramesh/galera-26.4.14/galera/src/replicator_smm.cpp:516
#31 0x0000146059b4e958 in galera::ReplicatorSMM::process_trx (this=0x55dac274edc0, recv_ctx=0x146018064bc0, ts_ptr=...) at /home/ramesh/galera-26.4.14/galera/src/replicator_smm.cpp:2138
#32 0x0000146059b803f9 in galera::GcsActionSource::process_writeset (this=0x55dac27478f0, recv_ctx=0x146018064bc0, act=..., exit_loop=@0x1460180647ef: false)
    at /home/ramesh/galera-26.4.14/galera/src/gcs_action_source.cpp:62
#33 0x0000146059b80e53 in galera::GcsActionSource::dispatch (this=0x55dac27478f0, recv_ctx=0x146018064bc0, act=..., exit_loop=<optimized out>) at /home/ramesh/galera-26.4.14/galera/src/gcs_action_source.cpp:110
#34 0x0000146059b81412 in galera::GcsActionSource::process (this=0x55dac27478f0, recv_ctx=0x146018064bc0, exit_loop=@0x1460180647ef: false) at /home/ramesh/galera-26.4.14/galera/src/gcs_action_source.cpp:186
#35 0x0000146059b4bde0 in galera::ReplicatorSMM::async_recv (this=0x55dac274edc0, recv_ctx=0x146018064bc0) at /home/ramesh/galera-26.4.14/galera/src/replicator_smm.cpp:402
#36 0x0000146059b20671 in galera_recv (gh=<optimized out>, recv_ctx=<optimized out>) at /home/ramesh/galera-26.4.14/galera/src/wsrep_provider.cpp:264
#37 0x000055dac0bcfbec in wsrep::wsrep_provider_v26::run_applier (this=<optimized out>, applier_ctx=<optimized out>) at /test/mtest/11.3_dbg/wsrep-lib/src/wsrep_provider_v26.cpp:858
#38 0x000055dac05f46e8 in wsrep_replication_process (thd=0x145fe4000f88, arg=<optimized out>) at /test/mtest/11.3_dbg/sql/wsrep_server_state.h:56
#39 0x000055dac05e0a4f in start_wsrep_THD (arg=0x55dac2b2a420) at /test/mtest/11.3_dbg/sql/wsrep_mysqld.h:541
#40 0x000014605a5e0609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#41 0x000014605a1cc133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

RQG grammer and cnf files are attached


Generated at Thu Feb 08 10:33:38 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.