|
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
|
|