[MDEV-11236] Failing assertion: state == TRX_STATE_NOT_STARTED || state == TRX_STATE_FORCED_ROLLBACK Created: 2016-11-04  Updated: 2018-05-17  Resolved: 2016-12-02

Status: Closed
Project: MariaDB Server
Component/s: Storage Engine - InnoDB
Affects Version/s: 10.2
Fix Version/s: 10.1.20, 10.2.3

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Marko Mäkelä
Resolution: Fixed Votes: 0
Labels: upstream

Issue Links:
Relates
relates to MDEV-14846 InnoDB: assertion on trx->state becau... Closed

 Description   

10.2 491f42d50d17f73d7c3dd2460f9cf84b740fe760

2016-11-08 01:05:01 0x7f2cd2875300  InnoDB: Assertion failure in thread 139830487372544 in file trx0trx.ic line 63
InnoDB: Failing assertion: state == TRX_STATE_NOT_STARTED || state == TRX_STATE_FORCED_ROLLBACK
 
#6  0x00007f2cd1e7dd2e in ut_dbg_assertion_failed (expr=0x7f2cd23b9838 "state == TRX_STATE_NOT_STARTED || state == TRX_STATE_FORCED_ROLLBACK", file=0x7f2cd23b96d8 "/data/src/10.2/storage/innobase/include/trx0trx.ic", line=63) at /data/src/10.2/storage/innobase/ut/ut0dbg.cc:67
#7  0x00007f2cd1e5a75c in trx_state_eq (trx=0x7f2cc6800d58, state=TRX_STATE_ACTIVE) at /data/src/10.2/storage/innobase/include/trx0trx.ic:62
#8  0x00007f2cd1e5c20e in trx_release_savepoint_for_mysql (trx=0x7f2cc6800d58, savepoint_name=0x7f2cd2872ca0 "1DKCXDAPJ4") at /data/src/10.2/storage/innobase/trx/trx0roll.cc:584
#9  0x00007f2cd1c4c500 in innobase_release_savepoint (hton=0x7f2cce413af0, thd=0x7f2caa016070, savepoint=0x7f2caa06b0c0) at /data/src/10.2/storage/innobase/handler/ha_innodb.cc:5510
#10 0x00007f2cd1a1918b in ha_release_savepoint (thd=0x7f2caa016070, sv=0x7f2caa06b088) at /data/src/10.2/sql/handler.cc:2197
#11 0x00007f2cd176e1ac in THD::restore_sub_statement_state (this=0x7f2caa016070, backup=0x7f2cd2872e20) at /data/src/10.2/sql/sql_class.cc:5072
#12 0x00007f2cd1889595 in Table_triggers_list::process_triggers (this=0x7f2caa01da88, thd=0x7f2caa016070, event=TRG_EVENT_INSERT, time_type=TRG_ACTION_BEFORE, old_row_is_record1=true) at /data/src/10.2/sql/sql_trigger.cc:2201
#13 0x00007f2cd174bd0a in fill_record_n_invoke_before_triggers (thd=0x7f2caa016070, table=0x7f2caa0aa870, ptr=0x7f2caa01d598, values=..., ignore_errors=false, event=TRG_EVENT_INSERT) at /data/src/10.2/sql/sql_base.cc:8140
#14 0x00007f2cd1789082 in mysql_insert (thd=0x7f2caa016070, table_list=0x7f2caa064168, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_ERROR, ignore=false) at /data/src/10.2/sql/sql_insert.cc:958
#15 0x00007f2cd17b01d8 in mysql_execute_command (thd=0x7f2caa016070) at /data/src/10.2/sql/sql_parse.cc:4328
#16 0x00007f2cd17bb6a4 in mysql_parse (thd=0x7f2caa016070, rawbuf=0x7f2caa064088 "INSERT INTO t3 VALUES (2)", length=25, parser_state=0x7f2cd2873dd0, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:7799
#17 0x00007f2cd17a93f4 in dispatch_command (command=COM_QUERY, thd=0x7f2caa016070, packet=0x7f2caa058071 "INSERT INTO t3 VALUES (2)", packet_length=25, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:1808
#18 0x00007f2cd17a7dce in do_command (thd=0x7f2caa016070) at /data/src/10.2/sql/sql_parse.cc:1368
#19 0x00007f2cd18ef256 in do_handle_one_connection (connect=0x7f2cce471870) at /data/src/10.2/sql/sql_connect.cc:1354
#20 0x00007f2cd18eefe3 in handle_one_connection (arg=0x7f2cce471870) at /data/src/10.2/sql/sql_connect.cc:1260
#21 0x00007f2cd1c24856 in pfs_spawn_thread (arg=0x7f2cbcfe7ef0) at /data/src/10.2/storage/perfschema/pfs.cc:1862
#22 0x00007f2cd0dfb0a4 in start_thread (arg=0x7f2cd2875300) at pthread_create.c:309
#23 0x00007f2cceda887d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

--source include/have_innodb.inc
 
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
CREATE TABLE t2 (b INT) ENGINE=InnoDB;
CREATE TABLE t3 (c INT) ENGINE=InnoDB;
 
--delimiter $$
CREATE TRIGGER tr BEFORE INSERT ON t3 FOR EACH ROW BEGIN SAVEPOINT sv; INSERT INTO t2 VALUES (0); END $$
--delimiter ;
 
--connect (con1,localhost,root,,test)
START TRANSACTION;
DELETE FROM t1;
 
--connect (con2,localhost,root,,test)
START TRANSACTION;
INSERT INTO t2 VALUES (2);
UPDATE t2 SET b = b+1;
--send
INSERT INTO t1 VALUES (1);
 
--connection con1
INSERT INTO t3 VALUES (2);



 Comments   
Comment by Rasmus Johansson (Inactive) [ 2016-11-28 ]

Check if assertion could be relaxed in InnoDB

Generated at Thu Feb 08 07:48:22 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.