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

Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed in Diagnostics_area::set_ok_status upon multi-table update

    XMLWordPrintable

Details

    Description

      We do not seem to have a multi-table-specific variation for this assertion failure yet.

      CREATE TABLE t (f INT NOT NULL);
      INSERT INTO t VALUES (0),(0);
      --error WARN_DATA_TRUNCATED
      UPDATE t AS t1 LEFT JOIN t AS t2 ON t1.f <=> t2.f SET t2.f = NULL; 
       
      # Cleanup
      DROP TABLE t;
      

      10.2 3e617b8b

      mysqld: /data/src/10.2/sql/sql_error.cc:380: void Diagnostics_area::set_ok_status(ulonglong, ulonglong, const char*): Assertion `!is_set() || (m_status == DA_OK_BULK && is_bulk_op())' failed.
      200817 19:12:27 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007fc7c6802f12 in __GI___assert_fail (assertion=0x558f1ed576d8 "!is_set() || (m_status == DA_OK_BULK && is_bulk_op())", file=0x558f1ed57610 "/data/src/10.2/sql/sql_error.cc", line=380, function=0x558f1ed57a20 <Diagnostics_area::set_ok_status(unsigned long long, unsigned long long, char const*)::__PRETTY_FUNCTION__> "void Diagnostics_area::set_ok_status(ulonglong, ulonglong, const char*)") at assert.c:101
      #8  0x0000558f1e2ac413 in Diagnostics_area::set_ok_status (this=0x7fc7b0005ca0, affected_rows=0, last_insert_id=0, message=0x7fc7c0b356b0 "Rows matched: 2  Changed: 0  Warnings: 2") at /data/src/10.2/sql/sql_error.cc:380
      #9  0x0000558f1e25f6c9 in my_ok (thd=0x7fc7b0000af0, affected_rows=0, id=0, message=0x7fc7c0b356b0 "Rows matched: 2  Changed: 0  Warnings: 2") at /data/src/10.2/sql/sql_class.h:4560
      #10 0x0000558f1e3d0506 in multi_update::send_eof (this=0x7fc7b0013f08) at /data/src/10.2/sql/sql_update.cc:2652
      #11 0x0000558f1e348978 in do_select (join=0x7fc7b0013fd0, procedure=0x0) at /data/src/10.2/sql/sql_select.cc:18454
      #12 0x0000558f1e32235b in JOIN::exec_inner (this=0x7fc7b0013fd0) at /data/src/10.2/sql/sql_select.cc:3638
      #13 0x0000558f1e321816 in JOIN::exec (this=0x7fc7b0013fd0) at /data/src/10.2/sql/sql_select.cc:3433
      #14 0x0000558f1e3229cc in mysql_select (thd=0x7fc7b0000af0, tables=0x7fc7b0012598, wild_num=0, fields=..., conds=0x0, og_num=0, order=0x0, group=0x0, having=0x0, proc_param=0x0, select_options=1342177408, result=0x7fc7b0013f08, unit=0x7fc7b00046e8, select_lex=0x7fc7b0004e28) at /data/src/10.2/sql/sql_select.cc:3833
      #15 0x0000558f1e3cce0b in mysql_multi_update (thd=0x7fc7b0000af0, table_list=0x7fc7b0012598, fields=0x7fc7b0004f50, values=0x7fc7b0005430, conds=0x0, options=0, handle_duplicates=DUP_ERROR, ignore=false, unit=0x7fc7b00046e8, select_lex=0x7fc7b0004e28, result=0x7fc7c0b35d30) at /data/src/10.2/sql/sql_update.cc:1629
      #16 0x0000558f1e2da826 in mysql_execute_command (thd=0x7fc7b0000af0) at /data/src/10.2/sql/sql_parse.cc:4074
      #17 0x0000558f1e2e630d in mysql_parse (thd=0x7fc7b0000af0, rawbuf=0x7fc7b0012458 "UPDATE t AS t1 LEFT JOIN t AS t2 ON t1.f <=> t2.f SET t2.f = NULL", length=65, parser_state=0x7fc7c0b36610, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:7733
      #18 0x0000558f1e2d4639 in dispatch_command (command=COM_QUERY, thd=0x7fc7b0000af0, packet=0x7fc7b008cdb1 "UPDATE t AS t1 LEFT JOIN t AS t2 ON t1.f <=> t2.f SET t2.f = NULL", packet_length=65, is_com_multi=false, is_next_command=false) at /data/src/10.2/sql/sql_parse.cc:1824
      #19 0x0000558f1e2d30b4 in do_command (thd=0x7fc7b0000af0) at /data/src/10.2/sql/sql_parse.cc:1377
      #20 0x0000558f1e4292a1 in do_handle_one_connection (connect=0x558f20cdf190) at /data/src/10.2/sql/sql_connect.cc:1336
      #21 0x0000558f1e42900c in handle_one_connection (arg=0x558f20cdf190) at /data/src/10.2/sql/sql_connect.cc:1241
      #22 0x0000558f1ec3f96c in pfs_spawn_thread (arg=0x558f20c2bea0) at /data/src/10.2/storage/perfschema/pfs.cc:1869
      #23 0x00007fc7c878b4a4 in start_thread (arg=0x7fc7c0b37700) at pthread_create.c:456
      #24 0x00007fc7c68bfd0f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97
      

      Reproducible with at least MyISAM and InnoDB.
      Not reproducible on 10.1.
      No obvious problem on a non-debug build.

      Attachments

        Activity

          People

            rucha174 Rucha Deodhar
            elenst Elena Stepanova
            Votes:
            0 Vote for this issue
            Watchers:
            3 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.