Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

InnoDB: Failing assertion: no_trx || parent_trx->is_primary in file ha_innodb.cc line 11527 #170

Closed
rameshvs02 opened this issue Feb 18, 2016 · 6 comments
Assignees

Comments

@rameshvs02
Copy link

Testcase

DROP DATABASE test;CREATE DATABASE test;USE test;
SET expand_fast_index_creation=ON;
create TABLE t1(a char,b char,key(a,b)) engine=MEMORY;
ALTER TABLE t1 ENGINE=InnoDB;

GDB info

#0  0x00007f41a8c24771 in pthread_kill () from /lib64/libpthread.so.0
#1  0x0000000000e4f6c2 in my_write_core (sig=6) at /sda/FB-mysql-5.6/mysys/stacktrace.c:422
#2  0x0000000000ac748c in handle_fatal_signal (sig=6) at /sda/FB-mysql-5.6/sql/signal_handler.cc:239
#3  <signal handler called>
#4  0x00007f41a69a55c9 in raise () from /lib64/libc.so.6
#5  0x00007f41a69a6cd8 in abort () from /lib64/libc.so.6
#6  0x0000000001123c3d in ha_innobase::rename_table (this=0x7f418a042b00, from=0x7f41a91b2f40 "./test/#sql-441e_2", to=0x7f41a91b3150 "./test/t1") at /sda/FB-mysql-5.6/storage/innobase/handler/ha_innodb.cc:11527
#7  0x00000000009d19b1 in handler::ha_rename_table (this=0x7f418a042b00, from=0x7f41a91b2f40 "./test/#sql-441e_2", to=0x7f41a91b3150 "./test/t1") at /sda/FB-mysql-5.6/sql/handler.cc:4714
#8  0x0000000000be6aab in mysql_rename_table (base=0x7f41a44f0280, old_db=0x7f418a041668 "test", old_name=0x7f41a91b43b0 "#sql-441e_2", new_db=0x7f418a041668 "test", new_name=0x7f418a0410c8 "t1", flags=1) at /sda/FB-mysql-5.6/sql/sql_table.cc:5375
#9  0x0000000000bef407 in mysql_alter_table (thd=0x7f41a4588000, new_db=0x7f418a041668 "test", new_name=0x0, create_info=0x7f41a91b51b0, table_list=0x7f418a041100, alter_info=0x7f41a91b5290, order_num=0, order=0x0, ignore=false) at /sda/FB-mysql-5.6/sql/sql_table.cc:9116
#10 0x0000000000d3c3fc in Sql_cmd_alter_table::execute (this=0x7f418a041678, thd=0x7f41a4588000) at /sda/FB-mysql-5.6/sql/sql_alter.cc:319
#11 0x0000000000b7c3c3 in mysql_execute_command (thd=0x7f41a4588000, statement_start_time=0x7f41a91b6938, post_parse=0x7f41a91b79a0) at /sda/FB-mysql-5.6/sql/sql_parse.cc:5598
#12 0x0000000000b806c4 in mysql_parse (thd=0x7f41a4588000, rawbuf=0x7f418a041010 "ALTER TABLE t1 ENGINE=InnoDB", length=28, parser_state=0x7f41a91b72f0, last_timer=0x7f41a91b79a0, async_commit=0x7f41a91b799f "") at /sda/FB-mysql-5.6/sql/sql_parse.cc:7379
#13 0x0000000000b71d43 in dispatch_command (command=COM_QUERY, thd=0x7f41a4588000, packet=0x7f4198ea8001 "ALTER TABLE t1 ENGINE=InnoDB", packet_length=28) at /sda/FB-mysql-5.6/sql/sql_parse.cc:1595
#14 0x0000000000b70607 in do_command (thd=0x7f41a4588000) at /sda/FB-mysql-5.6/sql/sql_parse.cc:1071
#15 0x0000000000b363c8 in do_handle_one_connection (thd_arg=0x7f41a4588000) at /sda/FB-mysql-5.6/sql/sql_connect.cc:1071
#16 0x0000000000b35cc7 in handle_one_connection (arg=0x7f41a4588000) at /sda/FB-mysql-5.6/sql/sql_connect.cc:929
#17 0x00007f41a8c1fdf3 in start_thread () from /lib64/libpthread.so.0
#18 0x00007f41a6a661ad in clone () from /lib64/libc.so.6
@jkedgar jkedgar self-assigned this Feb 18, 2016
@jkedgar
Copy link
Contributor

jkedgar commented Feb 19, 2016

@laurynas-biveinis
Copy link
Contributor

@rameshvs02, does Percona Server 5.5 - 5.7 pass the testcase?

@rameshvs02
Copy link
Author

@laurynas-biveinis Yes, testcase did not crash PS versions.

@rameshvs02
Copy link
Author

Getting different stack trace with TEMP table alter statement.

Testcase

DROP DATABASE test;CREATE DATABASE test;USE test;
SET expand_fast_index_creation=1;
create temporary TABLE t1(a int,foreign key(a)references t1(a)) engine=MEMORY;
ALTER TABLE t1 ENGINE=InnoDB;
ALTER TABLE t1 ADD c2 INT;

GDB info

