Bug #75083 handle_fatal_signal (sig=6) in retrieve_auto_increment | myisam/mi_key.c:588
Submitted: 3 Dec 2014 8:49 Modified: 3 Dec 2014 11:54
Reporter: Ramesh Sivaraman Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: DDL Severity:S3 (Non-critical)
Version:5.6.20, 5.6.23, 5.7.6 OS:Linux (CentOS 7)
Assigned to: CPU Architecture:Any
Tags: debug

[3 Dec 2014 8:49] Ramesh Sivaraman
Description:
mysqld: /ssd/ramesh/mysql-server/mysql-5.6/storage/myisam/mi_key.c:588: retrieve_auto_increment: Assertion `0' failed.
08:29:37 UTC - mysqld got signal 6 ;

***** GDB info

#0  0x00007fe1ed615771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000a9035e in my_write_core (sig=6) at /ssd/ramesh/mysql-server/mysql-5.6/mysys/stacktrace.c:422
#2  0x0000000000723688 in handle_fatal_signal (sig=6) at /ssd/ramesh/mysql-server/mysql-5.6/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x00007fe1ec4215c9 in raise () from /lib64/libc.so.6
#5  0x00007fe1ec422cd8 in abort () from /lib64/libc.so.6
#6  0x00007fe1ec41a536 in __assert_fail_base () from /lib64/libc.so.6
#7  0x00007fe1ec41a5e2 in __assert_fail () from /lib64/libc.so.6
#8  0x0000000000b0aef3 in retrieve_auto_increment (info=0x7fe148d70c00, record=0x7fe148c99270 "\345\001") at /ssd/ramesh/mysql-server/mysql-5.6/storage/myisam/mi_key.c:588
#9  0x0000000000b25a3c in mi_write (info=0x7fe148d70c00, record=0x7fe148c99270 "\345\001") at /ssd/ramesh/mysql-server/mysql-5.6/storage/myisam/mi_write.c:147
#10 0x0000000000ae54ca in ha_myisam::write_row (this=0x7fe148c99010, buf=0x7fe148c99270 "\345\001") at /ssd/ramesh/mysql-server/mysql-5.6/storage/myisam/ha_myisam.cc:826
#11 0x0000000000641f86 in handler::ha_write_row (this=0x7fe148c99010, buf=0x7fe148c99270 "\345\001") at /ssd/ramesh/mysql-server/mysql-5.6/sql/handler.cc:7273
#12 0x0000000000843ef3 in copy_data_between_tables (from=0x7fe148c50200, to=0x7fe148d6fe00, create=..., ignore=false, order_num=0, order=0x0, copied=0x7fe1edbca330, deleted=0x7fe1edbca328, keys_onoff=Alter_info::LEAVE_AS_IS, alter_ctx=0x7fe1edbc9850) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_table.cc:8984
#13 0x0000000000842988 in mysql_alter_table (thd=0x7fe15a35f000, new_db=0x7fe148c1f6c8 "test", new_name=0x0, create_info=0x7fe1edbca6e0, table_list=0x7fe148c1f168, alter_info=0x7fe1edbca650, order_num=0, order=0x0, ignore=false) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_table.cc:8516
#14 0x000000000098177f in Sql_cmd_alter_table::execute (this=0x7fe148c1f7b0, thd=0x7fe15a35f000) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_alter.cc:313
#15 0x00000000007d5ea3 in mysql_execute_command (thd=0x7fe15a35f000) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_parse.cc:4945
#16 0x00000000007d8fa4 in mysql_parse (thd=0x7fe15a35f000, rawbuf=0x7fe148c1f010 "alter TABLE t1 modify a int auto_increment,engine=myisam,comment=\"new myisam table\"", length=83, parser_state=0x7fe1edbcbe70) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_parse.cc:6245
#17 0x00000000007cc557 in dispatch_command (command=COM_QUERY, thd=0x7fe15a35f000, packet=0x7fe14ee81001 "alter TABLE t1 modify a int auto_increment,engine=myisam,comment=\"new myisam table\"", packet_length=83) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_parse.cc:1332
#18 0x00000000007cb646 in do_command (thd=0x7fe15a35f000) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_parse.cc:1034
#19 0x0000000000793a61 in do_handle_one_connection (thd_arg=0x7fe15a35f000) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_connect.cc:982
#20 0x000000000079354a in handle_one_connection (arg=0x7fe15a35f000) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_connect.cc:898
#21 0x0000000000ad4b5c in pfs_spawn_thread (arg=0x7fe1e6f3e240) at /ssd/ramesh/mysql-server/mysql-5.6/storage/perfschema/pfs.cc:1860
#22 0x00007fe1ed610df3 in start_thread () from /lib64/libpthread.so.0
#23 0x00007fe1ec4e201d in clone () from /lib64/libc.so.6

How to repeat:
DROP DATABASE test;CREATE DATABASE test;USE test;
CREATE TABLE t1(bitk bit,bit bit,key (bitk))ENGINE=InnoDB;
ALTER TABLE t1 ADD COLUMN a int unsigned;
alter table t1 add key(a);
insert into t1 values(1,0,0);
alter TABLE t1 modify a int auto_increment,engine=myisam,comment="new myisam table";
[3 Dec 2014 11:54] MySQL Verification Team
Hello Ramesh Sivaraman,

Thank you for the report and test case.
Confirmed that 5.6.23/5.7.6 debug builds are affected.

Thanks,
Umesh
[3 Dec 2014 11:55] MySQL Verification Team
// 5.6.23

scripts/mysql_install_db --basedir=/export/umesh/mysql-5.6.23 --datadir=/export/umesh/mysql-5.6.23/75083
bin/mysqld-debug --basedir=/export/umesh/mysql-5.6.23 --datadir=/export/umesh/mysql-5.6.23/75083 --core-file --socket=/tmp/75083.sock  --port=15000 --log-error=/export/umesh/mysql-5.6.23/75083/log.err 2>&1 &

commit: df34098068ae4a07f245ad13a4819ca01bde71df
date: 2014-11-18 09:54:31 +0530
build-date: 2014-11-18 18:01:47 +0100
short: df34098
branch: mysql-5.6

MySQL source 5.6.23

(gdb) bt
#0  0x00007fc888983771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000b0070b in my_write_core (sig=6) at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/mysys/stacktrace.c:422
#2  0x000000000077ec8c in handle_fatal_signal (sig=6) at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x00007fc8875895c9 in raise () from /lib64/libc.so.6
#5  0x00007fc88758acd8 in abort () from /lib64/libc.so.6
#6  0x00007fc887582536 in __assert_fail_base () from /lib64/libc.so.6
#7  0x00007fc8875825e2 in __assert_fail () from /lib64/libc.so.6
#8  0x0000000000b462f5 in retrieve_auto_increment (info=0x7fc82c01e170, record=0x7fc82c021820 "\345\001")
    at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/storage/myisam/mi_key.c:588
#9  0x0000000000b61ce4 in mi_write (info=0x7fc82c01e170, record=0x7fc82c021820 "\345\001") at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/storage/myisam/mi_write.c:147
#10 0x0000000000b1f47a in ha_myisam::write_row (this=0x7fc82c0215c0, buf=0x7fc82c021820 "\345\001") at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/storage/myisam/ha_myisam.cc:826
#11 0x0000000000699b63 in handler::ha_write_row (this=0x7fc82c0215c0, buf=0x7fc82c021820 "\345\001") at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/sql/handler.cc:7273
#12 0x00000000008a4fca in copy_data_between_tables (from=0x7fc82c0235b0, to=0x7fc82c01cd50, create=..., ignore=false, order_num=0, order=0x0, copied=0x7fc85e34a6c0, deleted=0x7fc85e34a6b8,
    keys_onoff=Alter_info::LEAVE_AS_IS, alter_ctx=0x7fc85e349090) at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/sql/sql_table.cc:9008
#13 0x00000000008a3a09 in mysql_alter_table (thd=0x23a74b0, new_db=0x7fc82c005688 "test", new_name=0x0, create_info=0x7fc85e34af10, table_list=0x7fc82c005128, alter_info=0x7fc85e34aff0,
    order_num=0, order=0x0, ignore=false) at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/sql/sql_table.cc:8536
#14 0x00000000009ea566 in Sql_cmd_alter_table::execute (this=0x7fc82c005770, thd=0x23a74b0) at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/sql/sql_alter.cc:313
#15 0x00000000008349ea in mysql_execute_command (thd=0x23a74b0) at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/sql/sql_parse.cc:4945
#16 0x0000000000838085 in mysql_parse (thd=0x23a74b0, rawbuf=0x7fc82c004fd0 "alter TABLE t1 modify a int auto_increment,engine=myisam,comment=\"new myisam table\"", length=83,
    parser_state=0x7fc85e34c700) at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/sql/sql_parse.cc:6357
#17 0x000000000082aa07 in dispatch_command (command=COM_QUERY, thd=0x23a74b0, packet=0x24d7561 "alter TABLE t1 modify a int auto_increment,engine=myisam,comment=\"new myisam table\"",
    packet_length=83) at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/sql/sql_parse.cc:1332
#18 0x0000000000829a6c in do_command (thd=0x23a74b0) at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/sql/sql_parse.cc:1034
#19 0x00000000007f0e5f in do_handle_one_connection (thd_arg=0x23a74b0) at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/sql/sql_connect.cc:982
#20 0x00000000007f0930 in handle_one_connection (arg=0x23a74b0) at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/sql/sql_connect.cc:898
#21 0x0000000000e652e1 in pfs_spawn_thread (arg=0x2450480) at /pb2/build/sb_0-13700644-1416330726.69/mysqlcom-pro-5.6.23/storage/perfschema/pfs.cc:1860
#22 0x00007fc88897edf3 in start_thread () from /lib64/libpthread.so.0
#23 0x00007fc88764a47d in clone () from /lib64/libc.so.6
[3 Dec 2014 11:55] MySQL Verification Team
// 5.7.6

bin/mysql_install_db --basedir=/export/umesh/mysql-5.7.6 --datadir=/export/umesh/mysql-5.7.6/75083 -v
bin/mysqld-debug --basedir=/export/umesh/mysql-5.7.6 --datadir=/export/umesh/mysql-5.7.6/75083 --core-file --socket=/tmp/75083.sock  --port=15000 --log-error=/export/umesh/mysql-5.7.6/75083/log.err 2>&1 &

// build used

commit: 1982dd7ab813e3cdb28d3bb119cc7b706cf01b15
date: 2014-11-27 13:27:39 +0300
build-date: 2014-11-27 12:38:45 +0100
short: 1982dd7
branch: mysql-trunk

MySQL source 5.7.6

(gdb) bt
#0  0x00007fa8c63c9771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000f70894 in my_write_core (sig=6) at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/mysys/stacktrace.c:247
#2  0x00000000009206ce in handle_fatal_signal (sig=6) at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/sql/signal_handler.cc:219
#3  <signal handler called>
#4  0x00007fa8c4fcf5c9 in raise () from /lib64/libc.so.6
#5  0x00007fa8c4fd0cd8 in abort () from /lib64/libc.so.6
#6  0x00007fa8c4fc8536 in __assert_fail_base () from /lib64/libc.so.6
#7  0x00007fa8c4fc85e2 in __assert_fail () from /lib64/libc.so.6
#8  0x0000000001022bd8 in retrieve_auto_increment (info=0x7fa848028f80, record=0x7fa84802da78 "\345\001")
    at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/storage/myisam/mi_key.c:570
#9  0x000000000103ec81 in mi_write (info=0x7fa848028f80, record=0x7fa84802da78 "\345\001")
    at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/storage/myisam/mi_write.c:147
#10 0x0000000000ffb6d8 in ha_myisam::write_row (this=0x7fa84802d7c0, buf=0x7fa84802da78 "\345\001")
    at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/storage/myisam/ha_myisam.cc:829
#11 0x00000000009902b7 in handler::ha_write_row (this=0x7fa84802d7c0, buf=0x7fa84802da78 "\345\001")
    at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/sql/handler.cc:7351
#12 0x0000000000d193ca in copy_data_between_tables (psi=0x0, from=0x7fa84801d770, to=0x7fa84802cac0, create=..., copied=0x7fa8b06b10d0, deleted=0x7fa8b06b10c8,
    keys_onoff=Alter_info::LEAVE_AS_IS, alter_ctx=0x7fa8b06b0600) at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/sql/sql_table.cc:9242
#13 0x0000000000d17e2d in mysql_alter_table (thd=0x7fa848000c00, new_db=0x7fa848006178 "test", new_name=0x0, create_info=0x7fa8b06b1490, table_list=0x7fa848005c00, alter_info=0x7fa8b06b13e0)
    at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/sql/sql_table.cc:8774
#14 0x0000000000e5814f in Sql_cmd_alter_table::execute (this=0x7fa848006270, thd=0x7fa848000c00)
    at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/sql/sql_alter.cc:315
#15 0x0000000000c9e860 in mysql_execute_command (thd=0x7fa848000c00) at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/sql/sql_parse.cc:4769
#16 0x0000000000ca039f in mysql_parse (thd=0x7fa848000c00, parser_state=0x7fa8b06b2ea0) at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/sql/sql_parse.cc:5386
#17 0x0000000000c950db in dispatch_command (command=COM_QUERY, thd=0x7fa848000c00,
    packet=0x7fa848009891 "alter TABLE t1 modify a int auto_increment,engine=myisam,comment=\"new myisam table\"", packet_length=83)
    at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/sql/sql_parse.cc:1249
#18 0x0000000000c93df5 in do_command (thd=0x7fa848000c00) at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/sql/sql_parse.cc:833
#19 0x0000000000d9d9ea in handle_connection (arg=0x47b5df0) at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/sql/conn_handler/connection_handler_per_thread.cc:298
#20 0x0000000000fa0dc7 in pfs_spawn_thread (arg=0x4864d60) at /export/home/pb2/build/sb_0-13761755-1417089283.97/mysqlcom-pro-5.7.6-m16/storage/perfschema/pfs.cc:2137
#21 0x00007fa8c63c4df3 in start_thread () from /lib64/libpthread.so.0
#22 0x00007fa8c509047d in clone () from /lib64/libc.so.6