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

Assertion `!mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()' failed in Delayed_insert::handle_inserts

Details

    Description

      # Keep repeating/looping till it crashes (~2)
      # mysqld options required for replay: --log-bin 
      DROP DATABASE test;
      CREATE DATABASE test;
      USE test;
      SET GLOBAL binlog_format=1;
      SET SESSION default_storage_engine='MEMORY';
      SET sql_log_bin=0;
      CREATE TABLE t (a INT KEY,b INT);
      INSERT DELAYED INTO t VALUES (1,0),(1,0),(1,0);
      SET sql_log_bin=1;
      SET GLOBAL binlog_format=MIXED;
      INSERT DELAYED INTO t VALUES (1,0),(1,0),(1,0);
      

      Leads to:

      10.10.0 081a284712bb661349e2e3802077b12211cede3e (Debug)

      mysqld: /test/10.10_dbg/sql/sql_insert.cc:3558: bool Delayed_insert::handle_inserts(): Assertion `!mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()' failed.
      

      10.10.0 081a284712bb661349e2e3802077b12211cede3e (Debug)

      Core was generated by `/test/MD310522-mariadb-10.10.0-linux-x86_64-dbg/bin/mysqld --no-defaults --core'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      [Current thread is 1 (Thread 0x14db78b63700 (LWP 133518))]
      (gdb) bt
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #1  0x000014db91dd0859 in __GI_abort () at abort.c:79
      #2  0x000014db91dd0729 in __assert_fail_base (fmt=0x14db91f66588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x560bb7388678 "!mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()", file=0x560bb7387fe0 "/test/10.10_dbg/sql/sql_insert.cc", line=3558, function=<optimized out>) at assert.c:92
      #3  0x000014db91de1fd6 in __GI___assert_fail (assertion=assertion@entry=0x560bb7388678 "!mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()", file=file@entry=0x560bb7387fe0 "/test/10.10_dbg/sql/sql_insert.cc", line=line@entry=3558, function=function@entry=0x560bb73886c0 "bool Delayed_insert::handle_inserts()") at assert.c:101
      #4  0x0000560bb675e568 in Delayed_insert::handle_inserts (this=this@entry=0x14db24058118) at /test/10.10_dbg/sql/log.h:324
      #5  0x0000560bb675ff28 in handle_delayed_insert (arg=0x14db24058118) at /test/10.10_dbg/sql/sql_insert.cc:3351
      #6  0x000014db922e1609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #7  0x000014db91ecd133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Bug confirmed present in:
      MariaDB: 10.4.26 (dbg), 10.5.17 (dbg), 10.6.9 (dbg), 10.7.5 (dbg), 10.8.4 (dbg), 10.9.2 (dbg), 10.10.0 (dbg)
      MySQL: 5.5.62 (dbg), 5.6.51 (dbg)

      Bug (or feature/syntax) confirmed not present in:
      MariaDB: 10.3.36 (dbg), 10.3.36 (opt), 10.4.26 (opt), 10.5.17 (opt), 10.6.9 (opt), 10.7.5 (opt), 10.8.4 (opt), 10.9.2 (opt), 10.10.0 (opt)
      MySQL: 5.5.62 (opt), 5.6.51 (opt), 5.7.38 (dbg), 5.7.38 (opt), 8.0.29 (dbg), 8.0.29 (opt)

      Attachments

        Activity

          All asserts/stacks seen across versions:

          !(mysql_bin_log.is_open() && !thd.is_current_stmt_binlog_format_row())|SIGABRT|Delayed_insert::handle_inserts|handle_delayed_insert|pfs_spawn_thread|start_thread
          !(mysql_bin_log.is_open() && !thd.is_current_stmt_binlog_format_row())|SIGABRT|Delayed_insert::handle_inserts|handle_delayed_insert|start_thread|clone
          !mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()|SIGABRT|Delayed_insert::handle_inserts|handle_delayed_insert|start_thread|clone
          

          Roel Roel Van de Paar added a comment - All asserts/stacks seen across versions: !(mysql_bin_log.is_open() && !thd.is_current_stmt_binlog_format_row())|SIGABRT|Delayed_insert::handle_inserts|handle_delayed_insert|pfs_spawn_thread|start_thread !(mysql_bin_log.is_open() && !thd.is_current_stmt_binlog_format_row())|SIGABRT|Delayed_insert::handle_inserts|handle_delayed_insert|start_thread|clone !mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()|SIGABRT|Delayed_insert::handle_inserts|handle_delayed_insert|start_thread|clone
          ramesh Ramesh Sivaraman added a comment - - edited

          Reduced test case

          source include/have_log_bin.inc;
           
          CREATE TABLE t(id int key)engine=MEMORY;
          SET @@GLOBAL.binlog_format=STATEMENT;
          SET SQL_LOG_BIN=0;
          INSERT DELAYED INTO t VALUES(0);
          SET @@GLOBAL.binlog_format=ROW;
          SET SQL_LOG_BIN=1;
          INSERT DELAYED INTO t VALUES(1);
          

          ramesh Ramesh Sivaraman added a comment - - edited Reduced test case source include/have_log_bin.inc;   CREATE TABLE t(id int key )engine=MEMORY; SET @@ GLOBAL .binlog_format=STATEMENT; SET SQL_LOG_BIN=0; INSERT DELAYED INTO t VALUES (0); SET @@ GLOBAL .binlog_format=ROW; SET SQL_LOG_BIN=1; INSERT DELAYED INTO t VALUES (1);
          Roel Roel Van de Paar added a comment - - edited

          Additional testcase, MariaDB only:

          # mysqld options required for replay: --log_bin 
          SET GLOBAL binlog_format=1;
          CREATE TABLE t (a CHAR(1),FULLTEXT (a)) ENGINE=MyISAM;
          CALL sys.statement_performance_analyzer (1,1,1);
          INSERT DELAYED INTO t VALUES (2);
          SET GLOBAL binlog_format=MIXED;
          SET sql_log_bin=1;
          INSERT DELAYED INTO t VALUES (1);
          

          Leads to:

          11.2.5 03807c8449cdccbf5b8afc0dddabb1d8ec7ba85a (Debug)

          mariadbd: /test/11.2_dbg/sql/sql_insert.cc:3695: bool Delayed_insert::handle_inserts(): Assertion `!mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()' failed.
          

          11.2.5 03807c8449cdccbf5b8afc0dddabb1d8ec7ba85a (Debug)

          Core was generated by `/test/MD200724-mariadb-11.2.5-linux-x86_64-dbg/bin/mariadbd --no-defaults --max'.
          Program terminated with signal SIGABRT, Aborted.
          Download failed: Invalid argument.  Continuing without source file ./nptl/./nptl/pthread_kill.c.
          #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
           
          warning: 44	./nptl/pthread_kill.c: No such file or directory
          [Current thread is 1 (LWP 2637107)]
          (gdb) bt
          #0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44
          #1  __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78
          #2  __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89
          #3  0x000014fd3f64526e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26
          #4  0x000014fd3f6288ff in __GI_abort () at ./stdlib/abort.c:79
          #5  0x000014fd3f62881b in __assert_fail_base (fmt=0x14fd3f7d01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55ac941b13b0 "!mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()", file=file@entry=0x55ac941b0bc8 "/test/11.2_dbg/sql/sql_insert.cc", line=line@entry=3695, function=function@entry=0x55ac941b13f8 "bool Delayed_insert::handle_inserts()") at ./assert/assert.c:94
          #6  0x000014fd3f63b507 in __assert_fail (assertion=0x55ac941b13b0 "!mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()", file=0x55ac941b0bc8 "/test/11.2_dbg/sql/sql_insert.cc", line=3695, function=0x55ac941b13f8 "bool Delayed_insert::handle_inserts()")at ./assert/assert.c:103
          #7  0x000055ac93444987 in Delayed_insert::handle_inserts (this=this@entry=0x14fcd83a7f58) at /test/11.2_dbg/sql/sql_insert.cc:3695
          #8  0x000055ac93446884 in handle_delayed_insert (arg=arg@entry=0x14fcd83a7f58)at /test/11.2_dbg/sql/sql_insert.cc:3488
          #9  0x000055ac93a4a192 in pfs_spawn_thread (arg=0x55ac962434e8)at /test/11.2_dbg/storage/perfschema/pfs.cc:2201
          #10 0x000014fd3f69ca94 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447
          #11 0x000014fd3f729c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
          

          Bug confirmed present in:
          MariaDB: 10.6.19 (dbg), 10.11.9 (dbg), 11.1.6 (dbg), 11.2.5 (dbg), 11.4.3 (dbg), 11.5.2 (dbg), 11.6.0 (dbg)

          Bug (or feature/syntax) confirmed not present in:
          MariaDB: 10.5.26 (dbg), 10.5.26 (opt), 10.6.19 (opt), 10.11.9 (opt), 11.1.6 (opt), 11.2.5 (opt), 11.4.3 (opt), 11.5.2 (opt), 11.6.0 (opt)
          MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.51 (dbg), 5.6.51 (opt), 5.7.44 (dbg), 5.7.44 (opt), 8.0.36 (dbg), 8.0.36 (opt)

          Roel Roel Van de Paar added a comment - - edited Additional testcase, MariaDB only: # mysqld options required for replay: --log_bin SET GLOBAL binlog_format=1; CREATE TABLE t (a CHAR (1),FULLTEXT (a)) ENGINE=MyISAM; CALL sys.statement_performance_analyzer (1,1,1); INSERT DELAYED INTO t VALUES (2); SET GLOBAL binlog_format=MIXED; SET sql_log_bin=1; INSERT DELAYED INTO t VALUES (1); Leads to: 11.2.5 03807c8449cdccbf5b8afc0dddabb1d8ec7ba85a (Debug) mariadbd: /test/11.2_dbg/sql/sql_insert.cc:3695: bool Delayed_insert::handle_inserts(): Assertion `!mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()' failed. 11.2.5 03807c8449cdccbf5b8afc0dddabb1d8ec7ba85a (Debug) Core was generated by `/test/MD200724-mariadb-11.2.5-linux-x86_64-dbg/bin/mariadbd --no-defaults --max'. Program terminated with signal SIGABRT, Aborted. Download failed: Invalid argument. Continuing without source file ./nptl/./nptl/pthread_kill.c. #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44   warning: 44 ./nptl/pthread_kill.c: No such file or directory [Current thread is 1 (LWP 2637107)] (gdb) bt #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=<optimized out>)at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6)at ./nptl/pthread_kill.c:89 #3 0x000014fd3f64526e in __GI_raise (sig=sig@entry=6)at ../sysdeps/posix/raise.c:26 #4 0x000014fd3f6288ff in __GI_abort () at ./stdlib/abort.c:79 #5 0x000014fd3f62881b in __assert_fail_base (fmt=0x14fd3f7d01e8 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=assertion@entry=0x55ac941b13b0 "!mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()", file=file@entry=0x55ac941b0bc8 "/test/11.2_dbg/sql/sql_insert.cc", line=line@entry=3695, function=function@entry=0x55ac941b13f8 "bool Delayed_insert::handle_inserts()") at ./assert/assert.c:94 #6 0x000014fd3f63b507 in __assert_fail (assertion=0x55ac941b13b0 "!mysql_bin_log.is_open() || thd.is_current_stmt_binlog_format_row()", file=0x55ac941b0bc8 "/test/11.2_dbg/sql/sql_insert.cc", line=3695, function=0x55ac941b13f8 "bool Delayed_insert::handle_inserts()")at ./assert/assert.c:103 #7 0x000055ac93444987 in Delayed_insert::handle_inserts (this=this@entry=0x14fcd83a7f58) at /test/11.2_dbg/sql/sql_insert.cc:3695 #8 0x000055ac93446884 in handle_delayed_insert (arg=arg@entry=0x14fcd83a7f58)at /test/11.2_dbg/sql/sql_insert.cc:3488 #9 0x000055ac93a4a192 in pfs_spawn_thread (arg=0x55ac962434e8)at /test/11.2_dbg/storage/perfschema/pfs.cc:2201 #10 0x000014fd3f69ca94 in start_thread (arg=<optimized out>)at ./nptl/pthread_create.c:447 #11 0x000014fd3f729c3c in clone3 ()at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78 Bug confirmed present in: MariaDB: 10.6.19 (dbg), 10.11.9 (dbg), 11.1.6 (dbg), 11.2.5 (dbg), 11.4.3 (dbg), 11.5.2 (dbg), 11.6.0 (dbg) Bug (or feature/syntax) confirmed not present in: MariaDB: 10.5.26 (dbg), 10.5.26 (opt), 10.6.19 (opt), 10.11.9 (opt), 11.1.6 (opt), 11.2.5 (opt), 11.4.3 (opt), 11.5.2 (opt), 11.6.0 (opt) MySQL: 5.5.62 (dbg), 5.5.62 (opt), 5.6.51 (dbg), 5.6.51 (opt), 5.7.44 (dbg), 5.7.44 (opt), 8.0.36 (dbg), 8.0.36 (opt)

          People

            Elkin Andrei Elkin
            Roel Roel Van de Paar
            Votes:
            0 Vote for this issue
            Watchers:
            2 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.