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

Assertion failure in Diagnostics_area::set_error_status upon ER_TRANS_CACHE_FULL

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Major
    • Resolution: Unresolved
    • 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9, 10.10
    • 10.4, 10.5, 10.6
    • Replication, Server
    • None

    Description

      --source include/have_log_bin.inc
      --source include/have_binlog_format_row.inc
      --source include/have_innodb.inc
       
      SET @cachesize.save= @@max_binlog_cache_size;
       
      CREATE TABLE t (f MEDIUMBLOB) ENGINE=InnoDB;
      INSERT INTO t VALUES (REPEAT('x',1200000)),(REPEAT('x',30000));
      CREATE TRIGGER tr BEFORE INSERT ON t FOR EACH ROW BEGIN END;
       
      --connect (con1,localhost,root,,test)
       
      SET GLOBAL MAX_BINLOG_CACHE_SIZE= 1048576;
      START TRANSACTION;
      --error ER_TRANS_CACHE_FULL
      UPDATE t SET f = 'xx';
       
      # Cleanup
      --disconnect con1
      --connection default
      DROP TABLE t;
      SET GLOBAL MAX_BINLOG_CACHE_SIZE= @cachesize.save;
      

      10.3 dd8833bf

      mysqld: /data/src/10.3/sql/sql_error.cc:445: void Diagnostics_area::set_error_status(uint, const char*, const char*, const Sql_user_condition_identity&, const Sql_condition*): Assertion `! is_set() || m_can_overwrite_status' failed.
      221003 22:00:48 [ERROR] mysqld got signal 6 ;
       
      #7  0x00007f543221c662 in __GI___assert_fail (assertion=0x5605fe562e40 "! is_set() || m_can_overwrite_status", file=0x5605fe5627e0 "/data/src/10.3/sql/sql_error.cc", line=445, function=0x5605fe562ea0 "void Diagnostics_area::set_error_status(uint, const char*, const char*, const Sql_user_condition_identity&, const Sql_condition*)") at assert.c:101
      #8  0x00005605fc891a18 in Diagnostics_area::set_error_status (this=0x62a0000d17e8, sql_errno=1197, message=0x5605fe84a5c0 "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again", sqlstate=0x5605fe5dd300 "HY000", ucid=..., error_condition=0x0) at /data/src/10.3/sql/sql_error.cc:445
      #9  0x00005605fc83a2a9 in THD::raise_condition (this=0x62a0000cc208, sql_errno=1197, sqlstate=0x5605fe5dd300 "HY000", level=Sql_state_errno_level::WARN_LEVEL_ERROR, ucid=..., msg=0x5605fe84a5c0 "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again") at /data/src/10.3/sql/sql_class.cc:1060
      #10 0x00005605fc697614 in THD::raise_condition (this=0x62a0000cc208, sql_errno=1197, sqlstate=0x0, level=Sql_state_errno_level::WARN_LEVEL_ERROR, msg=0x5605fe84a5c0 "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again") at /data/src/10.3/sql/sql_class.h:4409
      #11 0x00005605fc67ef56 in my_message_sql (error=1197, str=0x5605fe84a5c0 "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again", MyFlags=16) at /data/src/10.3/sql/mysqld.cc:3717
      #12 0x00005605fe3a15a2 in my_message (error=1197, str=0x5605fe84a5c0 "Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again", MyFlags=0) at /data/src/10.3/mysys/my_error.c:196
      #13 0x00005605fd35b41f in MYSQL_BIN_LOG::set_write_error (this=0x5605ffb80140 <mysql_bin_log>, thd=0x62a0000cc208, is_transactional=true) at /data/src/10.3/sql/log.cc:2169
      #14 0x00005605fd3723be in MYSQL_BIN_LOG::flush_and_set_pending_rows_event (this=0x5605ffb80140 <mysql_bin_log>, thd=0x62a0000cc208, event=0x0, is_transactional=true) at /data/src/10.3/sql/log.cc:5933
      #15 0x00005605fc8644ad in THD::binlog_flush_pending_rows_event (this=0x62a0000cc208, stmt_end=true, is_transactional=true) at /data/src/10.3/sql/sql_class.cc:7164
      #16 0x00005605fc808d79 in THD::binlog_flush_pending_rows_event (this=0x62a0000cc208, stmt_end=true) at /data/src/10.3/sql/sql_class.h:2557
      #17 0x00005605fc7ced8b in close_thread_tables (thd=0x62a0000cc208) at /data/src/10.3/sql/sql_base.cc:862
      #18 0x00005605fc9580b6 in mysql_execute_command (thd=0x62a0000cc208) at /data/src/10.3/sql/sql_parse.cc:6161
      #19 0x00005605fc963608 in mysql_parse (thd=0x62a0000cc208, rawbuf=0x62b00003f228 "UPDATE t SET f = 'xx'", length=21, parser_state=0x7f541b3939d0, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:7855
      #20 0x00005605fc93ac56 in dispatch_command (command=COM_QUERY, thd=0x62a0000cc208, packet=0x629000140209 "UPDATE t SET f = 'xx'", packet_length=21, is_com_multi=false, is_next_command=false) at /data/src/10.3/sql/sql_parse.cc:1852
      #21 0x00005605fc93780e in do_command (thd=0x62a0000cc208) at /data/src/10.3/sql/sql_parse.cc:1398
      #22 0x00005605fccfa336 in do_handle_one_connection (connect=0x608000001228) at /data/src/10.3/sql/sql_connect.cc:1403
      #23 0x00005605fccf9c32 in handle_one_connection (arg=0x608000001228) at /data/src/10.3/sql/sql_connect.cc:1308
      #24 0x00005605fe2a529f in pfs_spawn_thread (arg=0x615000007608) at /data/src/10.3/storage/perfschema/pfs.cc:1869
      #25 0x00007f54323c7ea7 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #26 0x00007f54322e7aef in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Reproducible on all 10.3+, including previous minor releases.

      Non-debug build returns ER_TRANS_CACHE_FULL:

      UPDATE t SET f = 'xx';
      ERROR HY000: Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage; increase this mysqld variable and try again
      

      Attachments

        Activity

          People

            rucha174 Rucha Deodhar
            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.