[MDEV-28771] Assertion `table->in_use && tdc->flushed' failed after ALTER Created: 2022-06-08  Updated: 2023-08-16  Resolved: 2023-03-29

Status: Closed
Project: MariaDB Server
Component/s: Data Definition - Alter Table
Affects Version/s: None
Fix Version/s: 11.2.1

Type: Bug Priority: Critical
Reporter: Roel Van de Paar Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Duplicate
duplicates MDEV-28774 Assertion `table->in_use && tdc->flus... Closed
is duplicated by MDEV-28825 Server crash in binlog_online_alter_e... Closed
Problem/Incident
is caused by MDEV-16329 Engine-independent online ALTER TABLE Closed

 Description   

SET sql_mode='TRADITIONAL';
CREATE TABLE t (c CHAR(1)) ENGINE=InnoDB;
INSERT INTO t VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF);
SELECT * FROM (t AS t2 JOIN t AS t3 USING (a)) JOIN t USING (a);
ALTER TABLE t CHANGE c c INT;
SELECT * FROM t ORDER BY a;

Leads to:

preview-10.10-MDEV-16329-online-alter 10.10.0 d7a7d16713070c7c2902c3df4b4f6d024cd0320f (Optimized)

Core was generated by `/test/online-alter_MD080622-mariadb-10.10.0-linux-x86_64-opt/bin/mysqld --no-de'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __GI___pthread_mutex_lock (mutex=mutex@entry=0x1e8)
    at ../nptl/pthread_mutex_lock.c:67
[Current thread is 1 (Thread 0x14cec4054700 (LWP 982450))]
(gdb) bt
#0  __GI___pthread_mutex_lock (mutex=mutex@entry=0x1e8) at ../nptl/pthread_mutex_lock.c:67
#1  0x00005621d7d58346 in rw_pr_rdlock (rwlock=rwlock@entry=0x1e8) at /test/preview-10.10-MDEV-16329-online-alter_opt/mysys/thr_rwlock.c:282
#2  0x00005621d7783657 in inline_mysql_prlock_rdlock (that=0x1e8) at /test/preview-10.10-MDEV-16329-online-alter_opt/include/mysql/psi/mysql_thread.h:919
#3  MDL_context::visit_subgraph (this=0x150, gvisitor=gvisitor@entry=0x14cec40521c0) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/mdl.cc:2789
#4  0x00005621d77494df in TABLE_SHARE::visit_subgraph (this=0x14ce40016970, wait_for_flush=<optimized out>, gvisitor=0x14cec40521c0) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/table.cc:5507
#5  0x00005621d77836a8 in MDL_context::visit_subgraph (this=this@entry=0x14ce40000da8, gvisitor=gvisitor@entry=0x14cec40521c0) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/mdl.cc:2796
#6  0x00005621d7783a9a in MDL_context::find_deadlock (this=this@entry=0x14ce40000da8) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/mdl.cc:2820
#7  0x00005621d7749613 in TABLE_SHARE::wait_for_old_version (this=0x14ce40016970, thd=thd@entry=0x14ce40000c58, abstime=abstime@entry=0x14cec40522a0, deadlock_weight=deadlock_weight@entry=1) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/table.cc:5568
#8  0x00005621d782430a in tdc_wait_for_old_version (thd=thd@entry=0x14ce40000c58, db=<optimized out>, table_name=<optimized out>, wait_timeout=<optimized out>, deadlock_weight=1) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/table_cache.cc:1094
#9  0x00005621d75f3e63 in open_table (thd=0x14ce40000c58, table_list=0x14ce40010d90, ot_ctx=0x14cec40529a0) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_base.h:561
#10 0x00005621d75f785a in open_and_process_table (ot_ctx=0x14cec40529a0, has_prelocking_list=false, prelocking_strategy=0x14cec4052a90, flags=0, counter=0x14cec4052a3c, tables=0x14ce40010d90, thd=0x14ce40000c58) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_base.cc:4087
#11 open_tables (thd=thd@entry=0x14ce40000c58, options=@0x14ce400061b8: {m_options = DDL_options_st::OPT_NONE}, start=start@entry=0x14cec4052a28, counter=counter@entry=0x14cec4052a3c, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x14cec4052a90) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_base.cc:4574
#12 0x00005621d75f800a in open_and_lock_tables (thd=thd@entry=0x14ce40000c58, options=<optimized out>, tables=<optimized out>, tables@entry=0x14ce40010d90, derived=derived@entry=true, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x14cec4052a90) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_base.cc:5547
#13 0x00005621d765b0ed in open_and_lock_tables (flags=0, derived=true, tables=0x14ce40010d90, thd=0x14ce40000c58) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_base.h:510
#14 execute_sqlcom_select (thd=0x14ce40000c58, all_tables=0x14ce40010d90) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_parse.cc:6180
#15 0x00005621d7668cbd in mysql_execute_command (thd=0x14ce40000c58, is_called_from_prepared_stmt=<optimized out>) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_parse.cc:3944
#16 0x00005621d7656345 in mysql_parse (rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>, thd=0x14ce40000c58) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_parse.cc:8036
#17 mysql_parse (thd=0x14ce40000c58, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_parse.cc:7958
#18 0x00005621d7661e5a in dispatch_command (command=COM_QUERY, thd=0x14ce40000c58, packet=<optimized out>, packet_length=<optimized out>, blocking=<optimized out>) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_class.h:1365
#19 0x00005621d7663d82 in do_command (thd=0x14ce40000c58, blocking=blocking@entry=true) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_parse.cc:1407
#20 0x00005621d777ae7f in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5621d9d3c0e8, put_in_cache=put_in_cache@entry=true) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_connect.cc:1418
#21 0x00005621d777b15d in handle_one_connection (arg=0x5621d9d3c0e8) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_connect.cc:1312
#22 0x000014cedb8ef609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#23 0x000014cedb4db133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

preview-10.10-MDEV-16329-online-alter 10.10.0 d7a7d16713070c7c2902c3df4b4f6d024cd0320f (Debug)

mysqld: /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table.cc:5496: bool TABLE_SHARE::visit_subgraph(Wait_for_flush*, MDL_wait_for_graph_visitor*): Assertion `table->in_use && tdc->flushed' failed.

