[MDEV-18747] InnoDB: Failing assertion: table->get_ref_count() == 0 upon dropping temporary table with unique blob Created: 2019-02-26  Updated: 2019-02-28  Resolved: 2019-02-28

Status: Closed
Project: MariaDB Server
Component/s: Data Definition - Temporary, Data types, Storage Engine - InnoDB
Affects Version/s: 10.4
Fix Version/s: 10.4.4

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Problem/Incident
is caused by MDEV-371 Unique indexes for blobs Closed

 Description   

Note: The failure became possible after MDEV-371, without it the key without a length in the table definition is rejected.

--source include/have_innodb.inc
 
CREATE TEMPORARY TABLE t1 (f BLOB, UNIQUE(f)) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
REPLACE INTO t1 VALUES (1);
DROP TABLE t1;

10.4 bb970dda

2019-02-27 00:00:53 0x7fb6b060a700  InnoDB: Assertion failure in file /data/src/10.4/storage/innobase/dict/dict0dict.cc line 1981
InnoDB: Failing assertion: table->get_ref_count() == 0
 
#5  0x00007fb6b72e93fa in abort () from /lib/x86_64-linux-gnu/libc.so.6
#6  0x0000556ddd52decc in ut_dbg_assertion_failed (expr=0x556dddbbdbd4 "table->get_ref_count() == 0", file=0x556dddbbdd78 "/data/src/10.4/storage/innobase/dict/dict0dict.cc", line=1981) at /data/src/10.4/storage/innobase/ut/ut0dbg.cc:60
#7  0x0000556ddd5e6be3 in dict_table_remove_from_cache (table=0x7fb66800e1b8, lru=false, keep=false) at /data/src/10.4/storage/innobase/dict/dict0dict.cc:1981
#8  0x0000556ddd472128 in row_drop_table_for_mysql (name=0x7fb6b06076c0 "mysqld.1/#sql39e5_9_0", trx=0x7fb6b10f1268, sqlcom=SQLCOM_DROP_TABLE, create_failed=false, nonatomic=true) at /data/src/10.4/storage/innobase/row/row0mysql.cc:3372
#9  0x0000556ddd325b94 in ha_innobase::delete_table (this=0x7fb668015c10, name=0x7fb6681a0ee0 "/data/bld/10.4/mysql-test/var/tmp/mysqld.1/#sql39e5_9_0", sqlcom=SQLCOM_DROP_TABLE) at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:12953
#10 0x0000556ddd3123c7 in ha_innobase::delete_table (this=0x7fb668015c10, name=0x7fb6681a0ee0 "/data/bld/10.4/mysql-test/var/tmp/mysqld.1/#sql39e5_9_0") at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:13082
#11 0x0000556ddcfcae5e in handler::ha_delete_table (this=0x7fb668015c10, name=0x7fb6681a0ee0 "/data/bld/10.4/mysql-test/var/tmp/mysqld.1/#sql39e5_9_0") at /data/src/10.4/sql/handler.cc:4782
#12 0x0000556ddceedfa5 in THD::rm_temporary_table (this=0x7fb668000b00, base=0x556ddf894350, path=0x7fb6681a0ee0 "/data/bld/10.4/mysql-test/var/tmp/mysqld.1/#sql39e5_9_0") at /data/src/10.4/sql/temporary_tables.cc:683
#13 0x0000556ddceefcdd in THD::free_tmp_table_share (this=0x7fb668000b00, share=0x7fb6681a0940, delete_table=true) at /data/src/10.4/sql/temporary_tables.cc:1443
#14 0x0000556ddceede09 in THD::drop_temporary_table (this=0x7fb668000b00, table=0x7fb66800d120, is_trans=0x7fb6b0607eeb, delete_table=true) at /data/src/10.4/sql/temporary_tables.cc:646
#15 0x0000556ddcd51e81 in mysql_rm_table_no_locks (thd=0x7fb668000b00, tables=0x7fb668015560, if_exists=false, drop_temporary=false, drop_view=false, drop_sequence=false, dont_log_query=false, dont_free_locks=false) at /data/src/10.4/sql/sql_table.cc:2322
#16 0x0000556ddcd516db in mysql_rm_table (thd=0x7fb668000b00, tables=0x7fb668015560, if_exists=false, drop_temporary=false, drop_sequence=false) at /data/src/10.4/sql/sql_table.cc:2114
#17 0x0000556ddcc81b8e in mysql_execute_command (thd=0x7fb668000b00) at /data/src/10.4/sql/sql_parse.cc:5111
#18 0x0000556ddcc8c158 in mysql_parse (thd=0x7fb668000b00, rawbuf=0x7fb6680154a8 "DROP TABLE t1", length=13, parser_state=0x7fb6b0609180, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:8157
#19 0x0000556ddcc77846 in dispatch_command (command=COM_QUERY, thd=0x7fb668000b00, packet=0x7fb668139fd1 "DROP TABLE t1", packet_length=13, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1829
#20 0x0000556ddcc7601a in do_command (thd=0x7fb668000b00) at /data/src/10.4/sql/sql_parse.cc:1358
#21 0x0000556ddcdefc07 in do_handle_one_connection (connect=0x556ddfc199d0) at /data/src/10.4/sql/sql_connect.cc:1399
#22 0x0000556ddcdef978 in handle_one_connection (arg=0x556ddfc199d0) at /data/src/10.4/sql/sql_connect.cc:1302
#23 0x0000556ddd2e6951 in pfs_spawn_thread (arg=0x556ddfc5f840) at /data/src/10.4/storage/perfschema/pfs.cc:1862
#24 0x00007fb6b8fb7494 in start_thread (arg=0x7fb6b060a700) at pthread_create.c:333
#25 0x00007fb6b739d93f in clone () from /lib/x86_64-linux-gnu/libc.so.6

Also reproducible on bb-10.4-release-long_unique 5ddae0e0.


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