Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.0.13
-
None
Description
2014-09-11 03:44:09 7f7b83270700 InnoDB: Assertion failure in thread 140168458077952 in file trx0trx.ic line 60
|
InnoDB: Failing assertion: state == TRX_STATE_NOT_STARTED
|
#5 0x00007f7b833817c0 in *__GI_abort () at abort.c:92
|
#6 0x0000000000b6e7e4 in trx_state_eq (trx=0x7f7b58cd5278, state=TRX_STATE_ACTIVE) at 10.0/storage/xtradb/include/trx0trx.ic:60
|
#7 0x0000000000b7034e in trx_release_savepoint_for_mysql (trx=0x7f7b58cd5278, savepoint_name=0x7f7b8326e4a0 "1DOO6A32D4") at 10.0/storage/xtradb/trx/trx0roll.cc:506
|
#8 0x0000000000a048e2 in innobase_release_savepoint (hton=0x7f7b82932c70, thd=0x7f7b6a8cd070, savepoint=0x7f7b58d2d0b8) at 10.0/storage/xtradb/handler/ha_innodb.cc:4665
|
#9 0x000000000086bba7 in ha_release_savepoint (thd=0x7f7b6a8cd070, sv=0x7f7b58d2d088) at 10.0/sql/handler.cc:2135
|
#10 0x0000000000647536 in THD::restore_sub_statement_state (this=0x7f7b6a8cd070, backup=0x7f7b8326e5d0) at 10.0/sql/sql_class.cc:4661
|
#11 0x000000000073ad1c in Table_triggers_list::process_triggers (this=0x7f7b59ced4d0, thd=0x7f7b6a8cd070, event=TRG_EVENT_UPDATE, time_type=TRG_ACTION_BEFORE, old_row_is_record1=true) at 10.0/sql/sql_trigger.cc:2106
|
#12 0x0000000000627fd2 in fill_record_n_invoke_before_triggers (thd=0x7f7b6a8cd070, table=0x7f7b59d2cc70, fields=..., values=..., ignore_errors=false, event=TRG_EVENT_UPDATE) at 10.0/sql/sql_base.cc:8720
|
#13 0x000000000074384f in mysql_update (thd=0x7f7b6a8cd070, table_list=0x7f7b58d2a2e0, fields=..., values=..., conds=0x7f7b58d2ac80, order_num=1, order=0x7f7b58d2aec8, limit=2, handle_duplicates=DUP_ERROR, ignore=false, found_return=0x7f7b8326f2c0, updated_return=0x7f7b8326f2b8) at 10.0/sql/sql_update.cc:740
|
#14 0x000000000067d278 in mysql_execute_command (thd=0x7f7b6a8cd070) at 10.0/sql/sql_parse.cc:3300
|
#15 0x0000000000685993 in mysql_parse (thd=0x7f7b6a8cd070, rawbuf=0x7f7b58d2a088 "UPDATE `table1_innodb_key_pk_parts_2_int_autoinc` SET `pk` = RAND() WHERE `pk` > 7 ORDER BY RAND () LIMIT 2", length=107, parser_state=0x7f7b8326f660) at 10.0/sql/sql_parse.cc:6412
|
#16 0x00000000006787fc in dispatch_command (command=COM_QUERY, thd=0x7f7b6a8cd070, packet=0x7f7b6a8d3071 " UPDATE `table1_innodb_key_pk_parts_2_int_autoinc` SET `pk` = RAND() WHERE `pk` > 7 ORDER BY RAND () LIMIT 2 ", packet_length=109) at 10.0/sql/sql_parse.cc:1307
|
#17 0x0000000000677ba1 in do_command (thd=0x7f7b6a8cd070) at 10.0/sql/sql_parse.cc:1004
|
#18 0x0000000000793e92 in do_handle_one_connection (thd_arg=0x7f7b6a8cd070) at 10.0/sql/sql_connect.cc:1379
|
#19 0x0000000000793be5 in handle_one_connection (arg=0x7f7b6a8cd070) at 10.0/sql/sql_connect.cc:1293
|
#20 0x00007f7b84f30b50 in start_thread (arg=<optimized out>) at pthread_create.c:304
|
#21 0x00007f7b8342820d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
|
Stack trace:
revision-id: bar@mariadb.org-20140904175848-w43qv6k3xlt31i36
|
revno: 4375
|
branch-nick: 10.0
|
Also reproducible on 10.0 with InnoDB plugin, on MySQL 5.6 and Percona 5.6.
RQG command line (1.yy and 1.zz are attached):
perl ./runall-new.pl --threads=8 --duration=1200 --queries=100M --views --grammar=1.yy --gendata=1.zz --engine=InnoDB --reporters=QueryTimeout --seed=1409039505 --basedir1=<basedir> --vardir1=<vardir>
|
revno: 4389
committer: Jan Lindström <jplindst@mariadb.org>
branch nick: 10.0-innodb
timestamp: Thu 2014-09-11 15:41:30 +0300
message:
MDEV-6729: InnoDB: Failing assertion: state == TRX_STATE_NOT_STARTED infile trx0trx.ic line 60
Problem was that trx might have not been started when we enter release
savepoint, this can happen when trx with savepoint is already aborted
or when we try to release non-existing savepoint.