Bug #74887 Failing assertion: trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX
Submitted: 17 Nov 2014 4:29 Modified: 17 Nov 2014 6:33
Reporter: Ramesh Sivaraman (OCA) Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server: DDL Severity:S3 (Non-critical)
Version:5.6.21, 5.6.23, 5.7.6 OS:Linux (CentOS 7)
Assigned to: CPU Architecture:Any
Tags: debug

[17 Nov 2014 4:29] Ramesh Sivaraman
Description:
2014-11-17 04:25:24 7f1f2f5b3700  InnoDB: Assertion failure in thread 139771915220736 in file row0merge.cc line 2692
InnoDB: Failing assertion: trx_get_dict_operation(trx) == TRX_DICT_OP_INDEX

** GDB info
#0  0x00007f1f2effc771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000a954ea in my_write_core (sig=6) at /ssd/ramesh/mysql-server/mysql-5.6/mysys/stacktrace.c:422
#2  0x0000000000726494 in handle_fatal_signal (sig=6) at /ssd/ramesh/mysql-server/mysql-5.6/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x00007f1f2de085c9 in raise () from /lib64/libc.so.6
#5  0x00007f1f2de09cd8 in abort () from /lib64/libc.so.6
#6  0x0000000000b9bdf7 in row_merge_drop_indexes (trx=0x7f1e928c7a78, table=0x7f1e9287f378, locked=1) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/row/row0merge.cc:2692
#7  0x0000000000acfffe in prepare_inplace_alter_table_dict (ha_alter_info=0x7f1f2f5afa60, altered_table=0x7f1e9295ce00, old_table=0x7f1e92850c00, table_name=0x7f1e92899335 "articles", flags=1, flags2=84, fts_doc_id_col=3, add_fts_doc_id=false, add_fts_doc_id_idx=false) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/handler/handler0alter.cc:3157
#8  0x0000000000ad2025 in ha_innobase::prepare_inplace_alter_table (this=0x7f1e92899410, altered_table=0x7f1e9295ce00, ha_alter_info=0x7f1f2f5afa60) at /ssd/ramesh/mysql-server/mysql-5.6/storage/innobase/handler/handler0alter.cc:3854
#9  0x000000000063ea45 in handler::ha_prepare_inplace_alter_table (this=0x7f1e92899410, altered_table=0x7f1e9295ce00, ha_alter_info=0x7f1f2f5afa60) at /ssd/ramesh/mysql-server/mysql-5.6/sql/handler.cc:4366
#10 0x0000000000840ec6 in mysql_inplace_alter_table (thd=0x7f1e9bb5d000, table_list=0x7f1e9281f138, table=0x7f1e92850c00, altered_table=0x7f1e9295ce00, ha_alter_info=0x7f1f2f5afa60, inplace_supported=HA_ALTER_INPLACE_SHARED_LOCK_AFTER_PREPARE, target_mdl_request=0x7f1f2f5af4b0, alter_ctx=0x7f1f2f5affc0) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_table.cc:6543
#11 0x00000000008452fd in mysql_alter_table (thd=0x7f1e9bb5d000, new_db=0x7f1e9281f698 "test", new_name=0x7f1e9281f0f0 "articles", create_info=0x7f1f2f5b13d0, table_list=0x7f1e9281f138, alter_info=0x7f1f2f5b0e70, order_num=0, order=0x0, ignore=false) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_table.cc:8395
#12 0x00000000007d348b in mysql_execute_command (thd=0x7f1e9bb5d000) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_parse.cc:3106
#13 0x00000000007dbdbc in mysql_parse (thd=0x7f1e9bb5d000, rawbuf=0x7f1e9281f010 "CREATE FULLTEXT INDEX ft_idx ON articles(title)", length=47, parser_state=0x7f1f2f5b1e70) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_parse.cc:6245
#14 0x00000000007cf36f in dispatch_command (command=COM_QUERY, thd=0x7f1e9bb5d000, packet=0x7f1e90666001 "CREATE FULLTEXT INDEX ft_idx ON articles(title)", packet_length=47) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_parse.cc:1332
#15 0x00000000007ce45e in do_command (thd=0x7f1e9bb5d000) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_parse.cc:1034
#16 0x0000000000796879 in do_handle_one_connection (thd_arg=0x7f1e9bb5d000) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_connect.cc:982
#17 0x0000000000796362 in handle_one_connection (arg=0x7f1e9bb5d000) at /ssd/ramesh/mysql-server/mysql-5.6/sql/sql_connect.cc:898
#18 0x0000000000d71288 in pfs_spawn_thread (arg=0x7f1f2b3fea60) at /ssd/ramesh/mysql-server/mysql-5.6/storage/perfschema/pfs.cc:1860
#19 0x00007f1f2eff7df3 in start_thread () from /lib64/libpthread.so.0
#20 0x00007f1f2dec901d in clone () from /lib64/libc.so.6

