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

Assertion `trx->bulk_insert' failed in innodb_prepare_commit_versioned

    XMLWordPrintable

Details

    Description

      The assertion failure was reported before in MDEV-30489 (which is why I'm not filing it as a blocker). However, till now it wasn't happening on the test case provided below, so something has changed to the worse here. Feel free to demote from critical if you think it should be after the analysis.

      --source include/have_innodb.inc
       
      CREATE TABLE t (id INT) ENGINE=InnoDB;
      SELECT 1 INTO OUTFILE 'f';
      SET FOREIGN_KEY_CHECKS=0, UNIQUE_CHECKS=0, AUTOCOMMIT=0;
      LOAD DATA INFILE 'f' INTO TABLE t;
      SET FOREIGN_KEY_CHECKS=1, UNIQUE_CHECKS=1, AUTOCOMMIT=1;
       
      # Cleanup
      DROP TABLE t;
      

      10.11 fcd345de485fc849fc6cf5177e680b3d423eb291

      mariadbd: /data/bld/10.11-asan/storage/innobase/handler/ha_innodb.cc:3721: ulonglong innodb_prepare_commit_versioned(THD*, ulonglong*): Assertion `trx->bulk_insert' failed.
      240409 16:26:03 [ERROR] mysqld got signal 6 ;
       
      #9  0x00007ff947a53e32 in __GI___assert_fail (assertion=0x55c535ebe3c0 "trx->bulk_insert", file=0x55c535eb7940 "/data/bld/10.11-asan/storage/innobase/handler/ha_innodb.cc", line=3721, function=0x55c535ebe320 "ulonglong innodb_prepare_commit_versioned(THD*, ulonglong*)") at ./assert/assert.c:101
      #10 0x000055c53465c4b5 in innodb_prepare_commit_versioned (thd=0x62c0001f0218, trx_id=0x7ff93967bdd0) at /data/bld/10.11-asan/storage/innobase/handler/ha_innodb.cc:3721
      #11 0x000055c533cc62a6 in ha_commit_trans (thd=0x62c0001f0218, all=true) at /data/bld/10.11-asan/sql/handler.cc:1777
      #12 0x000055c5338cf215 in trans_commit (thd=0x62c0001f0218) at /data/bld/10.11-asan/sql/transaction.cc:270
      #13 0x000055c5338dca94 in fix_autocommit (self=0x55c5379200e0 <Sys_autocommit>, thd=0x62c0001f0218, type=SHOW_OPT_SESSION) at /data/bld/10.11-asan/sql/sys_vars.cc:4528
      #14 0x000055c53310e7e7 in sys_var::update (this=0x55c5379200e0 <Sys_autocommit>, thd=0x62c0001f0218, var=0x6290000fa618) at /data/bld/10.11-asan/sql/set_var.cc:213
      #15 0x000055c533112eca in set_var::update (this=0x6290000fa618, thd=0x62c0001f0218) at /data/bld/10.11-asan/sql/set_var.cc:863
      #16 0x000055c5331122a2 in sql_set_variables (thd=0x62c0001f0218, var_list=0x62c0001f5650, free=true) at /data/bld/10.11-asan/sql/set_var.cc:745
      #17 0x000055c5333e6e3f in mysql_execute_command (thd=0x62c0001f0218, is_called_from_prepared_stmt=false) at /data/bld/10.11-asan/sql/sql_parse.cc:5109
      #18 0x000055c5333fad56 in mysql_parse (thd=0x62c0001f0218, rawbuf=0x6290000fa238 "SET FOREIGN_KEY_CHECKS=1, UNIQUE_CHECKS=1, AUTOCOMMIT=1", length=55, parser_state=0x7ff93967d9e0) at /data/bld/10.11-asan/sql/sql_parse.cc:8119
      #19 0x000055c5333d04a7 in dispatch_command (command=COM_QUERY, thd=0x62c0001f0218, packet=0x629000271219 "SET FOREIGN_KEY_CHECKS=1, UNIQUE_CHECKS=1, AUTOCOMMIT=1", packet_length=55, blocking=true) at /data/bld/10.11-asan/sql/sql_parse.cc:1894
      #20 0x000055c5333cd1d4 in do_command (thd=0x62c0001f0218, blocking=true) at /data/bld/10.11-asan/sql/sql_parse.cc:1407
      #21 0x000055c53388ac78 in do_handle_one_connection (connect=0x608000003ab8, put_in_cache=true) at /data/bld/10.11-asan/sql/sql_connect.cc:1415
      #22 0x000055c53388a639 in handle_one_connection (arg=0x608000003a38) at /data/bld/10.11-asan/sql/sql_connect.cc:1317
      #23 0x000055c53448012e in pfs_spawn_thread (arg=0x617000008598) at /data/bld/10.11-asan/storage/perfschema/pfs.cc:2201
      #24 0x00007ff947aa8044 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #25 0x00007ff947b2861c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
      

      The failure started happening on 10.11 after this commit:

      commit 188c5da72a0057e4572b1d7e4efcd0c39332a839 535711055643952df05774ddb0c94858101be5f6
      Author: Thirunarayanan Balathandayuthapani
      Date:   Mon Apr 8 14:24:20 2024 +0530
       
          MDEV-32453  Bulk insert fails to apply when trigger does insert operation
      

      No obvious immediate effect on a non-debug build.

      Attachments

        Issue Links

          Activity

            People

              thiru Thirunarayanan Balathandayuthapani
              elenst Elena Stepanova
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

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