Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-11704

InnoDB: Failing assertion: dfield_is_null(dfield2) || dfield2->data

    XMLWordPrintable

    Details

      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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              serg Sergei Golubchik
              Reporter:
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:

                  Git Integration