#0  0x00007fa45590e9ed in read () from /lib64/libc.so.6
#1  0x00007fa45589e9b0 in __GI__IO_file_underflow () from /lib64/libc.so.6
#2  0x00007fa45589f93e in __GI__IO_default_uflow () from /lib64/libc.so.6
#3  0x00007fa4558938f4 in __GI__IO_getline_info () from /lib64/libc.so.6
#4  0x00007fa4558927f6 in fgets () from /lib64/libc.so.6
#5  0x0000000000e69bf7 in my_pstack () at /sda/FB-mysql-5.6/mysys/stacktrace.c:470
#6  0x000000000119efb4 in ha_innobase::info (this=0x7fa43908b010, flag=64) at /sda/FB-mysql-5.6/storage/innobase/handler/ha_innodb.cc:12432
#7  0x000000000119af30 in ha_innobase::update_create_info (this=0x7fa43908b010, create_info=0x7fa45806e150) at /sda/FB-mysql-5.6/storage/innobase/handler/ha_
innodb.cc:10199
#8  0x0000000000c05a73 in mysql_prepare_alter_table (thd=0x7fa45358f000, table=0x7fa439147c00, create_info=0x7fa45806e150, alter_info=0x7fa45806e230, alter_c
tx=0x7fa45806d310, validate_primary_key_existence=false) at /sda/FB-mysql-5.6/sql/sql_table.cc:7574
#9  0x0000000000c0810c in mysql_alter_table (thd=0x7fa45358f000, new_db=0x7fa439041660 "test", new_name=0x0, create_info=0x7fa45806e150, table_list=0x7fa4390
410f8, alter_info=0x7fa45806e230, order_num=0, order=0x0, ignore=false) at /sda/FB-mysql-5.6/sql/sql_table.cc:8520
#10 0x0000000000d565b4 in Sql_cmd_alter_table::execute (this=0x7fa439041728, thd=0x7fa45358f000) at /sda/FB-mysql-5.6/sql/sql_alter.cc:319
#11 0x0000000000b95824 in mysql_execute_command (thd=0x7fa45358f000, statement_start_time=0x7fa45806f928, post_parse=0x7fa4580709a0) at /sda/FB-mysql-5.6/sql
/sql_parse.cc:5662
#12 0x0000000000b99b3e in mysql_parse (thd=0x7fa45358f000, rawbuf=0x7fa439041010 "ALTER TABLE t1 ADD c2 INT", length=25, parser_state=0x7fa4580702e0, last_ti
mer=0x7fa4580709a0, async_commit=0x7fa45807099f "") at /sda/FB-mysql-5.6/sql/sql_parse.cc:7443
#13 0x0000000000b8ad8f in dispatch_command (command=COM_QUERY, thd=0x7fa45358f000, packet=0x7fa447eb1001 "ALTER TABLE t1 ADD c2 INT", packet_length=25) at /s
da/FB-mysql-5.6/sql/sql_parse.cc:1595
#14 0x0000000000b89653 in do_command (thd=0x7fa45358f000) at /sda/FB-mysql-5.6/sql/sql_parse.cc:1071
#15 0x0000000000b4f414 in do_handle_one_connection (thd_arg=0x7fa45358f000) at /sda/FB-mysql-5.6/sql/sql_connect.cc:1071
#16 0x0000000000b4ed13 in handle_one_connection (arg=0x7fa45358f000) at /sda/FB-mysql-5.6/sql/sql_connect.cc:929
#17 0x00007fa457ad7dc5 in start_thread () from /lib64/libpthread.so.0
#18 0x00007fa45591d21d in clone () from /lib64/libc.so.6
Thread 1 (Thread 0x7fa45812ba80 (LWP 11435)):
#0  0x00007fa455912bcd in poll () from /lib64/libc.so.6
#1  0x00000000009cc66e in handle_connections_sockets (admin=false) at /sda/FB-mysql-5.6/sql/mysqld.cc:7150
#2  0x00000000009caccd in handle_connections_sockets_all () at /sda/FB-mysql-5.6/sql/mysqld.cc:5942
#3  0x00000000009cb8b7 in mysqld_main (argc=11, argv=0x7fa4534202c0) at /sda/FB-mysql-5.6/sql/mysqld.cc:6552
#4  0x00000000009c1620 in main (argc=11, argv=0x7ffc9a4764b8) at /sda/FB-mysql-5.6/sql/main.cc:25

@jkedgar
Copy link
Contributor

jkedgar commented Apr 1, 2016

I am trying a different solution. You can still find it at https://reviews.facebook.net/D54447.

jkedgar added a commit that referenced this issue Apr 4, 2016
Summary:
When turning on expand_fast_index_creation an assert was being triggered in some code added for resizable buffer pools in InnoDB when altering a table.  The original patch that got from Oracle had the asserts, but the current Oracle code is quite different and the asserts are not obviously present.  This change just removes the questionable asserts.

#170

Squash with: https://reviews.facebook.net/D50715

Test Plan: MTR

Reviewers: hermanlee4, jtolmer, pengt

Subscribers: webscalesql-eng

Differential Revision: https://reviews.facebook.net/D54447
@jkedgar
Copy link
Contributor

jkedgar commented Apr 4, 2016

This solved it and has been applied.

@jkedgar jkedgar closed this as completed Apr 4, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants