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

InnoDB: Failing assertion: result != FTS_INVALID upon multi-update on table with unique blob

    XMLWordPrintable

    Details

      Description

      --source include/have_innodb.inc
       
      CREATE OR REPLACE TABLE t1 (f TEXT UNIQUE, FULLTEXT(f)) ENGINE=InnoDB;
      INSERT INTO t1 VALUES ('foo');
       
      CREATE OR REPLACE TABLE t2 (a VARCHAR(255)) ENGINE=InnoDB;
      INSERT INTO t2 VALUES ('foobar'),('qux');
       
      UPDATE t1 JOIN t2 SET f = a;
       
      # Cleanup
      DROP TABLE t1, t2;
      

      10.4 dc22acfd

      2020-05-22 21:48:19 0x7f68383bc700  InnoDB: Assertion failure in file /data/src/10.4/storage/innobase/fts/fts0fts.cc line 2208
      InnoDB: Failing assertion: result != FTS_INVALID
       
      #6  0x000055bcd1df1052 in ut_dbg_assertion_failed (expr=0x55bcd26066cc "result != FTS_INVALID", file=0x55bcd2605f70 "/data/src/10.4/storage/innobase/fts/fts0fts.cc", line=2208) at /data/src/10.4/storage/innobase/ut/ut0dbg.cc:60
      #7  0x000055bcd1f54995 in fts_trx_row_get_new_state (old_state=FTS_DELETE, event=FTS_DELETE) at /data/src/10.4/storage/innobase/fts/fts0fts.cc:2208
      #8  0x000055bcd1f54deb in fts_trx_table_add_op (ftt=0x7f67f01b61b0, doc_id=1, state=FTS_DELETE, fts_indexes=0x0) at /data/src/10.4/storage/innobase/fts/fts0fts.cc:2398
      #9  0x000055bcd1f54f45 in fts_trx_add_op (trx=0x7f6838e54140, table=0x7f67f000bc30, doc_id=1, state=FTS_DELETE, fts_indexes=0x0) at /data/src/10.4/storage/innobase/fts/fts0fts.cc:2445
      #10 0x000055bcd1d12e7b in row_fts_do_update (trx=0x7f6838e54140, table=0x7f67f000bc30, old_doc_id=1, new_doc_id=3) at /data/src/10.4/storage/innobase/row/row0mysql.cc:1701
      #11 0x000055bcd1d13049 in row_fts_update_or_delete (prebuilt=0x7f67f0052b40) at /data/src/10.4/storage/innobase/row/row0mysql.cc:1738
      #12 0x000055bcd1d1396c in row_update_for_mysql (prebuilt=0x7f67f0052b40) at /data/src/10.4/storage/innobase/row/row0mysql.cc:1921
      #13 0x000055bcd1b6c2f4 in ha_innobase::update_row (this=0x7f67f000b3f8, old_row=0x7f67f004a408 "\374\006", new_row=0x7f67f004a3f0 "\374\003") at /data/src/10.4/storage/innobase/handler/ha_innodb.cc:8796
      #14 0x000055bcd192df2c in handler::ha_update_row (this=0x7f67f000b3f8, old_data=0x7f67f004a408 "\374\006", new_data=0x7f67f004a3f0 "\374\003") at /data/src/10.4/sql/handler.cc:6751
      #15 0x000055bcd16dac4f in multi_update::send_data (this=0x7f67f0014a78, not_used_values=...) at /data/src/10.4/sql/sql_update.cc:2527
      #16 0x000055bcd16473b1 in end_send (join=0x7f67f0014b50, join_tab=0x7f67f0017408, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:21555
      #17 0x000055bcd1644a43 in evaluate_join_record (join=0x7f67f0014b50, join_tab=0x7f67f0017060, error=0) at /data/src/10.4/sql/sql_select.cc:20586
      #18 0x000055bcd16444de in sub_select (join=0x7f67f0014b50, join_tab=0x7f67f0017060, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:20405
      #19 0x000055bcd1644a43 in evaluate_join_record (join=0x7f67f0014b50, join_tab=0x7f67f0016cb8, error=0) at /data/src/10.4/sql/sql_select.cc:20586
      #20 0x000055bcd1644329 in sub_select (join=0x7f67f0014b50, join_tab=0x7f67f0016cb8, end_of_records=false) at /data/src/10.4/sql/sql_select.cc:20366
      #21 0x000055bcd16437b8 in do_select (join=0x7f67f0014b50, procedure=0x0) at /data/src/10.4/sql/sql_select.cc:19904
      #22 0x000055bcd16186a1 in JOIN::exec_inner (this=0x7f67f0014b50) at /data/src/10.4/sql/sql_select.cc:4459
      #23 0x000055bcd16177de in JOIN::exec (this=0x7f67f0014b50) at /data/src/10.4/sql/sql_select.cc:4241
      #24 0x000055bcd1618ef3 in mysql_select (thd=0x7f67f0000af0, tables=0x7f67f0013280, wild_num=0, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=1342177408, result=0x7f67f0014a78, unit=0x7f67f0004a18, select_lex=0x7f67f0005210) at /data/src/10.4/sql/sql_select.cc:4673
      #25 0x000055bcd16d8ab4 in mysql_multi_update (thd=0x7f67f0000af0, table_list=0x7f67f0013280, fields=0x7f67f0005358, values=0x7f67f00058e0, conds=0x0, options=0, handle_duplicates=DUP_ERROR, ignore=false, unit=0x7f67f0004a18, select_lex=0x7f67f0005210, result=0x7f68383baf00) at /data/src/10.4/sql/sql_update.cc:1927
      #26 0x000055bcd15c7845 in mysql_execute_command (thd=0x7f67f0000af0) at /data/src/10.4/sql/sql_parse.cc:4445
      #27 0x000055bcd15d3509 in mysql_parse (thd=0x7f67f0000af0, rawbuf=0x7f67f0013198 "UPDATE t1 JOIN t2 SET f = a", length=27, parser_state=0x7f68383bb570, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:7900
      #28 0x000055bcd15bfab9 in dispatch_command (command=COM_QUERY, thd=0x7f67f0000af0, packet=0x7f67f0156a01 "UPDATE t1 JOIN t2 SET f = a", packet_length=27, is_com_multi=false, is_next_command=false) at /data/src/10.4/sql/sql_parse.cc:1842
      #29 0x000055bcd15be25b in do_command (thd=0x7f67f0000af0) at /data/src/10.4/sql/sql_parse.cc:1360
      #30 0x000055bcd1745e6a in do_handle_one_connection (connect=0x55bcd56a89f0) at /data/src/10.4/sql/sql_connect.cc:1412
      #31 0x000055bcd1745bb9 in handle_one_connection (arg=0x55bcd56a89f0) at /data/src/10.4/sql/sql_connect.cc:1316
      #32 0x000055bcd2143291 in pfs_spawn_thread (arg=0x55bcd56c42d0) at /data/src/10.4/storage/perfschema/pfs.cc:1869
      #33 0x00007f6840f9b4a4 in start_thread (arg=0x7f68383bc700) at pthread_create.c:456
      #34 0x00007f683f0cfd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      Reproducible on 10.4 and 10.5, non-debug, debug and asan builds alike.
      The test case is not applicable to earlier versions due to the use of the unique blob.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              sachin.setiya.007 Sachin Setiya (Inactive)
              Reporter:
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:

                  Git Integration