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

InnoDB: Failing assertion: result != FTS_INVALID upon DML 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

              nikitamalyavin Nikita Malyavin
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.