[MDEV-11726] Server crashes in mach_read_from_n_little_endian 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-11724 InnoDB: Failing assertion: len <= col... Closed
relates to MDEV-11725 InnoDB: Failing assertion: !rec || !c... Closed

 Description   

Note: the scenario is very similar to MDEV-11724 and MDEV-11725, so they might well be duplicates; but the stack trace is different, so I'll file it separately just in case.

--source include/have_innodb.inc
 
CREATE TABLE t1 ( 
 y YEAR NULL,
 i SMALLINT NULL,
 b BLOB NULL,
 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 348ccb6f038a6c

#3  <signal handler called>
#4  0x00007fc7824587be in mach_read_from_n_little_endian (buf=0x7fc758c28e8a "\001", buf_size=18446744073709551610) at /data/src/10.2/storage/innobase/include/mach0data.ic:733
#5  0x00007fc78245ce56 in row_mysql_read_blob_ref (len=0x7fc782f79468, ref=0x7fc758c28e8a "\001", col_len=2) at /data/src/10.2/storage/innobase/row/row0mysql.cc:309
#6  0x00007fc78245d6da in row_mysql_store_col_in_innobase_format (dfield=0x7fc758da5a38, buf=0x7fc758da59b2 '\217' <repeats 14 times>, row_format_col=1, mysql_data=0x7fc758c28e8a "\001", col_len=2, comp=1) at /data/src/10.2/storage/innobase/row/row0mysql.cc:639
#7  0x00007fc78245d8fd in row_mysql_convert_row_to_innobase (row=0x7fc758da59c0, prebuilt=0x7fc758da5088, mysql_rec=0x7fc758c28e88 "\375", blob_heap=0x7fc782f79578) at /data/src/10.2/storage/innobase/row/row0mysql.cc:713
#8  0x00007fc78245f5b8 in row_insert_for_mysql (mysql_rec=0x7fc758c28e88 "\375", prebuilt=0x7fc758da5088) at /data/src/10.2/storage/innobase/row/row0mysql.cc:1492
#9  0x00007fc782313921 in ha_innobase::write_row (this=0x7fc758cb7888, record=0x7fc758c28e88 "\375") at /data/src/10.2/storage/innobase/handler/ha_innodb.cc:9076
#10 0x00007fc7820d82ff in handler::ha_write_row (this=0x7fc758cb7888, buf=0x7fc758c28e88 "\375") at /data/src/10.2/sql/handler.cc:5960
#11 0x00007fc781e3fb8a in write_record (thd=0x7fc758c16070, table=0x7fc758cd7870, info=0x7fc782f7a040) at /data/src/10.2/sql/sql_insert.cc:1890
#12 0x00007fc781e3d51b in mysql_insert (thd=0x7fc758c16070, table_list=0x7fc758c64178, fields=..., values_list=..., update_fields=..., update_values=..., duplic=DUP_ERROR, ignore=false) at /data/src/10.2/sql/sql_insert.cc:1003
#13 0x00007fc781e64e7b in mysql_execute_command (thd=0x7fc758c16070) at /data/src/10.2/sql/sql_parse.cc:4369
#14 0x00007fc781e70328 in mysql_parse (thd=0x7fc758c16070, rawbuf=0x7fc758c64088 "INSERT INTO t1 (i) VALUES (1),(2)", length=33, parser_state=0x7fc782f7add0, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:7839
#15 0x00007fc781e5deee in dispatch_command (command=COM_QUERY, thd=0x7fc758c16070, packet=0x7fc758c58071 "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
#16 0x00007fc781e5c8c8 in do_command (thd=0x7fc758c16070) at /data/src/10.2/sql/sql_parse.cc:1359
#17 0x00007fc781fa473e in do_handle_one_connection (connect=0x7fc77e871f70) at /data/src/10.2/sql/sql_connect.cc:1354
#18 0x00007fc781fa44cb in handle_one_connection (arg=0x7fc77e871f70) at /data/src/10.2/sql/sql_connect.cc:1260
#19 0x00007fc7822e332c in pfs_spawn_thread (arg=0x7fc76bfed770) at /data/src/10.2/storage/perfschema/pfs.cc:1862
#20 0x00007fc7814900a4 in start_thread (arg=0x7fc782f7c300) at pthread_create.c:309
#21 0x00007fc77f43d87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Not reproducible on 10.1 or MySQL 5.7.



 Comments   
Comment by Jan Lindström (Inactive) [ 2017-05-02 ]

Can't repeat MDEV-11724, MDEV-11725 and MDEV-11726 with current 10.2.

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:12 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.