[MDEV-11724] InnoDB: Failing assertion: len <= col->len || ((col->mtype) == 5 || (col->mtype) == 16 || (col->mtype) == 14) || (((col->mtype) == 15 || (col->mtype) == 16) && len == 2 * 2 * sizeof(double)) || (col->len == 0 && col->mtype == 1) Created: 2017-01-05  Updated: 2017-05-09  Resolved: 2017-05-02

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

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Michael Widenius
Resolution: Fixed Votes: 0
Labels: 10.2-ga

Issue Links:
Relates
relates to MDEV-11725 InnoDB: Failing assertion: !rec || !c... Closed
relates to MDEV-11726 Server crashes in mach_read_from_n_li... Closed

 Description   

--source include/have_innodb.inc
 
CREATE TABLE t1 ( 
 y YEAR NULL,
 i SMALLINT NULL,
 c VARCHAR(8) NOT NULL DEFAULT '',
 vi SMALLINT AS (i) VIRTUAL,
 INDEX(y)
) ENGINE=InnoDB;
 
SELECT * FROM t1 WHERE y BETWEEN 2012 AND 2016 FOR UPDATE;
INSERT INTO t1 (i) VALUES (1),(2);

10.2 348ccb6f038

2017-01-05 03:51:05 0x7f6ec4088300  InnoDB: Assertion failure in file /data/src/10.2/storage/innobase/rem/rem0rec.cc line 870
InnoDB: Failing assertion: len <= col->len || ((col->mtype) == 5 || (col->mtype) == 16 || (col->mtype) == 14) || (((col->mtype) == 15 || (col->mtyp
e) == 16) && len == 2 * 2 * sizeof(double)) || (col->len == 0 && col->mtype == 1)
 
