[MDEV-14996] Assertion `!thd->get_stmt_da()->is_sent() || thd->killed == KILL_CONNECTION' failed in ha_maria::external_lock Created: 2018-01-19  Updated: 2019-06-27  Resolved: 2019-06-27

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - Aria
Affects Version/s: 10.1, 10.2, 10.3, 10.4
Fix Version/s: 10.2.26, 10.3.17, 10.4.7

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Michael Widenius
Resolution: Fixed Votes: 0
Labels: None


 Description   

CREATE TABLE t1 (a INT) ENGINE=Aria;
 
--connect (con1,localhost,root,,)
FLUSH TABLE t1 FOR EXPORT;
--error ER_CONNECTION_KILLED
KILL CONNECTION_ID();
--disconnect con1
 
--connection default
DROP TABLE t1;

10.1 7158edcba3

mysqld: /data/src/10.1/storage/maria/ha_maria.cc:2768: virtual int ha_maria::external_lock(THD*, int): Assertion `!thd->get_stmt_da()->is_sent() || thd->killed == KILL_CONNECTION' failed.
190107 22:03:28 [ERROR] mysqld got signal 6 ;
 
#7  0x00007f2b0ef67ee2 in __assert_fail () from /lib/x86_64-linux-gnu/libc.so.6
#8  0x000055afd98796d9 in ha_maria::external_lock (this=0x7f2b06445088, thd=0x7f2b07cdb070, lock_type=2) at /data/src/10.1/storage/maria/ha_maria.cc:2767
#9  0x000055afd96bc5f8 in handler::ha_external_lock (this=0x7f2b06445088, thd=0x7f2b07cdb070, lock_type=2) at /data/src/10.1/sql/handler.cc:5866
#10 0x000055afd979f996 in unlock_external (thd=0x7f2b07cdb070, table=0x7f2b0641d698, count=1) at /data/src/10.1/sql/lock.cc:673
#11 0x000055afd979efc8 in mysql_unlock_tables (thd=0x7f2b07cdb070, sql_lock=0x7f2b0641d670, free_lock=true) at /data/src/10.1/sql/lock.cc:399
#12 0x000055afd979ef34 in mysql_unlock_tables (thd=0x7f2b07cdb070, sql_lock=0x7f2b0641d670) at /data/src/10.1/sql/lock.cc:388
#13 0x000055afd9403517 in close_thread_tables (thd=0x7f2b07cdb070) at /data/src/10.1/sql/sql_base.cc:1030
#14 0x000055afd940702a in Locked_tables_list::unlock_locked_tables (this=0x7f2b07cdea18, thd=0x7f2b07cdb070) at /data/src/10.1/sql/sql_base.cc:2868
#15 0x000055afd942c172 in THD::cleanup (this=0x7f2b07cdb070) at /data/src/10.1/sql/sql_class.cc:1482
#16 0x000055afd939fc24 in thd_cleanup (thd=0x7f2b07cdb070) at /data/src/10.1/sql/mysqld.cc:2763
#17 0x000055afd939fd8d in unlink_thd (thd=0x7f2b07cdb070) at /data/src/10.1/sql/mysqld.cc:2831
#18 0x000055afd93a0191 in one_thread_per_connection_end (thd=0x7f2b07cdb070, put_in_cache=true) at /data/src/10.1/sql/mysqld.cc:2959
#19 0x000055afd95a51cb in do_handle_one_connection (thd_arg=0x7f2b07cdb070) at /data/src/10.1/sql/sql_connect.cc:1349
#20 0x000055afd95a4e22 in handle_one_connection (arg=0x7f2b07cdb070) at /data/src/10.1/sql/sql_connect.cc:1242
#21 0x000055afd99630a0 in pfs_spawn_thread (arg=0x7f2b0e43a3f0) at /data/src/10.1/storage/perfschema/pfs.cc:1861
#22 0x00007f2b10c6b494 in start_thread (arg=0x7f2b10fa1b00) at pthread_create.c:333
#23 0x00007f2b0f02493f in clone () from /lib/x86_64-linux-gnu/libc.so.6
 
Query (0x0): 
Connection ID (thread ID): 4
Status: KILL_CONNECTION

Not reproducible on 10.0.
No visible effect on a non-debug build.



 Comments   
Comment by Michael Widenius [ 2019-06-27 ]

Fixed assert to handle any case where thread is killed

Generated at Thu Feb 08 08:17:54 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.