[MDEV-11704] InnoDB: Failing assertion: dfield_is_null(dfield2) || dfield2->data Created: 2017-01-02  Updated: 2017-02-13  Resolved: 2017-02-13

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

Type: Bug Priority: Major
Reporter: Elena Stepanova Assignee: Sergei Golubchik
Resolution: Fixed Votes: 0
Labels: 10.2-rc

Issue Links:
Problem/Incident
is caused by MDEV-5800 indexes on virtual (not materialized)... Closed
Relates
relates to MDEV-5800 indexes on virtual (not materialized)... Closed

 Description   

10.2 f2fe65106f

2017-01-02 16:46:25 0x7f3184e4a300  InnoDB: Assertion failure in thread 139850659701504 in file row0row.cc line 132
InnoDB: Failing assertion: dfield_is_null(dfield2) || dfield2->data
 
#6  0x00007f3184409995 in ut_dbg_assertion_failed (expr=0x7f3184926e28 "dfield_is_null(dfield2) || dfield2->data", file=0x7f3184926d98 "/data/src/10.2/storage/innobase/row/row0row.cc", line=132) at /data/src/10.2/storage/innobase/ut/ut0dbg.cc:67
#7  0x00007f3184357016 in row_build_index_entry_low (row=0x7f315adf8588, ext=0x0, index=0x7f315ad66108, heap=0x7f315ac29300, flag=0) at /data/src/10.2/storage/innobase/row/row0row.cc:132
#8  0x00007f3184386a70 in row_build_index_entry (row=0x7f315adf8588, ext=0x0, index=0x7f315ad66108, heap=0x7f315ac29300) at /data/src/10.2/storage/innobase/include/row0row.ic:130
#9  0x00007f318438b8e1 in row_upd_sec_index_entry (node=0x7f315ade1c70, thr=0x7f315ade3088) at /data/src/10.2/storage/innobase/row/row0upd.cc:2265
#10 0x00007f318438c6c4 in row_upd_sec_step (node=0x7f315ade1c70, thr=0x7f315ade3088) at /data/src/10.2/storage/innobase/row/row0upd.cc:2521
#11 0x00007f318438eccf in row_upd (node=0x7f315ade1c70, thr=0x7f315ade3088) at /data/src/10.2/storage/innobase/row/row0upd.cc:3307
#12 0x00007f318438f034 in row_upd_step (thr=0x7f315ade3088) at /data/src/10.2/storage/innobase/row/row0upd.cc:3424
#13 0x00007f318432f349 in row_update_for_mysql_using_upd_graph (mysql_rec=0x7f315ac28eb8 "\376\001", prebuilt=0x7f315ade1088) at /data/src/10.2/storage/innobase/row/row0mysql.cc:1982
#14 0x00007f318432fe87 in row_update_for_mysql (mysql_rec=0x7f315ac28eb8 "\376\001", prebuilt=0x7f315ade1088) at /data/src/10.2/storage/innobase/row/row0mysql.cc:2191
#15 0x00007f31841e418a in ha_innobase::update_row (this=0x7f315acb7888, old_row=0x7f315ac28eb8 "\376\001", new_row=0x7f315ac28e88 "\374\001") at /data/src/10.2/storage/innobase/handler/ha_innodb.cc:9859
#16 0x00007f3183fa7284 in handler::ha_update_row (this=0x7f315acb7888, old_data=0x7f315ac28eb8 "\376\001", new_data=0x7f315ac28e88 "\374\001") at /data/src/10.2/sql/handler.cc:5992
#17 0x00007f3183e19022 in mysql_update (thd=0x7f315ac16070, table_list=0x7f315ac64190, fields=..., values=..., conds=0x7f315ac64b10, order_num=0, order=0x0, limit=18446744073709551615, handle_duplicates=DUP_ERROR, ignore=false, found_return=0x7f3184e48450, updated_return=0x7f3184e48500) at /data/src/10.2/sql/sql_update.cc:817
#18 0x00007f3183d3354a in mysql_execute_command (thd=0x7f315ac16070) at /data/src/10.2/sql/sql_parse.cc:4219
#19 0x00007f3183d3f080 in mysql_parse (thd=0x7f315ac16070, rawbuf=0x7f315ac64088 "UPDATE t1 SET col_char = 'foo' WHERE pk = 1", length=43, parser_state=0x7f3184e48dd0, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:7839
#20 0x00007f3183d2cc46 in dispatch_command (command=COM_QUERY, thd=0x7f315ac16070, packet=0x7f315ac58071 "UPDATE t1 SET col_char = 'foo' WHERE pk = 1", packet_length=43, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:1799
#21 0x00007f3183d2b620 in do_command (thd=0x7f315ac16070) at /data/src/10.2/sql/sql_parse.cc:1359
#22 0x00007f3183e733d2 in do_handle_one_connection (connect=0x7f3180871f70) at /data/src/10.2/sql/sql_connect.cc:1354
#23 0x00007f3183e7315f in handle_one_connection (arg=0x7f3180871f70) at /data/src/10.2/sql/sql_connect.cc:1260
#24 0x00007f31841b1d64 in pfs_spawn_thread (arg=0x7f316dfed770) at /data/src/10.2/storage/perfschema/pfs.cc:1862
#25 0x00007f318335f0a4 in start_thread (arg=0x7f3184e4a300) at pthread_create.c:309
#26 0x00007f318130c87d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Also reproducible on bb-10.2-monty as of 349d69e2e.

--source include/have_innodb.inc
 
CREATE TABLE t1 ( 
 pk INT,
 col_blob MEDIUMTEXT NOT NULL DEFAULT '',
 vcol_blob TINYBLOB AS (col_blob) VIRTUAL,
 col_char CHAR(22) NULL,
 PRIMARY KEY(pk),
 INDEX(col_char,vcol_blob(64))
 ) ENGINE=InnoDB;
INSERT IGNORE INTO t1 (pk) VALUES (1),(2);
UPDATE t1 SET col_char = 'foo' WHERE pk = 1;

No crash on a non-debug build.


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