preview-10.10-MDEV-16329-online-alter 10.10.0 d7a7d16713070c7c2902c3df4b4f6d024cd0320f (Debug)

Core was generated by `/test/online-alter_MD080622-mariadb-10.10.0-linux-x86_64-dbg/bin/mysqld --no-de'.
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 0x145fc0148700 (LWP 564326))]
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x0000145fe3ec0859 in __GI_abort () at abort.c:79
#2  0x0000145fe3ec0729 in __assert_fail_base (fmt=0x145fe4056588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x5592f98a8f77 "table->in_use && tdc->flushed", file=0x5592f98a9508 "/test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table.cc", line=5496, function=<optimized out>) at assert.c:92
#3  0x0000145fe3ed1fd6 in __GI___assert_fail (assertion=assertion@entry=0x5592f98a8f77 "table->in_use && tdc->flushed", file=file@entry=0x5592f98a9508 "/test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table.cc", line=line@entry=5496, function=function@entry=0x5592f98aa1b0 "bool TABLE_SHARE::visit_subgraph(Wait_for_flush*, MDL_wait_for_graph_visitor*)") at assert.c:101
#4  0x00005592f8db36c8 in TABLE_SHARE::visit_subgraph (this=0x145f8001fa60, wait_for_flush=<optimized out>, gvisitor=0x145fc01461c0) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table.cc:5496
#5  0x00005592f8db3822 in Wait_for_flush::accept_visitor (this=<optimized out>, gvisitor=<optimized out>) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table.cc:5438
#6  0x00005592f8e09bca in MDL_context::visit_subgraph (this=this@entry=0x145f80000f08, gvisitor=gvisitor@entry=0x145fc01461c0) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/mdl.cc:2792
#7  0x00005592f8e0a070 in MDL_context::find_deadlock (this=this@entry=0x145f80000f08) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/mdl.cc:2820
#8  0x00005592f8db39d1 in TABLE_SHARE::wait_for_old_version (this=0x145f8001fa60, thd=thd@entry=0x145f80000db8, abstime=abstime@entry=0x145fc0146280, deadlock_weight=deadlock_weight@entry=1) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table.cc:5568
#9  0x00005592f8edbca3 in tdc_wait_for_old_version (thd=thd@entry=0x145f80000db8, db=<optimized out>, table_name=<optimized out>, wait_timeout=<optimized out>, deadlock_weight=1) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table_cache.cc:1094
#10 0x00005592f8c123cf in open_table (thd=thd@entry=0x145f80000db8, table_list=table_list@entry=0x145f800142b0, ot_ctx=ot_ctx@entry=0x145fc0146970) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_base.h:561
#11 0x00005592f8c16eaf in open_and_process_table (ot_ctx=0x145fc0146970, has_prelocking_list=false, prelocking_strategy=0x145fc0146a70, flags=0, counter=0x145fc0146a0c, tables=0x145f800142b0, thd=0x145f80000db8) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_base.cc:4087
#12 open_tables (thd=thd@entry=0x145f80000db8, options=@0x145f800064d8: {m_options = DDL_options_st::OPT_NONE}, start=start@entry=0x145fc01469f8, counter=counter@entry=0x145fc0146a0c, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x145fc0146a70) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_base.cc:4574
#13 0x00005592f8c17e41 in open_and_lock_tables (thd=thd@entry=0x145f80000db8, options=@0x145f800064d8: {m_options = DDL_options_st::OPT_NONE}, tables=<optimized out>, tables@entry=0x145f800142b0, derived=derived@entry=true, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x145fc0146a70) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_base.cc:5547
#14 0x00005592f8c92fc1 in open_and_lock_tables (flags=0, derived=true, tables=0x145f800142b0, thd=0x145f80000db8) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_base.h:510
#15 execute_sqlcom_select (thd=thd@entry=0x145f80000db8, all_tables=0x145f800142b0) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_parse.cc:6180
#16 0x00005592f8c9f744 in mysql_execute_command (thd=thd@entry=0x145f80000db8, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_parse.cc:3944
#17 0x00005592f8c8d70e in mysql_parse (thd=thd@entry=0x145f80000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x145fc0147470) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_parse.cc:8036
#18 0x00005592f8c9acf6 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x145f80000db8, packet=packet@entry=0x145f8000b6e9 "SELECT * FROM t ORDER BY a", packet_length=packet_length@entry=26, blocking=blocking@entry=true) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_class.h:1365
#19 0x00005592f8c9d400 in do_command (thd=0x145f80000db8, blocking=blocking@entry=true) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_parse.cc:1407
#20 0x00005592f8dfe092 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x5592fbb55368, put_in_cache=put_in_cache@entry=true) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_connect.cc:1418
#21 0x00005592f8dfe59b in handle_one_connection (arg=0x5592fbb55368) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_connect.cc:1312
#22 0x0000145fe43d1609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#23 0x0000145fe3fbd133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Testcase can likely be simplified further.



 Comments   
Comment by Roel Van de Paar [ 2022-06-08 ]

Additional testcase

CREATE TABLE t (c DOUBLE PRECISION KEY,c2 CHAR,c3 YEAR) ENGINE=InnoDB;
INSERT INTO t VALUES (7,3,1);
SELECT a FROM t WHERE a=ALL (SELECT a FROM t WHERE b=2 UNION SELECT a FROM t WHERE b=2);
INSERT INTO t VALUES (3,1,1);
ALTER TABLE t CHANGE c c DATE,ADD KEY(c);
INSERT INTO t VALUES (CONVERT (_ucs2 0x0041004100410648 USING utf8));

Comment by Roel Van de Paar [ 2022-06-08 ]

Additional testcase

SET sql_mode='';
CREATE TABLE t (c CHAR UNIQUE,c2 INT,stamp TIMESTAMP) ENGINE=InnoDB;
INSERT INTO t VALUES (1,1,1),(2,2,2),(3,3,3),(4,4,4),(5,5,5);
UPDATE t SET c=(SELECT * FROM t) WHERE c IN (SELECT * FROM t);
ALTER TABLE t MODIFY c DATE;
INSERT INTO t VALUES (6887,6887,6887,6887);

Leads to:

10.10.0 d7a7d16713070c7c2902c3df4b4f6d024cd0320f (Optimized)

Core was generated by `/test/online-alter_MD080622-mariadb-10.10.0-linux-x86_64-opt/bin/mysqld --no-de'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __GI___pthread_mutex_lock (mutex=mutex@entry=0x1e8)
    at ../nptl/pthread_mutex_lock.c:67
