InnoDB: Error: unlock row could not find a 3 mode lock on the record (5.6) | InnoDB: Failing assertion: entry && row in file row0ins.c line 2330 (5.5) | abort in row_ins_index_entry_set_vals (5.5)

Bug #1230078 reported by Roel Van de Paar
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Percona Server moved to https://jira.percona.com/projects/PS
Status tracked in 5.7
5.1
Won't Fix
Undecided
Unassigned
5.5
Triaged
High
Unassigned
5.6
Triaged
High
Unassigned
5.7
Triaged
High
Unassigned

Bug Description

[...]
row_undo_ins_remove_sec_low returning DB_FAIL
2013-09-25 00:04:16 7f49fc680700 InnoDB: Error: unlock row could not find a 3 mode lock on the record
2013-09-25 00:04:16 7f49fc680700 InnoDB: current statement: UPDATE `view_table500_innodb_default_key_pk_parts_2_int` SET `c0` = -1 WHERE `c19` < '2009' ORDER BY `c20`
[...]

Revision history for this message
Roel Van de Paar (roel11) wrote :
Revision history for this message
Roel Van de Paar (roel11) wrote :

Possibly fake-changes. If this bug has not been updated by 2013-10-10, consider it fake-changes (we're disabling fake-changes in the 5.6-QA grammar runs)

Revision history for this message
Roel Van de Paar (roel11) wrote :

DROP DATABASE test;CREATE DATABASE test;USE test;
CREATE TABLE innodb_default(
c35 BLOB, c47 DATE, c19 INT unsigned, c37 TEXT CHARACTER SET utf8, c50 DATE, c10 INT, c17 INT,
c1 char(1)CHARACTER SET utf8, c38 TEXT CHARACTER SET utf8, c45 DATE, c298 BLOB, c15 INT,
c51 DATE, c53 DATE, c292 INT, c18 INT unsigned, c49 DATE, c13 INT unsigned, c48 DATE,
c4 char(1)CHARACTER SET utf8, c293 INT, c290 INT unsigned, c33 BLOB, c291 INT, c31 BLOB,
c3 char(1)CHARACTER SET utf8, c39 TEXT CHARACTER SET utf8, c43 TEXT CHARACTER SET utf8,
c29 char(1)CHARACTER SET utf8, c30 BLOB, c14 INT unsigned, c46 DATE, c44 TEXT CHARACTER SET utf8,
c294 INT unsigned, c0 char(1)CHARACTER SET utf8, c52 DATE, c8 char(1)CHARACTER SET utf8,
c41 TEXT CHARACTER SET utf8, c5 char(1)CHARACTER SET utf8, c7 char(1)CHARACTER SET utf8,
c9 INT, c32 BLOB, c295 INT unsigned, c12 INT unsigned, c6 char(1)CHARACTER SET utf8,
c40 TEXT CHARACTER SET utf8, c36 TEXT CHARACTER SET utf8, c299 BLOB, c16 INT, c296 INT unsigned,
c42 TEXT CHARACTER SET utf8, c34 BLOB, c297 BLOB, c11 INT, unique(c40 (1)),
key(c11)) ENGINE=innodb ROW_FORMAT=default;
INSERT INTO innodb_default VALUES ('','',0,'','',1,0,'','','','',0,'','',0,4,'',1,'','',0,1,'',0,'','','','','','',0,'','',0,'','','','','','',0,'',0,1,'','','','',0,7,'','','',0);
SET SESSION EXPAND_FAST_INDEX_CREATION=ON;
CREATE TEMPORARY TABLE u LIKE innodb_default;
INSERT INTO u SELECT * FROM innodb_default;
ALTER TABLE u RENAME innodb_default;
SET SESSION INNODB_FAKE_CHANGES=1;
LOAD DATA INFILE '/tmp/gentest2112.tmp' INTO TABLE innodb_default;

Results in:

2013-09-25 17:55:56 32100 [ERROR] Cannot find index c40 in InnoDB index translation table.

Revision history for this message
Roel Van de Paar (roel11) wrote :
tags: added: fake-changes
Revision history for this message
Roel Van de Paar (roel11) wrote :

Can also be repeated without SET SESSION INNODB_FAKE_CHANGES=1;

May have to run testcase twice in a row to ensure consistent error log results (unverified)

tags: added: fast-index-creation
removed: fake-changes
Revision history for this message
Roel Van de Paar (roel11) wrote : Re: InnoDB: Error: unlock row could not find a 3 mode lock on the record (5.6) | abort in row_ins_index_entry_set_vals (5.5)
Download full text (4.4 KiB)

5.5.32 Crashes on the same statement

130925 18:19:46 [Note] /ssd/Percona-Server-5.5.32-rel31.0-564-debug.Linux.x86_64/bin/mysqld: ready for connections.
Version: '5.5.33-rel31.0-debug' socket: '/ssd/Percona-Server-5.5.32-rel31.0-564-debug.Linux.x86_64/socket.sock' port: 13279 Percona Server with XtraDB (GPL),
 Release rel31.0, Revision 564-debug
InnoDB: DEBUG: update_statistics for test/innodb_default.
InnoDB: DEBUG: update_statistics for test/innodb_default.
InnoDB: DEBUG: update_statistics for tmp/#sql1ab8_1_0.
InnoDB: DEBUG: update_statistics for tmp/#sql1ab8_1_0.
InnoDB: DEBUG: update_statistics for tmp/#sql1ab8_1_1.
InnoDB: DEBUG: update_statistics for tmp/#sql1ab8_1_1.
InnoDB: DEBUG: update_statistics for tmp/#sql1ab8_1_1.
InnoDB: DEBUG: update_statistics for tmp/#sql1ab8_1_1.
130925 18:20:01 InnoDB: Assertion failure in thread 139763236718336 in file row0ins.c line 2330
InnoDB: Failing assertion: entry && row
[...]
Query (7f1d1c004bf0): LOAD DATA INFILE '/tmp/gentest2112.tmp' INTO TABLE innodb_default
Connection ID (thread ID): 1

=======

Thread 1 (LWP 6862):
+bt
#0 0x000000363720c69c in pthread_kill () from /lib64/libpthread.so.0
#1 0x00000000007ef479 in my_write_core (sig=6) at /bzr/5.5_dbg/Percona-Server-5.5.32-rel31.0/mysys/stacktrace.c:433
#2 0x00000000006b6c75 in handle_fatal_signal (sig=6) at /bzr/5.5_dbg/Percona-Server-5.5.32-rel31.0/sql/signal_handler.cc:250
#3 <signal handler called>
#4 0x0000003636e328a5 in raise () from /lib64/libc.so.6
#5 0x0000003636e34085 in abort () from /lib64/libc.so.6
#6 0x00000000009a3228 in row_ins_index_entry_set_vals (row=0x7f1d1c0562b8, entry=0x0, index=0x7f1d1c05f4d8) at /bzr/5.5_dbg/Percona-Server-5.5.32-rel31.0/stora
ge/innobase/row/row0ins.c:2330
#7 row_ins_index_entry_step (thr=0x7f1d1c056910, node=0x7f1d1c0560c0) at /bzr/5.5_dbg/Percona-Server-5.5.32-rel31.0/storage/innobase/row/row0ins.c:2383
#8 row_ins (thr=<optimized out>, node=<optimized out>) at /bzr/5.5_dbg/Percona-Server-5.5.32-rel31.0/storage/innobase/row/row0ins.c:2519
#9 row_ins_step (thr=0x7f1d1c056910) at /bzr/5.5_dbg/Percona-Server-5.5.32-rel31.0/storage/innobase/row/row0ins.c:2636
#10 0x00000000008514fe in row_insert_for_mysql (mysql_rec=0x7f1d1c0516d0 "\020", prebuilt=0x7f1d1c055268) at /bzr/5.5_dbg/Percona-Server-5.5.32-rel31.0/storage/
innobase/row/row0mysql.c:1252
#11 0x000000000082ddc6 in ha_innobase::write_row (this=0x7f1d1c04a7b0, record=0x7f1d1c0516d0 "\020") at /bzr/5.5_dbg/Percona-Server-5.5.32-rel31.0/storage/innob
ase/handler/ha_innodb.cc:6120
#12 0x00000000006b8b03 in handler::ha_write_row (this=0x7f1d1c04a7b0, buf=0x7f1d1c0516d0 "\020") at /bzr/5.5_dbg/Percona-Server-5.5.32-rel31.0/sql/handler.cc:54
39
#13 0x000000000058a70c in write_record (thd=0x2614e30, table=0x7f1d1c03f330, info=0x7f1d2a13a490) at /bzr/5.5_dbg/Percona-Server-5.5.32-rel31.0/sql/sql_insert.c
c:1787
#14 0x00000000007b0bd4 in read_sep_field (ignore_check_option_errors=false, skip_lines=0, enclosed=..., read_info=..., set_values=..., set_fields=..., fields_va
rs=..., table_list=0x7f1d1c004da0, info=..., thd=0x2614e30) at /bzr/5.5_dbg/Percona-Server-5.5.32-rel31.0/sql/sql_load.cc:1068
#15 mysql_load (thd=<optimized out>, ex=0x7f1d1...

Read more...

summary: InnoDB: Error: unlock row could not find a 3 mode lock on the record
+ (5.6) | abort in row_ins_index_entry_set_vals (5.5)
summary: InnoDB: Error: unlock row could not find a 3 mode lock on the record
- (5.6) | abort in row_ins_index_entry_set_vals (5.5)
+ (5.6) | InnoDB: Failing assertion: entry && row in file row0ins.c line
+ 2330 (5.5) | abort in row_ins_index_entry_set_vals (5.5)
Revision history for this message
Roel Van de Paar (roel11) wrote :
Revision history for this message
Roel Van de Paar (roel11) wrote :
tags: added: i53749
tags: added: xtradb
Revision history for this message
Shahriyar Rzayev (rzayev-sehriyar) wrote :

Percona now uses JIRA for bug reports so this bug report is migrated to: https://jira.percona.com/browse/PS-724

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.