Test case is to run sqlgen load against a single node MySQL/Galera
When sqlgen is running, open mysql connection to the node, and issue some DDL
queries, like:
mysql> alter table comm00 add column (i int);
mysql> alter table comm00 drop column i;
Sooner or later, the node will segfault, here is the stack trace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xaf4a0b90 (LWP 6227)]
0x08391c47 in ha_wsrep_abort_transaction (bf_thd=0x0, victim_thd=0xa137c18)
at handler.cc:4714
4714 for (info= bf_thd->transaction.stmt.ha_list; info; info= info->next())
(gdb) bt
#0 0x08391c47 in ha_wsrep_abort_transaction (bf_thd=0x0, victim_thd=0xa137c18)
at handler.cc:4714
#1 0x0825a1ff in wsrep_abort_thd (bf_thd_ptr=0x0, victim_thd_ptr=0xa137c18)
at sql_parse.cc:8412
#2 0x082ac7d3 in remove_table_from_cache (thd=0xa137c18, db=0x9f7a9b8 "test",
table_name=0x9f7a9bd "comm00", flags=2) at sql_base.cc:8492
#3 0x083b0f81 in wait_while_table_is_used (thd=0xa137c18, table=0x9faabc8,
function=HA_EXTRA_PREPARE_FOR_RENAME) at sql_table.cc:4207
#4 0x083bd56d in mysql_alter_table (thd=0xa137c18, new_db=0xa1a8998 "test",
new_name=0xa1a8798 "comm00", create_info=0xaf49f240, table_list=0xa1a87c0,
alter_info=0xaf49f530, order_num=0, order=0x0, ignore=false)
at sql_table.cc:7304
#5 0x08264529 in mysql_execute_command (thd=0xa137c18) at sql_parse.cc:3196
#6 0x0826e1d4 in mysql_parse (thd=0xa137c18,
inBuf=0xa1a8700 "alter table comm00 add column (i int)", length=37,
found_semicolon=0xaf4a0030) at sql_parse.cc:6395
#7 0x0826fc20 in dispatch_command (command=COM_QUERY, thd=0xa137c18,
packet=0xa16c661 "alter table comm00 add column (i int)", packet_length=37)
at sql_parse.cc:1381
#8 0x08271d8e in do_command (thd=0xa137c18) at sql_parse.cc:964
#9 0x082593a0 in handle_one_connection (arg=0xa137c18) at sql_connect.cc:1165
#10 0xb7e7850f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
#11 0xb7d69a0e in clone () from /lib/tls/i686/cmov/libc.so.6
Test case is to run sqlgen load against a single node MySQL/Galera
When sqlgen is running, open mysql connection to the node, and issue some DDL
queries, like:
mysql> alter table comm00 add column (i int);
mysql> alter table comm00 drop column i;
Sooner or later, the node will segfault, here is the stack trace:
Program received signal SIGSEGV, Segmentation fault. abort_transacti on (bf_thd=0x0, victim_ thd=0xa137c18) >transaction. stmt.ha_ list; info; info= info->next()) abort_transacti on (bf_thd=0x0, victim_ thd=0xa137c18) thd_ptr= 0xa137c18) table_from_ cache (thd=0xa137c18, db=0x9f7a9b8 "test", name=0x9f7a9bd "comm00", flags=2) at sql_base.cc:8492 table_is_ used (thd=0xa137c18, table=0x9faabc8, HA_EXTRA_ PREPARE_ FOR_RENAME) at sql_table.cc:4207 name=0xa1a8798 "comm00", create_ info=0xaf49f240 , table_list= 0xa1a87c0, info=0xaf49f530 , order_num=0, order=0x0, ignore=false) command (thd=0xa137c18) at sql_parse.cc:3196 semicolon= 0xaf4a0030) at sql_parse.cc:6395 0xa16c661 "alter table comm00 add column (i int)", packet_length=37) one_connection (arg=0xa137c18) at sql_connect.cc:1165 i686/cmov/ libpthread. so.0 i686/cmov/ libc.so. 6
[Switching to Thread 0xaf4a0b90 (LWP 6227)]
0x08391c47 in ha_wsrep_
at handler.cc:4714
4714 for (info= bf_thd-
(gdb) bt
#0 0x08391c47 in ha_wsrep_
at handler.cc:4714
#1 0x0825a1ff in wsrep_abort_thd (bf_thd_ptr=0x0, victim_
at sql_parse.cc:8412
#2 0x082ac7d3 in remove_
table_
#3 0x083b0f81 in wait_while_
function=
#4 0x083bd56d in mysql_alter_table (thd=0xa137c18, new_db=0xa1a8998 "test",
new_
alter_
at sql_table.cc:7304
#5 0x08264529 in mysql_execute_
#6 0x0826e1d4 in mysql_parse (thd=0xa137c18,
inBuf=0xa1a8700 "alter table comm00 add column (i int)", length=37,
found_
#7 0x0826fc20 in dispatch_command (command=COM_QUERY, thd=0xa137c18,
packet=
at sql_parse.cc:1381
#8 0x08271d8e in do_command (thd=0xa137c18) at sql_parse.cc:964
#9 0x082593a0 in handle_
#10 0xb7e7850f in start_thread () from /lib/tls/
#11 0xb7d69a0e in clone () from /lib/tls/