[Current thread is 1 (Thread 0x150fd2f47700 (LWP 3162935))]
(gdb) bt
#0  __GI___pthread_mutex_lock (mutex=mutex@entry=0x1e8) at ../nptl/pthread_mutex_lock.c:67
#1  0x0000564d0aca5346 in rw_pr_rdlock (rwlock=rwlock@entry=0x1e8) at /test/preview-10.10-MDEV-16329-online-alter_opt/mysys/thr_rwlock.c:282
#2  0x0000564d0a6d0657 in inline_mysql_prlock_rdlock (that=0x1e8) at /test/preview-10.10-MDEV-16329-online-alter_opt/include/mysql/psi/mysql_thread.h:919
#3  MDL_context::visit_subgraph (this=0x150, gvisitor=gvisitor@entry=0x150fd2f452a0) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/mdl.cc:2789
#4  0x0000564d0a6964df in TABLE_SHARE::visit_subgraph (this=0x150fa401ac90, wait_for_flush=<optimized out>, gvisitor=0x150fd2f452a0) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/table.cc:5507
#5  0x0000564d0a6d06a8 in MDL_context::visit_subgraph (this=this@entry=0x150fa4000da8, gvisitor=gvisitor@entry=0x150fd2f452a0) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/mdl.cc:2796
#6  0x0000564d0a6d0a9a in MDL_context::find_deadlock (this=this@entry=0x150fa4000da8) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/mdl.cc:2820
#7  0x0000564d0a696613 in TABLE_SHARE::wait_for_old_version (this=0x150fa401ac90, thd=thd@entry=0x150fa4000c58, abstime=abstime@entry=0x150fd2f45380, deadlock_weight=deadlock_weight@entry=1) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/table.cc:5568
#8  0x0000564d0a77130a in tdc_wait_for_old_version (thd=thd@entry=0x150fa4000c58, db=<optimized out>, table_name=<optimized out>, wait_timeout=<optimized out>, deadlock_weight=1) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/table_cache.cc:1094
#9  0x0000564d0a540e63 in open_table (thd=0x150fa4000c58, table_list=0x150fa4010820, ot_ctx=0x150fd2f45a80) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_base.h:561
#10 0x0000564d0a54485a in open_and_process_table (ot_ctx=0x150fd2f45a80, has_prelocking_list=false, prelocking_strategy=0x150fd2f45c40, flags=0, counter=0x150fd2f45b1c, tables=0x150fa4010820, thd=0x150fa4000c58) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_base.cc:4087
#11 open_tables (thd=thd@entry=0x150fa4000c58, options=@0x150fa40061b8: {m_options = DDL_options_st::OPT_NONE}, start=start@entry=0x150fd2f45b08, counter=counter@entry=0x150fd2f45b1c, flags=flags@entry=0, prelocking_strategy=0x150fd2f45c40) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_base.cc:4574
#12 0x0000564d0a54500a in open_and_lock_tables (thd=thd@entry=0x150fa4000c58, options=<optimized out>, tables=<optimized out>, tables@entry=0x150fa4010820, derived=derived@entry=true, flags=flags@entry=0, prelocking_strategy=<optimized out>) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_base.cc:5547
#13 0x0000564d0a577dbe in open_and_lock_tables (flags=<optimized out>, derived=<optimized out>, tables=<optimized out>, thd=<optimized out>) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_base.h:510
#14 open_and_lock_for_insert_delayed (table_list=<optimized out>, thd=<optimized out>) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_insert.cc:628
#15 mysql_insert (thd=thd@entry=0x150fa4000c58, table_list=0x150fa4010820, fields=@0x150fa4005b70: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x564d0b6364d0 <end_of_list>, last = 0x150fa4005b70, elements = 0}, <No data fields>}, values_list=@0x150fa4005bb8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x150fa40115e0, last = 0x150fa40115e0, elements = 1}, <No data fields>}, update_fields=@0x150fa4005ba0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x564d0b6364d0 <end_of_list>, last = 0x150fa4005ba0, elements = 0}, <No data fields>}, update_values=@0x150fa4005b88: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x564d0b6364d0 <end_of_list>, last = 0x150fa4005b88, elements = 0}, <No data fields>}, duplic=<optimized out>, ignore=<optimized out>, result=<optimized out>) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_insert.cc:753
#16 0x0000564d0a5b2faf in mysql_execute_command (thd=0x150fa4000c58, is_called_from_prepared_stmt=<optimized out>) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_parse.cc:4562
#17 0x0000564d0a5a3345 in mysql_parse (rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>, thd=0x150fa4000c58) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_parse.cc:8036
#18 mysql_parse (thd=0x150fa4000c58, rawbuf=<optimized out>, length=<optimized out>, parser_state=<optimized out>) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_parse.cc:7958
#19 0x0000564d0a5aee5a in dispatch_command (command=COM_QUERY, thd=0x150fa4000c58, packet=<optimized out>, packet_length=<optimized out>, blocking=<optimized out>) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_class.h:1365
#20 0x0000564d0a5b0d82 in do_command (thd=0x150fa4000c58, blocking=blocking@entry=true) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_parse.cc:1407
#21 0x0000564d0a6c7e7f in do_handle_one_connection (connect=<optimized out>, connect@entry=0x564d0c4fdf48, put_in_cache=put_in_cache@entry=true) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_connect.cc:1418
#22 0x0000564d0a6c815d in handle_one_connection (arg=0x564d0c4fdf48) at /test/preview-10.10-MDEV-16329-online-alter_opt/sql/sql_connect.cc:1312
#23 0x0000150fffa22609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#24 0x0000150fff60e133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

