Bug #80444 Sig6: `!!new_clustered==(innobase_need_rebuild(ha_alter_info) || add_fts_doc_id)
Submitted: 19 Feb 2016 12:12 Modified: 19 Feb 2016 12:30
Reporter: Ramesh Sivaraman (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: InnoDB storage engine Severity:S3 (Non-critical)
Version:5.6.29, 5.6.30, 5.7.11 OS:CentOS
Assigned to: CPU Architecture:Any
Tags: debug

[19 Feb 2016 12:12] Ramesh Sivaraman
Description:
Assertion `!!new_clustered == (innobase_need_rebuild(ha_alter_info) || add_fts_doc_id)' failed in handler/handler0alter.cc:2654

+bt
#0  0x00007fc7670dc771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000a96d62 in my_write_core (sig=6) at /sda/mysql-server/mysys/stacktrace.c:422
#2  0x0000000000727f64 in handle_fatal_signal (sig=6) at /sda/mysql-server/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x00007fc765cdb5c9 in raise () from /lib64/libc.so.6
#5  0x00007fc765cdccd8 in abort () from /lib64/libc.so.6
#6  0x00007fc765cd4536 in __assert_fail_base () from /lib64/libc.so.6
#7  0x00007fc765cd45e2 in __assert_fail () from /lib64/libc.so.6
#8  0x0000000000b2778c in prepare_inplace_alter_table_dict (ha_alter_info=0x7fc767694b00, altered_table=0x7fc731954c00, old_table=0x7fc731852000, table_name=0x7fc731897b35 "t1", flags=1, flags2=80, fts_doc_id_col=18446744073709551615, add_fts_doc_id=false, add_fts_doc_id_idx=false) at /sda/mysql-server/storage/innobase/handler/handler0alter.cc:2652
#9  0x0000000000b2b0fa in ha_innobase::prepare_inplace_alter_table (this=0x7fc731899410, altered_table=0x7fc731954c00, ha_alter_info=0x7fc767694b00) at /sda/mysql-server/storage/innobase/handler/handler0alter.cc:3884
#10 0x0000000000641441 in handler::ha_prepare_inplace_alter_table (this=0x7fc731899410, altered_table=0x7fc731954c00, ha_alter_info=0x7fc767694b00) at /sda/mysql-server/sql/handler.cc:4366
#11 0x0000000000842f64 in mysql_inplace_alter_table (thd=0x7fc73f307000, table_list=0x7fc73181f120, table=0x7fc731852000, altered_table=0x7fc731954c00, ha_alter_info=0x7fc767694b00, inplace_supported=HA_ALTER_INPLACE_NO_LOCK_AFTER_PREPARE, target_mdl_request=0x7fc767694550, alter_ctx=0x7fc767695060) at /sda/mysql-server/sql/sql_table.cc:6605
#12 0x0000000000847479 in mysql_alter_table (thd=0x7fc73f307000, new_db=0x7fc73181f680 "test", new_name=0x0, create_info=0x7fc767695ef0, table_list=0x7fc73181f120, alter_info=0x7fc767695e60, order_num=0, order=0x0, ignore=false) at /sda/mysql-server/sql/sql_table.cc:8489
#13 0x0000000000985577 in Sql_cmd_alter_table::execute (this=0x7fc73181f740, thd=0x7fc73f307000) at /sda/mysql-server/sql/sql_alter.cc:313
#14 0x00000000007da8b1 in mysql_execute_command (thd=0x7fc73f307000) at /sda/mysql-server/sql/sql_parse.cc:4975
#15 0x00000000007ddd20 in mysql_parse (thd=0x7fc73f307000, rawbuf=0x7fc73181f010 "ALTER TABLE t1 ADD CONSTRAINT UNIQUE INDEX(c1)", length=46, parser_state=0x7fc7676976a0) at /sda/mysql-server/sql/sql_parse.cc:6385
#16 0x00000000007d0f09 in dispatch_command (command=COM_QUERY, thd=0x7fc73f307000, packet=0x7fc739aa4001 "ALTER TABLE t1 ADD CONSTRAINT UNIQUE INDEX(c1)", packet_length=46) at /sda/mysql-server/sql/sql_parse.cc:1339
#17 0x00000000007cff5c in do_command (thd=0x7fc73f307000) at /sda/mysql-server/sql/sql_parse.cc:1036
#18 0x00000000007978ed in do_handle_one_connection (thd_arg=0x7fc73f307000) at /sda/mysql-server/sql/sql_connect.cc:982
#19 0x00000000007973d6 in handle_one_connection (arg=0x7fc73f307000) at /sda/mysql-server/sql/sql_connect.cc:898
#20 0x0000000000aeda65 in pfs_spawn_thread (arg=0x7fc74af27600) at /sda/mysql-server/storage/perfschema/pfs.cc:1860
#21 0x00007fc7670d7df3 in start_thread () from /lib64/libpthread.so.0
#22 0x00007fc765d9c1ad in clone () from /lib64/libc.so.6

How to repeat:
Testcase

DROP DATABASE test;CREATE DATABASE test;USE test;
set session sql_mode='traditional';
CREATE TABLE t1(c1 INT);
INSERT INTO t1 VALUES(0xA9FA);
ALTER TABLE t1 ADD CONSTRAINT cst1 UNIQUE KEY(c1);
ALTER TABLE t1 MODIFY c1 INT NOT NULL;
ALTER TABLE t1 ADD CONSTRAINT UNIQUE INDEX(c1);
[19 Feb 2016 12:30] Umesh Shastry
Hello Ramesh,

Thank you for the report and test case.
Observed that 5.6.29/5.6.30 daily debug builds are affected.

Thanks,
Umesh