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

Assertion `!trx->mysql_thd || !trx->mysql_thd->tx_read_only' failed in trx_flush_log_if_needed

    XMLWordPrintable

Details

    Description

      --source include/have_innodb.inc
       
      CREATE TABLE t (id INT) ENGINE=InnoDB;
      INSERT INTO t VALUES (1),(2);
       --delimiter $
       CREATE FUNCTION f() RETURNS INT
       BEGIN
        SET TRANSACTION READ ONLY;
        RETURN 1;
       END $
      --delimiter ;
      DELETE FROM t WHERE id = f();
       
      DROP FUNCTION f;
      DROP TABLE t;
      

      10.11 3d2ae78f843ed1b5ba715439014aa7bbd1eceaa3

      mariadbd: /data/bld/10.11-asan-ubsan/storage/innobase/trx/trx0trx.cc:1260: void trx_flush_log_if_needed(lsn_t, trx_t*): Assertion `!trx->mysql_thd || !trx->mysql_thd->tx_read_only' failed.
      260506 22:15:44 [ERROR] /share8t/bld/10.11-asan-ubsan/sql/mariadbd got signal 6 ;
       
      #10 0x00007f6426053eb2 in __GI___assert_fail (assertion=0x55786077f340 "!trx->mysql_thd || !trx->mysql_thd->tx_read_only", file=0x55786077abc0 "/data/bld/10.11-asan-ubsan/storage/innobase/trx/trx0trx.cc", line=1260, function=0x55786077f280 "void trx_flush_log_if_needed(lsn_t, trx_t*)") at ./assert/assert.c:101
      #11 0x000055785f424aaf in trx_flush_log_if_needed (lsn=lsn@entry=57685, trx=trx@entry=0x7f641d5403c0) at /data/bld/10.11-asan-ubsan/storage/innobase/trx/trx0trx.cc:1260
      #12 0x000055785f424c59 in trx_commit_complete_for_mysql (trx=trx@entry=0x7f641d5403c0) at /data/bld/10.11-asan-ubsan/storage/innobase/trx/trx0trx.cc:1758
      #13 0x000055785ec8fca5 in innobase_commit (hton=<optimized out>, thd=0x62c0001f0218, commit_trx=<optimized out>) at /data/bld/10.11-asan-ubsan/storage/innobase/handler/ha_innodb.cc:4546
      #14 0x000055785d99a5a2 in commit_one_phase_2 (thd=thd@entry=0x62c0001f0218, all=all@entry=false, trans=trans@entry=0x62c0001f3c98, is_real_trans=is_real_trans@entry=true) at /data/bld/10.11-asan-ubsan/sql/handler.cc:2214
      #15 0x000055785d9ff889 in ha_commit_one_phase (thd=thd@entry=0x62c0001f0218, all=all@entry=false) at /data/bld/10.11-asan-ubsan/sql/handler.cc:2139
      #16 0x000055785da02516 in ha_commit_trans (thd=thd@entry=0x62c0001f0218, all=all@entry=false) at /data/bld/10.11-asan-ubsan/sql/handler.cc:1929
      #17 0x000055785cfbdbe8 in trans_commit_stmt (thd=thd@entry=0x62c0001f0218) at /data/bld/10.11-asan-ubsan/sql/transaction.cc:501
      #18 0x000055785c72dc99 in mysql_execute_command (thd=thd@entry=0x62c0001f0218, is_called_from_prepared_stmt=is_called_from_prepared_stmt@entry=false) at /data/bld/10.11-asan-ubsan/sql/sql_parse.cc:6259
      #19 0x000055785c7311b8 in mysql_parse (thd=thd@entry=0x62c0001f0218, rawbuf=<optimized out>, length=<optimized out>, parser_state=parser_state@entry=0x776415423ab0) at /data/bld/10.11-asan-ubsan/sql/sql_parse.cc:8223
      #20 0x000055785c73a52a in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x62c0001f0218, packet=packet@entry=0x629000276219 "DELETE FROM t WHERE id = f()", packet_length=packet_length@entry=28, blocking=blocking@entry=true) at /data/bld/10.11-asan-ubsan/sql/sql_parse.cc:1924
      #21 0x000055785c746bd7 in do_command (thd=thd@entry=0x62c0001f0218, blocking=blocking@entry=true) at /data/bld/10.11-asan-ubsan/sql/sql_parse.cc:1434
      #22 0x000055785cf3c7fe in do_handle_one_connection (connect=<optimized out>, connect@entry=0x608000019538, put_in_cache=put_in_cache@entry=true) at /data/bld/10.11-asan-ubsan/sql/sql_connect.cc:1475
      #23 0x000055785cf3d95b in handle_one_connection (arg=0x608000019538) at /data/bld/10.11-asan-ubsan/sql/sql_connect.cc:1387
      #24 0x000055785e8742b1 in pfs_spawn_thread (arg=0x617000008218) at /data/bld/10.11-asan-ubsan/storage/perfschema/pfs.cc:2201
      #25 0x00007f64260a81c4 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
      #26 0x00007f642612885c in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
      

      The failure started happening after this commit in 10.11.16:

      commit 7614f8fb5d0f6f808ac261edf689c1eceede5cd9
      Author: Marko Mäkelä
      Date:   Wed Jan 28 13:24:09 2026 +0200
       
          MDEV-38589: SELECT unnecessarily waits for log write
      

      Attachments

        Issue Links

          Activity

            People

              marko Marko Mäkelä
              elenst Elena Stepanova
              Votes:
              0 Vote for this issue
              Watchers:
              1 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.