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

Assertion `mode_ == m_local' failed in void wsrep::client_state::streaming_params(wsrep::streaming_context::fragment_unit, size_t)

    XMLWordPrintable

Details

    Description

      The assertion is similar to MDEV-24062 but the crash is in difference place

      SET @@global.wsrep_load_data_splitting=ON;
      SET GLOBAL wsrep_replicate_myisam=ON;
      CREATE TABLE t1 (c1 int) ENGINE=MYISAM;
      LOAD DATA INFILE './t1.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\n';
      

      Leads to:

      10.6.1 370b310b1d67ad42df96b75c3876fdcf67a8694f (Debug)

      mysqld: /test/10.6_dbg/wsrep-lib/src/client_state.cpp:329: void wsrep::client_state::streaming_params(wsrep::streaming_context::fragment_unit, size_t): Assertion `mode_ == m_local' failed.
      

      10.6.1 370b310b1d67ad42df96b75c3876fdcf67a8694f (Debug)

      Core was generated by `/test/GAL_MD120521-mariadb-10.6.1-linux-x86_64-dbg/bin/mysqld --defaults-file=/'.
      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 0x1462bcda7700 (LWP 824065))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      #1  0x000055dd41d051f1 in my_write_core (sig=sig@entry=6) at /test/10.6_dbg/mysys/stacktrace.c:424
      #2  0x000055dd4149dd3e in handle_fatal_signal (sig=6) at /test/10.6_dbg/sql/signal_handler.cc:343
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #5  0x00001462ce028859 in __GI_abort () at abort.c:79
      #6  0x00001462ce028729 in __assert_fail_base (fmt=0x1462ce1be588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55dd42402d2e "mode_ == m_local", file=0x55dd42401ad8 "/test/10.6_dbg/wsrep-lib/src/client_state.cpp", line=329, function=<optimized out>) at assert.c:92
      #7  0x00001462ce039f36 in __GI___assert_fail (assertion=assertion@entry=0x55dd42402d2e "mode_ == m_local", file=file@entry=0x55dd42401ad8 "/test/10.6_dbg/wsrep-lib/src/client_state.cpp", line=line@entry=329, function=function@entry=0x55dd42401cc8 "void wsrep::client_state::streaming_params(wsrep::streaming_context::fragment_unit, size_t)") at assert.c:101
      #8  0x000055dd41e1be55 in wsrep::client_state::streaming_params (this=this@entry=0x146258007540, fragment_unit=fragment_unit@entry=wsrep::streaming_context::bytes, fragment_size=fragment_size@entry=0) at /test/10.6_dbg/wsrep-lib/include/wsrep/transaction.hpp:223
      #9  0x000055dd411bdd42 in Wsrep_load_data_split::~Wsrep_load_data_split (this=<synthetic pointer>, __in_chrg=<optimized out>) at /test/10.6_dbg/sql/sql_class.h:5329
      #10 mysql_load (thd=thd@entry=0x146258000db8, ex=0x1462580140f0, table_list=table_list@entry=0x146258014178, fields_vars=@0x146258006008: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x146258014a28, last = 0x146258014a28, elements = 1}, <No data fields>}, set_fields=@0x146258006038: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x55dd427be480 <end_of_list>, last = 0x146258006038, elements = 0}, <No data fields>}, set_values=@0x146258006020: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x55dd427be480 <end_of_list>, last = 0x146258006020, elements = 0}, <No data fields>}, handle_duplicates=DUP_ERROR, ignore=<optimized out>, read_file_from_client=false) at /test/10.6_dbg/sql/sql_load.cc:356
      #11 0x000055dd411d78b2 in mysql_execute_command (thd=thd@entry=0x146258000db8) at /test/10.6_dbg/sql/sql_parse.cc:5017
      #12 0x000055dd411c0a81 in mysql_parse (thd=thd@entry=0x146258000db8, rawbuf=rawbuf@entry=0x146258013fe0 "LOAD DATA INFILE './t1.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\\n'", length=length@entry=73, parser_state=parser_state@entry=0x1462bcda6410) at /test/10.6_dbg/sql/sql_parse.cc:8018
      #13 0x000055dd411c041a in wsrep_mysql_parse (thd=thd@entry=0x146258000db8, rawbuf=0x146258013fe0 "LOAD DATA INFILE './t1.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\\n'", length=73, parser_state=parser_state@entry=0x1462bcda6410) at /test/10.6_dbg/sql/sql_parse.cc:7832
      #14 0x000055dd411cf994 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x146258000db8, packet=packet@entry=0x14625800b799 "LOAD DATA INFILE './t1.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\\n'", packet_length=packet_length@entry=73, blocking=blocking@entry=true) at /test/10.6_dbg/sql/sql_class.h:1333
      #15 0x000055dd411d2d79 in do_command (thd=0x146258000db8, blocking=blocking@entry=true) at /test/10.6_dbg/sql/sql_parse.cc:1406
      #16 0x000055dd4132ede7 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55dd436f37e8, put_in_cache=put_in_cache@entry=true) at /test/10.6_dbg/sql/sql_connect.cc:1410
      #17 0x000055dd4132f3ef in handle_one_connection (arg=arg@entry=0x55dd436f37e8) at /test/10.6_dbg/sql/sql_connect.cc:1312
      #18 0x000055dd417e4bc1 in pfs_spawn_thread (arg=0x55dd4376f348) at /test/10.6_dbg/storage/perfschema/pfs.cc:2201
      #19 0x00001462ce536609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #20 0x00001462ce125293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.5.11 4d53a7585c532c2cfcea184259e3153f95b35683 (Debug)

      mysqld: /test/10.5_dbg/wsrep-lib/src/client_state.cpp:329: void wsrep::client_state::streaming_params(wsrep::streaming_context::fragment_unit, size_t): Assertion `mode_ == m_local' failed.
      

      10.5.11 4d53a7585c532c2cfcea184259e3153f95b35683 (Debug)

      Core was generated by `/test/GAL_MD120521-mariadb-10.5.11-linux-x86_64-dbg/bin/mysqld --defaults-file='.
      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 0x14a264066700 (LWP 857593))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      #1  0x000055bca800233c in my_write_core (sig=sig@entry=6) at /test/10.5_dbg/mysys/stacktrace.c:424
      #2  0x000055bca7748830 in handle_fatal_signal (sig=6) at /test/10.5_dbg/sql/signal_handler.cc:343
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #5  0x000014a267d83859 in __GI_abort () at abort.c:79
      #6  0x000014a267d83729 in __assert_fail_base (fmt=0x14a267f19588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55bca86fcbe9 "mode_ == m_local", file=0x55bca86fb998 "/test/10.5_dbg/wsrep-lib/src/client_state.cpp", line=329, function=<optimized out>) at assert.c:92
      #7  0x000014a267d94f36 in __GI___assert_fail (assertion=assertion@entry=0x55bca86fcbe9 "mode_ == m_local", file=file@entry=0x55bca86fb998 "/test/10.5_dbg/wsrep-lib/src/client_state.cpp", line=line@entry=329, function=function@entry=0x55bca86fbb88 "void wsrep::client_state::streaming_params(wsrep::streaming_context::fragment_unit, size_t)") at assert.c:101
      #8  0x000055bca811a617 in wsrep::client_state::streaming_params (this=this@entry=0x14a1d8007240, fragment_unit=fragment_unit@entry=wsrep::streaming_context::bytes, fragment_size=fragment_size@entry=0) at /test/10.5_dbg/wsrep-lib/include/wsrep/transaction.hpp:223
      #9  0x000055bca7468d10 in Wsrep_load_data_split::~Wsrep_load_data_split (this=<synthetic pointer>, __in_chrg=<optimized out>) at /test/10.5_dbg/sql/sql_class.h:5102
      #10 mysql_load (thd=thd@entry=0x14a1d8000db8, ex=0x14a1d8013e00, table_list=table_list@entry=0x14a1d8013e88, fields_vars=@0x14a1d8005e38: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14a1d8014730, last = 0x14a1d8014730, elements = 1}, <No data fields>}, set_fields=@0x14a1d8005e68: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x55bca8ab6f00 <end_of_list>, last = 0x14a1d8005e68, elements = 0}, <No data fields>}, set_values=@0x14a1d8005e50: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x55bca8ab6f00 <end_of_list>, last = 0x14a1d8005e50, elements = 0}, <No data fields>}, handle_duplicates=DUP_ERROR, ignore=<optimized out>, read_file_from_client=false) at /test/10.5_dbg/sql/sql_load.cc:356
      #11 0x000055bca7483377 in mysql_execute_command (thd=thd@entry=0x14a1d8000db8) at /test/10.5_dbg/sql/sql_parse.cc:5086
      #12 0x000055bca746bc3e in mysql_parse (thd=thd@entry=0x14a1d8000db8, rawbuf=rawbuf@entry=0x14a1d8013cf0 "LOAD DATA INFILE './t1.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\\n'", length=length@entry=73, parser_state=parser_state@entry=0x14a2640653d0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:8099
      #13 0x000055bca746b569 in wsrep_mysql_parse (thd=thd@entry=0x14a1d8000db8, rawbuf=0x14a1d8013cf0 "LOAD DATA INFILE './t1.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\\n'", length=73, parser_state=parser_state@entry=0x14a2640653d0, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_parse.cc:7902
      #14 0x000055bca747af48 in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14a1d8000db8, packet=packet@entry=0x14a1d800b4a9 "LOAD DATA INFILE './t1.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\\n'", packet_length=packet_length@entry=73, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.5_dbg/sql/sql_class.h:1271
      #15 0x000055bca747e7b6 in do_command (thd=0x14a1d8000db8) at /test/10.5_dbg/sql/sql_parse.cc:1370
      #16 0x000055bca75dc0e2 in do_handle_one_connection (connect=<optimized out>, connect@entry=0x55bcab3dc9b8, put_in_cache=put_in_cache@entry=true) at /test/10.5_dbg/sql/sql_connect.cc:1410
      #17 0x000055bca75dc7e9 in handle_one_connection (arg=arg@entry=0x55bcab3dc9b8) at /test/10.5_dbg/sql/sql_connect.cc:1312
      #18 0x000055bca7a988b5 in pfs_spawn_thread (arg=0x55bcab430e98) at /test/10.5_dbg/storage/perfschema/pfs.cc:2201
      #19 0x000014a268291609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #20 0x000014a267e80293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      10.4.20 b2bb747f8cf56cf01dc571ffd8be195b95f0c0e8 (Debug)

      mysqld: /test/10.4_dbg/wsrep-lib/src/client_state.cpp:329: void wsrep::client_state::streaming_params(wsrep::streaming_context::fragment_unit, size_t): Assertion `mode_ == m_local' failed.
      

      10.4.20 b2bb747f8cf56cf01dc571ffd8be195b95f0c0e8 (Debug)

      Core was generated by `/test/GAL_MD120521-mariadb-10.4.20-linux-x86_64-dbg/bin/mysqld --defaults-file='.
      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 0x14d63c080700 (LWP 862566))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      #1  0x0000560b982064bd in my_write_core (sig=sig@entry=6) at /test/10.4_dbg/mysys/stacktrace.c:386
      #2  0x0000560b9790e360 in handle_fatal_signal (sig=6) at /test/10.4_dbg/sql/signal_handler.cc:356
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #5  0x000014d673c06859 in __GI_abort () at abort.c:79
      #6  0x000014d673c06729 in __assert_fail_base (fmt=0x14d673d9c588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x560b9882faa9 "mode_ == m_local", file=0x560b9882e858 "/test/10.4_dbg/wsrep-lib/src/client_state.cpp", line=329, function=<optimized out>) at assert.c:92
      #7  0x000014d673c17f36 in __GI___assert_fail (assertion=assertion@entry=0x560b9882faa9 "mode_ == m_local", file=file@entry=0x560b9882e858 "/test/10.4_dbg/wsrep-lib/src/client_state.cpp", line=line@entry=329, function=function@entry=0x560b9882ea48 "void wsrep::client_state::streaming_params(wsrep::streaming_context::fragment_unit, size_t)") at assert.c:101
      #8  0x0000560b9828baf3 in wsrep::client_state::streaming_params (this=this@entry=0x14d5d8006f68, fragment_unit=fragment_unit@entry=wsrep::streaming_context::bytes, fragment_size=fragment_size@entry=0) at /test/10.4_dbg/wsrep-lib/include/wsrep/transaction.hpp:223
      #9  0x0000560b976287bc in Wsrep_load_data_split::~Wsrep_load_data_split (this=<synthetic pointer>, __in_chrg=<optimized out>) at /test/10.4_dbg/sql/sql_class.h:4939
      #10 mysql_load (thd=thd@entry=0x14d5d8000d90, ex=0x14d5d8013348, table_list=table_list@entry=0x14d5d80133d0, fields_vars=@0x14d5d8005ba0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x14d5d8013c38, last = 0x14d5d8013c38, elements = 1}, <No data fields>}, set_fields=@0x14d5d8005bd0: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x560b98bb98e0 <end_of_list>, last = 0x14d5d8005bd0, elements = 0}, <No data fields>}, set_values=@0x14d5d8005bb8: {<base_list> = {<Sql_alloc> = {<No data fields>}, first = 0x560b98bb98e0 <end_of_list>, last = 0x14d5d8005bb8, elements = 0}, <No data fields>}, handle_duplicates=DUP_ERROR, ignore=<optimized out>, read_file_from_client=false) at /test/10.4_dbg/sql/sql_load.cc:356
      #11 0x0000560b9763a144 in mysql_execute_command (thd=thd@entry=0x14d5d8000d90) at /test/10.4_dbg/sql/sql_parse.cc:5013
      #12 0x0000560b97640b9c in mysql_parse (thd=thd@entry=0x14d5d8000d90, rawbuf=rawbuf@entry=0x14d5d8013238 "LOAD DATA INFILE './t1.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\\n'", length=length@entry=73, parser_state=parser_state@entry=0x14d63c07f490, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_dbg/sql/sql_parse.cc:7995
      #13 0x0000560b97641c51 in wsrep_mysql_parse (thd=thd@entry=0x14d5d8000d90, rawbuf=0x14d5d8013238 "LOAD DATA INFILE './t1.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\\n'", length=73, parser_state=parser_state@entry=0x14d63c07f490, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_dbg/sql/sql_parse.cc:7799
      #14 0x0000560b976435ba in dispatch_command (command=command@entry=COM_QUERY, thd=thd@entry=0x14d5d8000d90, packet=packet@entry=0x14d5d801b671 "LOAD DATA INFILE './t1.dat' IGNORE INTO TABLE t1 LINES TERMINATED BY '\\n'", packet_length=packet_length@entry=73, is_com_multi=is_com_multi@entry=false, is_next_command=is_next_command@entry=false) at /test/10.4_dbg/sql/sql_class.h:1184
      #15 0x0000560b97646e46 in do_command (thd=0x14d5d8000d90) at /test/10.4_dbg/sql/sql_parse.cc:1373
      #16 0x0000560b977820bd in do_handle_one_connection (connect=connect@entry=0x560b9aea71b0) at /test/10.4_dbg/sql/sql_connect.cc:1412
      #17 0x0000560b977821dc in handle_one_connection (arg=0x560b9aea71b0) at /test/10.4_dbg/sql/sql_connect.cc:1316
      #18 0x000014d674114609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #19 0x000014d673d03293 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Bug confirmed present in:
      MariaDB: 10.4.20 (dbg), 10.5.11 (dbg), 10.6.1 (dbg)

      Bug (or feature/syntax) confirmed not present in:
      MariaDB: 10.2.39 (dbg), 10.2.39 (dbg)

      Attachments

        Activity

          People

            sysprg Julius Goryavsky
            ramesh Ramesh Sivaraman
            Votes:
            1 Vote for this issue
            Watchers:
            5 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.