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

Assertion `current_stmt_binlog_format == BINLOG_FORMAT_STMT || current_stmt_binlog_format == BINLOG_FORMAT_ROW' failed in THD::is_current_stmt_binlog_format_row

    XMLWordPrintable

    Details

      Description

      Issue may be lightly sporadic

      USE test;   
      SET @@sql_mode='';
      CREATE TABLE t1 (c INT PRIMARY KEY) ENGINE=InnoDB;
      CREATE TABLE t2 (c INT) ENGINE=InnoDB;
      CREATE TEMPORARY TABLE t1 (a INT) ENGINE=InnoDB;
      FLUSH TABLES t1,t2 WITH READ LOCK;
      DROP TABLE t1,t2;
      LOCK TABLES no_such_table_here READ;
      INSERT INTO t2 VALUES(1);
      CREATE TABLE t1 (c INT PRIMARY KEY) ENGINE=InnoDB;
      ALTER VIEW v1 AS SELECT * FROM t1;
      CALL foo2();
      

      Leads to:

      10.6.0 a1542f8a57390bbad916ddfd335e1c751ffb3de5 (Debug)

      mysqld: /data/GAL_BUILDS/10.6_dbg/sql/sql_class.h:2690: int THD::is_current_stmt_binlog_format_row() const: Assertion `current_stmt_binlog_format == BINLOG_FORMAT_STMT || current_stmt_binlog_format == BINLOG_FORMAT_ROW' failed.
      

      10.6.0 a1542f8a57390bbad916ddfd335e1c751ffb3de5 (Debug)

      Core was generated by `/data/GAL_BUILDS/GAL_MD150221-mariadb-10.6.0-linux-x86_64-dbg/bin/mysqld --defa'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
          at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      [Current thread is 1 (Thread 0x146f28d09700 (LWP 2212550))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      #1  0x000055bc13bcb919 in my_write_core (sig=sig@entry=6) at /data/GAL_BUILDS/10.6_dbg/mysys/stacktrace.c:424
      #2  0x000055bc1335d2e5 in handle_fatal_signal (sig=6) at /data/GAL_BUILDS/10.6_dbg/sql/signal_handler.cc:330
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #5  0x0000146f5d27a859 in __GI_abort () at abort.c:79
      #6  0x0000146f5d27a729 in __assert_fail_base (fmt=0x146f5d410588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55bc13d238f0 "current_stmt_binlog_format == BINLOG_FORMAT_STMT || current_stmt_binlog_format == BINLOG_FORMAT_ROW", file=0x55bc13d11210 "/data/GAL_BUILDS/10.6_dbg/sql/sql_class.h", line=2690, function=<optimized out>) at assert.c:92
      #7  0x0000146f5d28bf36 in __GI___assert_fail (assertion=assertion@entry=0x55bc13d238f0 "current_stmt_binlog_format == BINLOG_FORMAT_STMT || current_stmt_binlog_format == BINLOG_FORMAT_ROW", file=file@entry=0x55bc13d11210 "/data/GAL_BUILDS/10.6_dbg/sql/sql_class.h", line=line@entry=2690, function=function@entry=0x55bc13d23958 "int THD::is_current_stmt_binlog_format_row() const") at assert.c:101
      #8  0x000055bc135e6616 in THD::is_current_stmt_binlog_format_row (this=0x146eec000db8) at /data/GAL_BUILDS/10.6_dbg/sql/sql_class.h:2690
      #9  ha_maria::store_lock (this=0x146eec0a2030, thd=0x146eec000db8, to=0x146eec012990, lock_type=TL_READ) at /data/GAL_BUILDS/10.6_dbg/storage/maria/ha_maria.cc:3077
      #10 0x000055bc134d8987 in get_lock_data (thd=thd@entry=0x146eec000db8, table_ptr=table_ptr@entry=0x146eec012968, count=count@entry=1, flags=flags@entry=3) at /data/GAL_BUILDS/10.6_dbg/sql/lock.cc:806
      #11 0x000055bc134d8fe8 in mysql_lock_tables (thd=thd@entry=0x146eec000db8, tables=tables@entry=0x146eec012968, count=count@entry=1, flags=flags@entry=133122) at /data/GAL_BUILDS/10.6_dbg/sql/lock.cc:298
      #12 0x000055bc130034b7 in lock_tables (thd=thd@entry=0x146eec000db8, tables=0x146f28d05990, count=<optimized out>, flags=flags@entry=133122) at /data/GAL_BUILDS/10.6_dbg/sql/sql_base.cc:5522
      #13 0x000055bc13005927 in open_and_lock_tables (thd=thd@entry=0x146eec000db8, options=<optimized out>, tables=<optimized out>, tables@entry=0x146f28d05990, derived=derived@entry=false, flags=133122, prelocking_strategy=prelocking_strategy@entry=0x146f28d05858) at /data/GAL_BUILDS/10.6_dbg/sql/sql_base.cc:5233
      #14 0x000055bc1300bcb8 in open_and_lock_tables (flags=<optimized out>, derived=false, tables=0x146f28d05990, thd=0x146eec000db8) at /data/GAL_BUILDS/10.6_dbg/sql/sql_base.h:507
      #15 open_system_tables_for_read (thd=thd@entry=0x146eec000db8, table_list=table_list@entry=0x146f28d05990) at /data/GAL_BUILDS/10.6_dbg/sql/sql_base.cc:9034
      #16 0x000055bc1353dc9f in open_proc_table_for_read (thd=thd@entry=0x146eec000db8) at /data/GAL_BUILDS/10.6_dbg/sql/sp.cc:492
      #17 0x000055bc1353e914 in Sp_handler::db_find_routine (this=this@entry=0x55bc145d8770 <sp_handler_procedure>, thd=thd@entry=0x146eec000db8, name=name@entry=0x146f28d076d0, sphp=sphp@entry=0x146f28d07930) at /data/GAL_BUILDS/10.6_dbg/sql/sp.cc:712
      #18 0x000055bc1353ec2f in Sp_handler::db_find_and_cache_routine (this=this@entry=0x55bc145d8770 <sp_handler_procedure>, thd=thd@entry=0x146eec000db8, name=name@entry=0x146f28d076d0, sp=sp@entry=0x146f28d07930) at /data/GAL_BUILDS/10.6_dbg/sql/sp.cc:787
      #19 0x000055bc1353eda3 in Sp_handler::sp_cache_routine (this=0x55bc145d8770 <sp_handler_procedure>, thd=0x146eec000db8, name=0x146f28d076d0, lookup_only=<optimized out>, sp=0x146f28d07930) at /data/GAL_BUILDS/10.6_dbg/sql/sp.cc:2829
      #20 0x000055bc1354345c in Sroutine_hash_entry::sp_cache_routine (this=this@entry=0x146eec012788, thd=thd@entry=0x146eec000db8, lookup_only=lookup_only@entry=false, sp=sp@entry=0x146f28d07930) at /data/GAL_BUILDS/10.6_dbg/sql/sp.cc:2782
      #21 0x000055bc13004c38 in open_and_process_routine (routine_modifies_data=<synthetic pointer>, need_prelocking=0x146f28d0792f, ot_ctx=0x146f28d07990, has_prelocking_list=false, prelocking_strategy=0x146f28d07aa8, rt=0x146eec012788, prelocking_ctx=0x146eec004ec8, thd=0x146eec000db8) at /data/GAL_BUILDS/10.6_dbg/sql/sql_base.cc:3462
      #22 open_tables (thd=thd@entry=0x146eec000db8, options=@0x146eec006440: {m_options = DDL_options_st::OPT_NONE}, start=start@entry=0x146f28d07a18, counter=counter@entry=0x146f28d07a2c, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x146f28d07aa8) at /data/GAL_BUILDS/10.6_dbg/sql/sql_base.cc:4347
      #23 0x000055bc130058b7 in open_and_lock_tables (thd=thd@entry=0x146eec000db8, options=@0x146eec006440: {m_options = DDL_options_st::OPT_NONE}, tables=<optimized out>, tables@entry=0x0, derived=derived@entry=true, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x146f28d07aa8) at /data/GAL_BUILDS/10.6_dbg/sql/sql_base.cc:5224
      #24 0x000055bc1308efea in open_and_lock_tables (flags=0, derived=true, tables=0x0, thd=0x146eec000db8) at /data/GAL_BUILDS/10.6_dbg/sql/sql_base.h:507
      #25 Sql_cmd_call::execute (this=0x146eec012770, thd=0x146eec000db8) at /data/GAL_BUILDS/10.6_dbg/sql/sql_parse.cc:3140
      #26 0x000055bc1309cf8d in mysql_execute_command (thd=thd@entry=0x146eec000db8) at /data/GAL_BUILDS/10.6_dbg/sql/sql_parse.cc:5880
      #27 0x000055bc13083aaa in mysql_parse (thd=thd@entry=0x146eec000db8, rawbuf=rawbuf@entry=0x146eec0126c0 "CALL foo2()", length=length@entry=11, parser_state=parser_state@entry=0x146f28d083d0) at /data/GAL_BUILDS/10.6_dbg/sql/sql_parse.cc:7906
      #28 0x000055bc13083406 in wsrep_mysql_parse (thd=thd@entry=0x146eec000db8, rawbuf=0x146eec0126c0 "CALL foo2()", length=11, parser_state=parser_state@entry=0x146f28d083d0) at /data/GAL_BUILDS/10.6_dbg/sql/sql_parse.cc:7720
      #29 0x000055bc13091c7c in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x146eec000db8, packet=packet@entry=0x146eec01be49 "CALL foo2()", packet_length=packet_length@entry=11) at /data/GAL_BUILDS/10.6_dbg/sql/sql_class.h:1295
      #30 0x000055bc13094fa4 in do_command (thd=0x146eec000db8) at /data/GAL_BUILDS/10.6_dbg/sql/sql_parse.cc:1365
      #31 0x000055bc131f1ef2 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55bc174c5c28, put_in_cache=put_in_cache@entry=true) at /data/GAL_BUILDS/10.6_dbg/sql/sql_connect.cc:1410
      #32 0x000055bc131f25f9 in handle_one_connection (arg=arg@entry=0x55bc174c5c28) at /data/GAL_BUILDS/10.6_dbg/sql/sql_connect.cc:1312
      #33 0x000055bc136a8f35 in pfs_spawn_thread (arg=0x55bc17547fb8) at /data/GAL_BUILDS/10.6_dbg/storage/perfschema/pfs.cc:2201
      #34 0x0000146f5d788609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #35 0x0000146f5d377293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.5.9 b3df194e31eb2e76a319d8d4195163df596447a6 (Debug)

      node1:root@localhost> ALTER VIEW v1 AS SELECT * FROM t1;
      ERROR 1047 (08S01): WSREP has not yet prepared node for application use
      node1:root@localhost> CALL foo2();
      ERROR 2013 (HY000): Lost connection to MySQL server during query
      

      10.5.9 b3df194e31eb2e76a319d8d4195163df596447a6 (Debug)

      Core was generated by `/data/GAL_BUILDS/GAL_MD150221-mariadb-10.5.9-linux-x86_64-dbg/bin/mysqld --defa'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6)
          at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      [Current thread is 1 (Thread 0x1502d89c5700 (LWP 2732225))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      #1  0x000056287aeb996f in my_write_core (sig=sig@entry=6) at /data/GAL_BUILDS/10.5_dbg/mysys/stacktrace.c:424
      #2  0x000056287a608e9f in handle_fatal_signal (sig=6) at /data/GAL_BUILDS/10.5_dbg/sql/signal_handler.cc:330
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #5  0x00001502eac3d859 in __GI_abort () at abort.c:79
      #6  0x00001502eac3d729 in __assert_fail_base (fmt=0x1502eadd3588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x56287b0125b0 "current_stmt_binlog_format == BINLOG_FORMAT_STMT || current_stmt_binlog_format == BINLOG_FORMAT_ROW", file=0x56287affff80 "/data/GAL_BUILDS/10.5_dbg/sql/sql_class.h", line=2648, function=<optimized out>) at assert.c:92
      #7  0x00001502eac4ef36 in __GI___assert_fail (assertion=assertion@entry=0x56287b0125b0 "current_stmt_binlog_format == BINLOG_FORMAT_STMT || current_stmt_binlog_format == BINLOG_FORMAT_ROW", file=file@entry=0x56287affff80 "/data/GAL_BUILDS/10.5_dbg/sql/sql_class.h", line=line@entry=2648, function=function@entry=0x56287b012618 "int THD::is_current_stmt_binlog_format_row() const") at assert.c:101
      #8  0x000056287a89366a in THD::is_current_stmt_binlog_format_row (this=0x15027c000db8) at /data/GAL_BUILDS/10.5_dbg/sql/sql_class.h:2648
      #9  ha_maria::store_lock (this=0x15027c093830, thd=0x15027c000db8, to=0x15027c012c00, lock_type=TL_READ) at /data/GAL_BUILDS/10.5_dbg/storage/maria/ha_maria.cc:3077
      #10 0x000056287a78454f in get_lock_data (thd=thd@entry=0x15027c000db8, table_ptr=table_ptr@entry=0x15027c012bd8, count=count@entry=1, flags=flags@entry=3) at /data/GAL_BUILDS/10.5_dbg/sql/lock.cc:806
      #11 0x000056287a784bb0 in mysql_lock_tables (thd=thd@entry=0x15027c000db8, tables=tables@entry=0x15027c012bd8, count=count@entry=1, flags=flags@entry=133122) at /data/GAL_BUILDS/10.5_dbg/sql/lock.cc:298
      #12 0x000056287a2af2a1 in lock_tables (thd=thd@entry=0x15027c000db8, tables=0x1502d89c1960, count=<optimized out>, flags=flags@entry=133122) at /data/GAL_BUILDS/10.5_dbg/sql/sql_base.cc:5509
      #13 0x000056287a2b1674 in open_and_lock_tables (thd=thd@entry=0x15027c000db8, options=<optimized out>, tables=<optimized out>, tables@entry=0x1502d89c1960, derived=derived@entry=false, flags=133122, prelocking_strategy=prelocking_strategy@entry=0x1502d89c1828) at /data/GAL_BUILDS/10.5_dbg/sql/sql_base.cc:5220
      #14 0x000056287a2b7a05 in open_and_lock_tables (flags=<optimized out>, derived=false, tables=0x1502d89c1960, thd=0x15027c000db8) at /data/GAL_BUILDS/10.5_dbg/sql/sql_base.h:507
      #15 open_system_tables_for_read (thd=thd@entry=0x15027c000db8, table_list=table_list@entry=0x1502d89c1960) at /data/GAL_BUILDS/10.5_dbg/sql/sql_base.cc:9021
      #16 0x000056287a7e980d in open_proc_table_for_read (thd=thd@entry=0x15027c000db8) at /data/GAL_BUILDS/10.5_dbg/sql/sp.cc:492
      #17 0x000056287a7ea482 in Sp_handler::db_find_routine (this=this@entry=0x56287b8cfcf0 <sp_handler_procedure>, thd=thd@entry=0x15027c000db8, name=name@entry=0x1502d89c36a0, sphp=sphp@entry=0x1502d89c3900) at /data/GAL_BUILDS/10.5_dbg/sql/sp.cc:712
      #18 0x000056287a7ea79d in Sp_handler::db_find_and_cache_routine (this=this@entry=0x56287b8cfcf0 <sp_handler_procedure>, thd=thd@entry=0x15027c000db8, name=name@entry=0x1502d89c36a0, sp=sp@entry=0x1502d89c3900) at /data/GAL_BUILDS/10.5_dbg/sql/sp.cc:787
      #19 0x000056287a7ea911 in Sp_handler::sp_cache_routine (this=0x56287b8cfcf0 <sp_handler_procedure>, thd=0x15027c000db8, name=0x1502d89c36a0, lookup_only=<optimized out>, sp=0x1502d89c3900) at /data/GAL_BUILDS/10.5_dbg/sql/sp.cc:2829
      #20 0x000056287a7eefca in Sroutine_hash_entry::sp_cache_routine (this=this@entry=0x15027c0129f8, thd=thd@entry=0x15027c000db8, lookup_only=lookup_only@entry=false, sp=sp@entry=0x1502d89c3900) at /data/GAL_BUILDS/10.5_dbg/sql/sp.cc:2782
      #21 0x000056287a2b09d3 in open_and_process_routine (routine_modifies_data=<synthetic pointer>, need_prelocking=0x1502d89c38ff, ot_ctx=0x1502d89c3960, has_prelocking_list=false, prelocking_strategy=0x1502d89c3a78, rt=0x15027c0129f8, prelocking_ctx=0x15027c004ea0, thd=0x15027c000db8) at /data/GAL_BUILDS/10.5_dbg/sql/sql_base.cc:3462
      #22 open_tables (thd=thd@entry=0x15027c000db8, options=@0x15027c006418: {m_options = DDL_options_st::OPT_NONE}, start=start@entry=0x1502d89c39e8, counter=counter@entry=0x1502d89c39fc, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x1502d89c3a78) at /data/GAL_BUILDS/10.5_dbg/sql/sql_base.cc:4347
      #23 0x000056287a2b1604 in open_and_lock_tables (thd=thd@entry=0x15027c000db8, options=@0x15027c006418: {m_options = DDL_options_st::OPT_NONE}, tables=<optimized out>, tables@entry=0x0, derived=derived@entry=true, flags=flags@entry=0, prelocking_strategy=prelocking_strategy@entry=0x1502d89c3a78) at /data/GAL_BUILDS/10.5_dbg/sql/sql_base.cc:5211
      #24 0x000056287a33a886 in open_and_lock_tables (flags=0, derived=true, tables=0x0, thd=0x15027c000db8) at /data/GAL_BUILDS/10.5_dbg/sql/sql_base.h:507
      #25 Sql_cmd_call::execute (this=0x15027c0129e0, thd=0x15027c000db8) at /data/GAL_BUILDS/10.5_dbg/sql/sql_parse.cc:3288
      #26 0x000056287a348d03 in mysql_execute_command (thd=thd@entry=0x15027c000db8) at /data/GAL_BUILDS/10.5_dbg/sql/sql_parse.cc:6023
      #27 0x000056287a32f1d5 in mysql_parse (thd=thd@entry=0x15027c000db8, rawbuf=rawbuf@entry=0x15027c012930 "CALL foo2()", length=length@entry=11, parser_state=parser_state@entry=0x1502d89c43d0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/GAL_BUILDS/10.5_dbg/sql/sql_parse.cc:8062
      #28 0x000056287a32eb00 in wsrep_mysql_parse (thd=thd@entry=0x15027c000db8, rawbuf=0x15027c012930 "CALL foo2()", length=11, parser_state=parser_state@entry=0x1502d89c43d0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/GAL_BUILDS/10.5_dbg/sql/sql_parse.cc:7865
      #29 0x000056287a33d5da in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x15027c000db8, packet=packet@entry=0x15027c01c0b9 "CALL foo2()", packet_length=packet_length@entry=11, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /data/GAL_BUILDS/10.5_dbg/sql/sql_class.h:1257
      #30 0x000056287a340d10 in do_command (thd=0x15027c000db8) at /data/GAL_BUILDS/10.5_dbg/sql/sql_parse.cc:1370
      #31 0x000056287a49d82c in do_handle_one_connection (connect=<optimized out>, connect@entry=0x56287d8db128, put_in_cache=put_in_cache@entry=true) at /data/GAL_BUILDS/10.5_dbg/sql/sql_connect.cc:1410
      #32 0x000056287a49df33 in handle_one_connection (arg=arg@entry=0x56287d8db128) at /data/GAL_BUILDS/10.5_dbg/sql/sql_connect.cc:1312
      #33 0x000056287a955f89 in pfs_spawn_thread (arg=0x56287d93fad8) at /data/GAL_BUILDS/10.5_dbg/storage/perfschema/pfs.cc:2201
      #34 0x00001502eb14b609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #35 0x00001502ead3a293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      CS builds used. Only crashes builds with Galera lib/wsrep on (3 nodes). Non-galera runs/builds not affected.
      10.5, 10.6: Debug affected. Optimized not affected.

      10.4.18 d0defd1ea2af80a360332fd8c1e60a34e2289213 (Debug)

      10.4.18>ALTER VIEW v1 AS SELECT * FROM t1;
      ERROR 1146 (42S02): Table 'test.v1' doesn't exist
      10.4.18>CALL foo2();
      ERROR 1305 (42000): PROCEDURE test.foo2 does not exist
      

        Attachments

          Activity

            People

            Assignee:
            monty Michael Widenius
            Reporter:
            Roel Roel Van de Paar
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: