Deadlock between xt_pwrite_fmap xt_flush_fmap xt_lock_fmap_ptr
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
PBXT |
Fix Committed
|
Undecided
|
Vladimir Kolesnikov |
Bug Description
When executing a random workload in 100 threads, PBXT deadlocked with the following significant threads:
Thread #1
#1 0x00000000001988fe in xt_timed_wait_cond (self=0x0, cond=0x36c7270, mutex=0x36c7248, milli_sec=10000) at thread_xt.cc:1896
#2 0x00000000001af8d0 in xt_rwmutex_xlock (xsl=0x36c7238, thd_id=4) at lock_xt.cc:509
#3 0x0000000000152c48 in xt_pwrite_fmap (map=0x3f03ac8, offset=27262239, size=1405, data=0x3638ad7, stat=0x7f14b518
at filesys_xt.cc:1378
#4 0x0000000000179bee in xres_apply_change (self=0x7f14b51
at restart_xt.cc:655
#5 0x000000000017bebb in xt_xres_
at restart_xt.cc:1461
#6 0x00000000001ac194 in xlog_wr_main (self=0x7f14b51
#7 0x00000000001ac39f in xlog_wr_run_thread (self=0x7f14b51
#8 0x000000000019aec0 in thr_main (data=0x7fffc15
Thread #2
#1 0x00000000001988fe in xt_timed_wait_cond (self=0x0, cond=0x36c7270, mutex=0x36c7248, milli_sec=10000) at thread_xt.cc:1896
#2 0x00000000001af492 in xt_rwmutex_slock (xsl=0x36c7238, thd_id=5) at lock_xt.cc:552
#3 0x00000000001527a4 in xt_flush_fmap (map=0x41fd688, stat=0x7f14b519
#4 0x000000000018de97 in xt_flush_record_row (ot=0x523f0d8, bytes_flushed=
#5 0x0000000000178e1c in xres_cp_checkpoint (self=0x7f14b51
#6 0x00000000001791ff in xres_cp_main (self=0x7f14b51
#7 0x000000000017951f in xres_cp_run_thread (self=0x7f14b51
#8 0x000000000019aec0 in thr_main (data=0x7fffc15
Thread #3
#1 0x00000000001988fe in xt_timed_wait_cond (self=0x0, cond=0x36c7270, mutex=0x36c7248, milli_sec=10000) at thread_xt.cc:1896
#2 0x00000000001af492 in xt_rwmutex_slock (xsl=0x36c7238, thd_id=11) at lock_xt.cc:552
#3 0x000000000015267f in xt_lock_fmap_ptr (map=0x3670808, offset=2057944, size=32772, stat=0x3ae8af8, thread=0x3ae49d8) at filesys_xt.cc:1584
#4 0x000000000018b252 in xt_tab_seq_next (ot=0x3a391e8, buffer=0x3b7b680 "\177ШЪ", eof=0x7f149c7fc038) at table_xt.cc:4838
#5 0x0000000000158e59 in ha_pbxt::rnd_next (this=0x3ae4450, buf=0x3b7b680 "\177ШЪ") at ha_pbxt.cc:3099
#6 0x0000000000808de3 in rr_sequential (info=0x7f149c7
#7 0x00000000007957d5 in mysql_delete (thd=0x7f14b539
reset_
#8 0x00000000006d427b in mysql_execute_
#9 0x00000000006d927f in mysql_parse (thd=0x7f14b539
inBuf=0x3a67410 "DELETE FROM `table1000_
at sql_parse.cc:5735
#10 0x00000000006d9e6a in dispatch_command (command=COM_QUERY, thd=0x7f14b539d128,
packet=
#11 0x00000000006db393 in do_command (thd=0x7f14b539
#12 0x00000000006c949d in handle_
All other threads were stuck in xt_xn_wait_for_xact
Changed in pbxt: | |
assignee: | vkolesnikov → pstoev |
status: | Incomplete → In Progress |
Philip,
how can I reproduce this?