Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.4(EOL)
Description
--source include/have_innodb.inc
|
|
SET @row_format.save= @@innodb_default_row_format; |
|
CREATE TABLE t1 (pk INT PRIMARY KEY, a INT, KEY(a)) ENGINE=InnoDB; |
SET GLOBAL innodb_default_row_format= REDUNDANT; |
ALTER TABLE t1 DROP a; |
|
# Cleanup
|
DROP TABLE t1; |
SET GLOBAL innodb_default_row_format= @row_format.save; |
10.4 6d3186e3 |
mysqld: /data/src/10.4/storage/innobase/handler/handler0alter.cc:241: void dict_table_t::prepare_instant(const dict_table_t&, const ulint*, unsigned int&): Assertion `not_redundant() == old.not_redundant()' failed.
|
200730 20:00:35 [ERROR] mysqld got signal 6 ;
|
|
#7 0x00007f613a183f12 in __GI___assert_fail (assertion=0x559aafe5aa48 "not_redundant() == old.not_redundant()", file=0x559aafe5a748 "/data/src/10.4/storage/innobase/handler/handler0alter.cc", line=241, function=0x559aafe643c0 <dict_table_t::prepare_instant(dict_table_t const&, unsigned long const*, unsigned int&)::__PRETTY_FUNCTION__> "void dict_table_t::prepare_instant(const dict_table_t&, const ulint*, unsigned int&)") at assert.c:101
|
#8 0x0000559aaf53e0b9 in dict_table_t::prepare_instant (this=0x7f60e8057a80, old=..., col_map=0x7f60e8057538, first_alter_pos=@0x7f60e80148b0: 0) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:241
|
#9 0x0000559aaf5451e2 in ha_innobase_inplace_ctx::prepare_instant (this=0x7f60e8014748) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:1079
|
#10 0x0000559aaf528d04 in prepare_inplace_alter_table_dict (ha_alter_info=0x7f6134129d50, altered_table=0x7f6134129df0, old_table=0x7f60e819ee80, table_name=0x7f60e81a17f5 "t1", flags=0, flags2=80, fts_doc_id_col=18446744073709551615, add_fts_doc_id=false, add_fts_doc_id_idx=false) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:6779
|
#11 0x0000559aaf52f165 in ha_innobase::prepare_inplace_alter_table (this=0x7f60e819fce8, altered_table=0x7f6134129df0, ha_alter_info=0x7f6134129d50) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:8258
|
#12 0x0000559aaf2a0612 in handler::ha_prepare_inplace_alter_table (this=0x7f60e819fce8, altered_table=0x7f6134129df0, ha_alter_info=0x7f6134129d50) at /data/src/10.4/sql/handler.cc:4596
|
#13 0x0000559aaf02795a in mysql_inplace_alter_table (thd=0x7f60e8000af0, table_list=0x7f60e8013270, table=0x7f60e819ee80, altered_table=0x7f6134129df0, ha_alter_info=0x7f6134129d50, target_mdl_request=0x7f613412abc0, alter_ctx=0x7f613412b700) at /data/src/10.4/sql/sql_table.cc:7711
|
#14 0x0000559aaf02ea86 in mysql_alter_table (thd=0x7f60e8000af0, new_db=0x7f60e80052b0, new_name=0x7f60e80056b8, create_info=0x7f613412c2f0, table_list=0x7f60e8013270, alter_info=0x7f613412c230, order_num=0, order=0x0, ignore=false) at /data/src/10.4/sql/sql_table.cc:10156
|
#15 0x0000559aaf0c6db1 in Sql_cmd_alter_table::execute (this=0x7f60e8013960, thd=0x7f60e8000af0) at /data/src/10.4/sql/sql_alter.cc:520
|
#16 0x0000559aaef443a2 in mysql_execute_command (thd=0x7f60e8000af0) at /data/src/10.4/sql/sql_parse.cc:6098
|
#17 0x0000559aaef49893 in mysql_parse (thd=0x7f60e8000af0, rawbuf=0x7f60e8013198 "ALTER TABLE t1 DROP a", length=21, parser_state=0x7f613412d570, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7896
|
#18 0x0000559aaef35dc8 in dispatch_command (command=COM_QUERY, thd=0x7f60e8000af0, packet=0x7f60e80083a1 "ALTER TABLE t1 DROP a", packet_length=21, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1835
|
#19 0x0000559aaef3456a in do_command (thd=0x7f60e8000af0) at /data/src/10.4/sql/sql_parse.cc:1353
|
#20 0x0000559aaf0bd7c4 in do_handle_one_connection (connect=0x559ab1df68e0) at /data/src/10.4/sql/sql_connect.cc:1412
|
#21 0x0000559aaf0bd513 in handle_one_connection (arg=0x559ab1df68e0) at /data/src/10.4/sql/sql_connect.cc:1316
|
#22 0x0000559aafabea89 in pfs_spawn_thread (arg=0x559ab1d192a0) at /data/src/10.4/storage/perfschema/pfs.cc:1869
|
#23 0x00007f613c10c4a4 in start_thread (arg=0x7f613412e700) at pthread_create.c:456
|
#24 0x00007f613a240d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
|
No obvious problem on a non-debug build.
10.5 is not yet affected.
The failure started happening on 10.4 after this commit:
commit fd9ca2a742abe2e91b2b77e70915dec7bd3cd7e1 4968fdbcef1c2d62ed525dffac153cf9f8eb1913
|
Author: Marko Mäkelä
|
AuthorDate: Mon Jul 27 15:04:04 2020 +0300
|
|
MDEV-23295 ROW_FORMAT mismatch in instant ALTER TABLE
|
Attachments
Issue Links
- relates to
-
MDEV-23295 Assertion `fields[i].same(instant.fields[i])' failed in dict_index_t::instant_add_field #2
-
- Closed
-
-
MDEV-26577 InnoDB: Failing assertion: dict_tf2_is_valid(flags, flags2) during ADD COLUMN
-
- Closed
-
Now 10.5 is affected too.
Also, the same test case, a different row format, different assertion, apparently the same problem:
--source include/have_innodb.inc
# Cleanup
10.4 00f964ab
mysqld: /data/src/10.4/storage/innobase/handler/handler0alter.cc:243: void dict_table_t::prepare_instant(const dict_table_t&, const ulint*, unsigned int&): Assertion `((flags & ((~(~0U << 1)) << ((0 + 1) + 4))) >> ((0 + 1) + 4)) == ((old.flags & ((~(~0U << 1)) << ((0 + 1) + 4))) >> ((0 + 1) + 4))' failed.
200803 17:56:28 [ERROR] mysqld got signal 6 ;
#7 0x00007f33498f9f12 in __GI___assert_fail (assertion=0x560d82e63d28 "((flags & ((~(~0U << 1)) << ((0 + 1) + 4))) >> ((0 + 1) + 4)) == ((old.flags & ((~(~0U << 1)) << ((0 + 1) + 4))) >> ((0 + 1) + 4))", file=0x560d82e639b8 "/data/src/10.4/storage/innobase/handler/handler0alter.cc", line=243, function=0x560d82e6d5c0 <dict_table_t::prepare_instant(dict_table_t const&, unsigned long const*, unsigned int&)::__PRETTY_FUNCTION__> "void dict_table_t::prepare_instant(const dict_table_t&, const ulint*, unsigned int&)") at assert.c:101
#8 0x0000560d8254608b in dict_table_t::prepare_instant (this=0x7f32f4057a80, old=..., col_map=0x7f32f4057538, first_alter_pos=@0x7f32f40148b0: 0) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:242
#9 0x0000560d8254d0fc in ha_innobase_inplace_ctx::prepare_instant (this=0x7f32f4014748) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:1079
#10 0x0000560d82530cb8 in prepare_inplace_alter_table_dict (ha_alter_info=0x7f33440a0d50, altered_table=0x7f33440a0df0, old_table=0x7f32f419ee80, table_name=0x7f32f41a17f5 "t1", flags=1, flags2=80, fts_doc_id_col=18446744073709551615, add_fts_doc_id=false, add_fts_doc_id_idx=false) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:6779
#11 0x0000560d82537119 in ha_innobase::prepare_inplace_alter_table (this=0x7f32f419fce8, altered_table=0x7f33440a0df0, ha_alter_info=0x7f33440a0d50) at /data/src/10.4/storage/innobase/handler/handler0alter.cc:8258
#12 0x0000560d822a8360 in handler::ha_prepare_inplace_alter_table (this=0x7f32f419fce8, altered_table=0x7f33440a0df0, ha_alter_info=0x7f33440a0d50) at /data/src/10.4/sql/handler.cc:4596
#13 0x0000560d8202eff6 in mysql_inplace_alter_table (thd=0x7f32f4000af0, table_list=0x7f32f4013270, table=0x7f32f419ee80, altered_table=0x7f33440a0df0, ha_alter_info=0x7f33440a0d50, target_mdl_request=0x7f33440a1bc0, alter_ctx=0x7f33440a2700) at /data/src/10.4/sql/sql_table.cc:7711
#14 0x0000560d82036122 in mysql_alter_table (thd=0x7f32f4000af0, new_db=0x7f32f40052b0, new_name=0x7f32f40056b8, create_info=0x7f33440a32f0, table_list=0x7f32f4013270, alter_info=0x7f33440a3230, order_num=0, order=0x0, ignore=false) at /data/src/10.4/sql/sql_table.cc:10156
#15 0x0000560d820ce58d in Sql_cmd_alter_table::execute (this=0x7f32f4013960, thd=0x7f32f4000af0) at /data/src/10.4/sql/sql_alter.cc:520
#16 0x0000560d81f4ba42 in mysql_execute_command (thd=0x7f32f4000af0) at /data/src/10.4/sql/sql_parse.cc:6098
#17 0x0000560d81f50f33 in mysql_parse (thd=0x7f32f4000af0, rawbuf=0x7f32f4013198 "ALTER TABLE t1 DROP a", length=21, parser_state=0x7f33440a4570, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7896
#18 0x0000560d81f3d468 in dispatch_command (command=COM_QUERY, thd=0x7f32f4000af0, packet=0x7f32f40083a1 "ALTER TABLE t1 DROP a", packet_length=21, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1835
#19 0x0000560d81f3bc0a in do_command (thd=0x7f32f4000af0) at /data/src/10.4/sql/sql_parse.cc:1353
#20 0x0000560d820c4fa0 in do_handle_one_connection (connect=0x560d866c18e0) at /data/src/10.4/sql/sql_connect.cc:1412
#21 0x0000560d820c4cef in handle_one_connection (arg=0x560d866c18e0) at /data/src/10.4/sql/sql_connect.cc:1316
#22 0x0000560d82ac70d5 in pfs_spawn_thread (arg=0x560d865e42a0) at /data/src/10.4/storage/perfschema/pfs.cc:1869
#23 0x00007f334b8824a4 in start_thread (arg=0x7f33440a5700) at pthread_create.c:456
#24 0x00007f33499b6d0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
Reproducible on 10.4-10.5