How to repeat:
DROP DATABASE test;CREATE DATABASE test;USE test;
CREATE TABLE articles(id INT UNSIGNED KEY,title CHAR (1),body TEXT,FULLTEXT (title)) ENGINE=InnoDB;
set global innodb_trx_rseg_n_slots_debug=1;
drop index title on articles;
CREATE FULLTEXT INDEX ft_idx ON articles(title);
[17 Nov 2014 6:33] MySQL Verification Team
Hello Ramesh Sivaraman,

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

Thanks,
Umesh
[17 Nov 2014 6:34] MySQL Verification Team
// 5.6.23

(gdb) bt
#0  __pthread_kill (threadid=<value optimized out>, signo=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:63
#1  0x0000000000affdab in my_write_core (sig=6) at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/mysys/stacktrace.c:422
#2  0x000000000077ebbc in handle_fatal_signal (sig=6) at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/sql/signal_handler.cc:230
#3  <signal handler called>
#4  0x0000003deac32625 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#5  0x0000003deac33e05 in abort () at abort.c:92
#6  0x0000000000c84c3f in row_merge_drop_indexes (trx=0x7f9a1802c048, table=0x7f9a18011808, locked=1)
    at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/storage/innobase/row/row0merge.cc:2692
#7  0x0000000000bb8938 in prepare_inplace_alter_table_dict (ha_alter_info=0x7f9a4114f230, altered_table=0x7f9a1801d1e0, old_table=0x7f9a180258d0, table_name=0x7f9a1800f9c5 "articles", flags=1,
    flags2=84, fts_doc_id_col=3, add_fts_doc_id=false, add_fts_doc_id_idx=false)
    at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/storage/innobase/handler/handler0alter.cc:3162
#8  0x0000000000bbaafb in ha_innobase::prepare_inplace_alter_table (this=0x7f9a1801e550, altered_table=0x7f9a1801d1e0, ha_alter_info=0x7f9a4114f230)
    at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/storage/innobase/handler/handler0alter.cc:3852
#9  0x00000000006937dd in handler::ha_prepare_inplace_alter_table (this=0x7f9a1801e550, altered_table=0x7f9a1801d1e0, ha_alter_info=0x7f9a4114f230)
    at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/sql/handler.cc:4366
#10 0x000000000089ed1e in mysql_inplace_alter_table (thd=0x35d2b50, table_list=0x7f9a180050f8, table=0x7f9a180258d0, altered_table=0x7f9a1801d1e0, ha_alter_info=0x7f9a4114f230,
    inplace_supported=HA_ALTER_INPLACE_SHARED_LOCK_AFTER_PREPARE, target_mdl_request=0x7f9a4114fb90, alter_ctx=0x7f9a4114e780)
    at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/sql/sql_table.cc:6555
#11 0x00000000008a33d0 in mysql_alter_table (thd=0x35d2b50, new_db=0x7f9a18005658 "test", new_name=0x7f9a180050b0 "articles", create_info=0x7f9a41150660, table_list=0x7f9a180050f8,
    alter_info=0x7f9a411500b0, order_num=0, order=0x0, ignore=false) at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/sql/sql_table.cc:8419
#12 0x000000000082eca2 in mysql_execute_command (thd=0x35d2b50) at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/sql/sql_parse.cc:3106
#13 0x0000000000837fa9 in mysql_parse (thd=0x35d2b50, rawbuf=0x7f9a18004fd0 "CREATE FULLTEXT INDEX ft_idx ON articles(title)", length=47, parser_state=0x7f9a41151680)
    at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/sql/sql_parse.cc:6357
#14 0x000000000082a92b in dispatch_command (command=COM_QUERY, thd=0x35d2b50, packet=0x37013e1 "CREATE FULLTEXT INDEX ft_idx ON articles(title)", packet_length=47)
    at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/sql/sql_parse.cc:1332