10.10.0 d7a7d16713070c7c2902c3df4b4f6d024cd0320f (Debug)

mysqld: /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table.cc:5496: bool TABLE_SHARE::visit_subgraph(Wait_for_flush*, MDL_wait_for_graph_visitor*): Assertion `table->in_use && tdc->flushed' failed.

10.10.0 d7a7d16713070c7c2902c3df4b4f6d024cd0320f (Debug)

Core was generated by `/test/online-alter_MD080622-mariadb-10.10.0-linux-x86_64-dbg/bin/mysqld --no-de'.
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 0x146bb10c3700 (LWP 3117400))]
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x0000146bc9a1d859 in __GI_abort () at abort.c:79
#2  0x0000146bc9a1d729 in __assert_fail_base (fmt=0x146bc9bb3588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x562ba9686f77 "table->in_use && tdc->flushed", file=0x562ba9687508 "/test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table.cc", line=5496, function=<optimized out>) at assert.c:92
#3  0x0000146bc9a2efd6 in __GI___assert_fail (assertion=assertion@entry=0x562ba9686f77 "table->in_use && tdc->flushed", file=file@entry=0x562ba9687508 "/test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table.cc", line=line@entry=5496, function=function@entry=0x562ba96881b0 "bool TABLE_SHARE::visit_subgraph(Wait_for_flush*, MDL_wait_for_graph_visitor*)") at assert.c:101
#4  0x0000562ba8b916c8 in TABLE_SHARE::visit_subgraph (this=0x146b7c01f8b0, wait_for_flush=<optimized out>, gvisitor=0x146bb10c13f0) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table.cc:5496
#5  0x0000562ba8b91822 in Wait_for_flush::accept_visitor (this=<optimized out>, gvisitor=<optimized out>) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table.cc:5438
#6  0x0000562ba8be7bca in MDL_context::visit_subgraph (this=this@entry=0x146b7c000f08, gvisitor=gvisitor@entry=0x146bb10c13f0) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/mdl.cc:2792
#7  0x0000562ba8be8070 in MDL_context::find_deadlock (this=this@entry=0x146b7c000f08) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/mdl.cc:2820
#8  0x0000562ba8b919d1 in TABLE_SHARE::wait_for_old_version (this=0x146b7c01f8b0, thd=thd@entry=0x146b7c000db8, abstime=abstime@entry=0x146bb10c14b0, deadlock_weight=deadlock_weight@entry=1) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table.cc:5568
#9  0x0000562ba8cb9ca3 in tdc_wait_for_old_version (thd=thd@entry=0x146b7c000db8, db=<optimized out>, table_name=<optimized out>, wait_timeout=<optimized out>, deadlock_weight=1) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/table_cache.cc:1094
#10 0x0000562ba89f03cf in open_table (thd=thd@entry=0x146b7c000db8, table_list=table_list@entry=0x146b7c013d40, ot_ctx=ot_ctx@entry=0x146bb10c1ba0) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_base.h:561
#11 0x0000562ba89f4eaf in open_and_process_table (ot_ctx=0x146bb10c1ba0, has_prelocking_list=false, prelocking_strategy=0x146bb10c1d40, flags=0, counter=0x146bb10c1c3c, tables=0x146b7c013d40, thd=0x146b7c000db8) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_base.cc:4087
#12 open_tables (thd=thd@entry=0x146b7c000db8, options=@0x146b7c0064d8: {m_options = DDL_options_st::OPT_NONE}, start=start@entry=0x146bb10c1c28, counter=counter@entry=0x146bb10c1c3c, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x146bb10c1d40) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_base.cc:4574
#13 0x0000562ba89f5e41 in open_and_lock_tables (thd=thd@entry=0x146b7c000db8, options=@0x146b7c0064d8: {m_options = DDL_options_st::OPT_NONE}, tables=<optimized out>, tables@entry=0x146b7c013d40, derived=derived@entry=true, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x146bb10c1d40) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_base.cc:5547
#14 0x0000562ba8a3a3f1 in open_and_lock_tables (flags=0, derived=true, tables=0x146b7c013d40, thd=0x146b7c000db8) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_base.h:510
#15 mysql_insert (thd=thd@entry=0x146b7c000db8, table_list=0x146b7c013d40, fields=@0x146b7c005e90: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x562ba9f5ca00 <end_of_list>, last = 0x146b7c005e90, elements = 0}, <No data fields>}, values_list=@0x146b7c005ed8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x146b7c014b00, last = 0x146b7c014b00, elements = 1}, <No data fields>}, update_fields=@0x146b7c005ec0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x562ba9f5ca00 <end_of_list>, last = 0x146b7c005ec0, elements = 0}, <No data fields>}, update_values=@0x146b7c005ea8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x562ba9f5ca00 <end_of_list>, last = 0x146b7c005ea8, elements = 0}, <No data fields>}, duplic=DUP_ERROR, ignore=false, result=0x0) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_insert.cc:758
#16 0x0000562ba8a7f0d7 in mysql_execute_command (thd=thd@entry=0x146b7c000db8, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_parse.cc:4562
#17 0x0000562ba8a6b70e in mysql_parse (thd=thd@entry=0x146b7c000db8, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x146bb10c2470) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_parse.cc:8036
#18 0x0000562ba8a78cf6 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x146b7c000db8, packet=packet@entry=0x146b7c00b6e9 "INSERT INTO t VALUES (6887,6887,6887,6887)", packet_length=packet_length@entry=42, blocking=blocking@entry=true) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_class.h:1365
#19 0x0000562ba8a7b400 in do_command (thd=0x146b7c000db8, blocking=blocking@entry=true) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_parse.cc:1407
#20 0x0000562ba8bdc092 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x562baacb15a8, put_in_cache=put_in_cache@entry=true) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_connect.cc:1418
#21 0x0000562ba8bdc59b in handle_one_connection (arg=0x562baacb15a8) at /test/preview-10.10-MDEV-16329-online-alter_dbg/sql/sql_connect.cc:1312
#22 0x0000146bc9f2e609 in start_thread (arg=<optimized out>) at pthread_create.c:477
#23 0x0000146bc9b1a133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

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