#6  0x00007f6ec3646f20 in ut_dbg_assertion_failed (expr=0x7f6ec3b4dfb0 "len <= col->len || ((col->mtype) == 5 || (col->mtype) == 16 || (col->mtype) == 14) || (((col->mtype) == 15 || (col->mtype) == 16) && len == 2 * 2 * sizeof(double)) || (col->len == 0 && col->mtype == 1"..., file=0x7f6ec3b4dce8 "/data/src/10.2/storage/innobase/rem/rem0rec.cc", line=870) at /data/src/10.2/storage/innobase/ut/ut0dbg.cc:59
#7  0x00007f6ec35258ae in rec_get_converted_size_comp_prefix_low (index=0x7f6e9a565d88, fields=0x7f6e9a5f7cd0, n_fields=6, v_entry=0x0, extra=0x0, temp=false) at /data/src/10.2/storage/innobase/rem/rem0rec.cc:867
#8  0x00007f6ec3525f1a in rec_get_converted_size_comp (index=0x7f6e9a565d88, status=0, fields=0x7f6e9a5f7cd0, n_fields=6, extra=0x0) at /data/src/10.2/storage/innobase/rem/rem0rec.cc:1023
#9  0x00007f6ec36772fb in rec_get_converted_size (index=0x7f6e9a565d88, dtuple=0x7f6e9a5f7c88, n_ext=0) at /data/src/10.2/storage/innobase/include/rem0rec.ic:1653
#10 0x00007f6ec3681903 in btr_cur_optimistic_insert (flags=0, cursor=0x7f6ec4084a10, offsets=0x7f6ec40849b0, heap=0x7f6ec40849a8, entry=0x7f6e9a5f7c88, rec=0x7f6ec40849b8, big_rec=0x7f6ec40849a0, n_ext=0, thr=0x7f6e9a5a5b88, mtr=0x7f6ec4084e30) at /data/src/10.2/storage/innobase/btr/btr0cur.cc:2934
#11 0x00007f6ec354a5e8 in row_ins_clust_index_entry_low (flags=0, mode=2, index=0x7f6e9a565d88, n_uniq=0, entry=0x7f6e9a5f7c88, n_ext=0, thr=0x7f6e9a5a5b88, dup_chk_only=false) at /data/src/10.2/storage/innobase/row/row0ins.cc:2617
#12 0x00007f6ec354bfe0 in row_ins_clust_index_entry (index=0x7f6e9a565d88, entry=0x7f6e9a5f7c88, thr=0x7f6e9a5a5b88, n_ext=0, dup_chk_only=false) at /data/src/10.2/storage/innobase/row/row0ins.cc:3169
#13 0x00007f6ec354c3ae in row_ins_index_entry (index=0x7f6e9a565d88, entry=0x7f6e9a5f7c88, thr=0x7f6e9a5a5b88) at /data/src/10.2/storage/innobase/row/row0ins.cc:3276
#14 0x00007f6ec354c8ea in row_ins_index_entry_step (node=0x7f6e9a5a58e0, thr=0x7f6e9a5a5b88) at /data/src/10.2/storage/innobase/row/row0ins.cc:3426
#15 0x00007f6ec354cc9a in row_ins (node=0x7f6e9a5a58e0, thr=0x7f6e9a5a5b88) at /data/src/10.2/storage/innobase/row/row0ins.cc:3568
#17 0x00007f6ec356b677 in row_insert_for_mysql (mysql_rec=0x7f6e9a428e88 "\375", prebuilt=0x7f6e9a5a5088) at /data/src/10.2/storage/innobase/row/row0mysql.cc:1511
#18 0x00007f6ec341f921 in ha_innobase::write_row (this=0x7f6e9a4b7888, record=0x7f6e9a428e88 "\375") at /data/src/10.2/storage/innobase/handler/ha_innodb.cc:9076
#19 0x00007f6ec31e42ff in handler::ha_write_row (this=0x7f6e9a4b7888, buf=0x7f6e9a428e88 "\375") at /data/src/10.2/sql/handler.cc:5960
#20 0x00007f6ec2f4bb8a in write_record (thd=0x7f6e9a416070, table=0x7f6e9a4d7870, info=0x7f6ec4086040) at /data/src/10.2/sql/sql_insert.cc:1890
#21 0x00007f6ec2f4951b in mysql_insert (thd=0x7f6e9a416070, table_list=0x7f6e9a464178, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_ERROR, ignore=false) at /data/src/10.2/sql/sql_insert.cc:1003
#22 0x00007f6ec2f70e7b in mysql_execute_command (thd=0x7f6e9a416070) at /data/src/10.2/sql/sql_parse.cc:4369
#23 0x00007f6ec2f7c328 in mysql_parse (thd=0x7f6e9a416070, rawbuf=0x7f6e9a464088 "INSERT INTO t1 (i) VALUES (1),(2)", length=33, parser_state=0x7f6ec4086dd0, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:7839
#24 0x00007f6ec2f69eee in dispatch_command (command=COM_QUERY, thd=0x7f6e9a416070, packet=0x7f6e9a458071 "INSERT INTO t1 (i) VALUES (1),(2)", packet_length=33, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:1799
#25 0x00007f6ec2f688c8 in do_command (thd=0x7f6e9a416070) at /data/src/10.2/sql/sql_parse.cc:1359
#26 0x00007f6ec30b073e in do_handle_one_connection (connect=0x7f6ebfc71f70) at /data/src/10.2/sql/sql_connect.cc:1354
#27 0x00007f6ec30b04cb in handle_one_connection (arg=0x7f6ebfc71f70) at /data/src/10.2/sql/sql_connect.cc:1260
#28 0x00007f6ec33ef32c in pfs_spawn_thread (arg=0x7f6ead3ed770) at /data/src/10.2/storage/perfschema/pfs.cc:1862
#29 0x00007f6ec259c0a4 in start_thread (arg=0x7f6ec4088300) at pthread_create.c:309
#30 0x00007f6ec054987d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Not reproducible on 10.0 or 10.1.
We have a similar assertion failure (with a different scenario) though, MDEV-7055 – still reproducible on 10.0, not sure if they are related.



 Comments   
Comment by Elena Stepanova [ 2017-05-02 ]

The problem disappeared after this commit:

commit c9b3e4535bb4b6d2aa0f7bc1ce71730e6aceca8b
Author: Monty <monty@mariadb.org>
Date:   Mon Jan 9 18:46:20 2017 +0200
 
    MDEV-11737 Failing assertion: block->magic_n == MEM_BLOCK_MAGIC_N

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