#15 0x0000000000829990 in do_command (thd=0x35d2b50) at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/sql/sql_parse.cc:1034
#16 0x00000000007f0d8f in do_handle_one_connection (thd_arg=0x35d2b50) at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/sql/sql_connect.cc:982
#17 0x00000000007f0860 in handle_one_connection (arg=0x35d2b50) at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/sql/sql_connect.cc:898
#18 0x0000000000e5f509 in pfs_spawn_thread (arg=0x36c4b10) at /export/home/pb2/build/sb_0-13622626-1415294505.52/mysqlcom-pro-5.6.23/storage/perfschema/pfs.cc:1860
#19 0x0000003deb0079d1 in start_thread (arg=0x7f9a41152700) at pthread_create.c:301
#20 0x0000003deace89dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115
[17 Nov 2014 6:34] MySQL Verification Team
// 5.7.6
(gdb) bt
#0  __pthread_kill (threadid=<value optimized out>, signo=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pthread_kill.c:63
#1  0x0000000000f983cd in my_write_core (sig=6) at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/mysys/stacktrace.c:247
#2  0x0000000000930748 in handle_fatal_signal (sig=6) at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/sql/signal_handler.cc:219
#3  <signal handler called>
#4  0x0000003deac32625 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#5  0x0000003deac33e05 in abort () at abort.c:92
#6  0x0000003deac2b74e in __assert_fail_base (fmt=<value optimized out>, assertion=0x16f5c44 "0",
    file=0x16f6800 "/export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/storage/innobase/handler/handler0alter.cc", line=<value optimized out>,
    function=<value optimized out>) at assert.c:96
#7  0x0000003deac2b810 in __assert_fail (assertion=0x16f5c44 "0",
    file=0x16f6800 "/export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/storage/innobase/handler/handler0alter.cc", line=5895,
    function=0x16fa060 "bool commit_try_norebuild(Alter_inplace_info*, ha_innobase_inplace_ctx*, const TABLE*, trx_t*, const char*)") at assert.c:105
#8  0x00000000010acd23 in commit_try_norebuild (ha_alter_info=0x7facf050ff90, ctx=0x7facb8006ca8, old_table=0x7facb8028620, trx=0x7facf10f8d60, table_name=0x7facb80452ad "articles")
    at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/storage/innobase/handler/handler0alter.cc:5895
#9  0x00000000010a9a01 in ha_innobase::commit_inplace_alter_table (this=0x7facb802c0e0, altered_table=0x7facb8058830, ha_alter_info=0x7facf050ff90, commit=true)
    at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/storage/innobase/handler/handler0alter.cc:6387
#10 0x000000000099aacc in handler::ha_commit_inplace_alter_table (this=0x7facb802c0e0, altered_table=0x7facb8058830, ha_alter_info=0x7facf050ff90, commit=true)
    at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/sql/handler.cc:4409
#11 0x0000000000d31591 in mysql_inplace_alter_table (thd=0x7facb8000cf0, table_list=0x7facb8005cb8, table=0x7facb8028620, altered_table=0x7facb8058830, ha_alter_info=0x7facf050ff90,
    inplace_supported=HA_ALTER_INPLACE_NO_LOCK_AFTER_PREPARE, target_mdl_request=0x7facf0510910, alter_ctx=0x7facf050f4f0)
    at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/sql/sql_table.cc:6814
#12 0x0000000000d35b9b in mysql_alter_table (thd=0x7facb8000cf0, new_db=0x7facb8006230 "test", new_name=0x7facb8005c50 "articles", create_info=0x7facf0511410, table_list=0x7facb8005cb8,
    alter_info=0x7facf0510e40) at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/sql/sql_table.cc:8649
#13 0x0000000000cb5486 in mysql_execute_command (thd=0x7facb8000cf0) at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/sql/sql_parse.cc:2971
#14 0x0000000000cbcb3d in mysql_parse (thd=0x7facb8000cf0, parser_state=0x7facf0512660) at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/sql/sql_parse.cc:5386
#15 0x0000000000cb102a in dispatch_command (command=COM_QUERY, thd=0x7facb8000cf0, packet=0x7facb8009891 "drop index title on articles", packet_length=28)
    at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/sql/sql_parse.cc:1249
#16 0x0000000000cafdbd in do_command (thd=0x7facb8000cf0) at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/sql/sql_parse.cc:833
#17 0x0000000000dbd24c in handle_connection (arg=0x408ac50) at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/sql/conn_handler/connection_handler_per_thread.cc:298
#18 0x00000000010189f7 in pfs_spawn_thread (arg=0x3f32e50) at /export/home/pb2/build/sb_0-13679149-1416068314.26/mysqlcom-pro-5.7.6-m16/storage/perfschema/pfs.cc:2137
#19 0x0000003deb0079d1 in start_thread (arg=0x7facf0513700) at pthread_create.c:301
#20 0x0000003deace89dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115