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

Assertion `thd->wsrep_trx().is_xa()' failed in virtual int Wsrep_applier_service::apply_write_set(const wsrep::ws_meta&, const wsrep::const_buffer&, wsrep::mutable_buffer&)

    XMLWordPrintable

Details

    • Bug
    • Status: Open (View Workflow)
    • Minor
    • Resolution: Unresolved
    • 10.6
    • 10.6
    • Galera, XA

    Description

      PS: The crash is reproduced only with single node cluster

      SET SESSION pseudo_slave_mode=1;
      XA START 'a';
      SET @wsrep_cluster_address_saved=@@GLOBAL.wsrep_cluster_address;
      XA END 'a';
      XA PREPARE 'a';
      SET GLOBAL wsrep_on=OFF;
      SET GLOBAL wsrep_cluster_address=@wsrep_cluster_address_saved;
      

      Leads to

      MariaDB 8a710d3db8a1b79dc730038ecead79d70b636f5c (Debug)

      mysqld: /test/10.6_dbg/sql/wsrep_high_priority_service.cc:629: virtual int Wsrep_applier_service::apply_write_set(const wsrep::ws_meta&, const wsrep::const_buffer&, wsrep::mutable_buffer&): Assertion `thd->wsrep_trx().is_xa()' failed.
      

      MariaDB 8a710d3db8a1b79dc730038ecead79d70b636f5c (Debug)

      Core was generated by `/test/GAL_EMD120224-mariadb-10.6.17-12-linux-x86_64-dbg/bin/mysqld --defaults-f'.
      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 0x150fb8785700 (LWP 1944868))]
      (gdb) bt
      #0  __pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ../sysdeps/unix/sysv/linux/pthread_kill.c:56
      #1  0x000055c98e8d1da1 in my_write_core (sig=sig@entry=6) at /test/10.6_dbg/mysys/stacktrace.c:424
      #2  0x000055c98e16cfe4 in handle_fatal_signal (sig=6) at /test/10.6_dbg/sql/signal_handler.cc:357
      #3  <signal handler called>
      #4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #5  0x0000150fbb770859 in __GI_abort () at abort.c:79
      #6  0x0000150fbb770729 in __assert_fail_base (fmt=0x150fbb906588 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x55c98ec84587 "thd->wsrep_trx().is_xa()", file=0x55c98ec84de8 "/test/10.6_dbg/sql/wsrep_high_priority_service.cc", line=629, function=<optimized out>) at assert.c:92
      #7  0x0000150fbb781fd6 in __GI___assert_fail (assertion=assertion@entry=0x55c98ec84587 "thd->wsrep_trx().is_xa()", file=file@entry=0x55c98ec84de8 "/test/10.6_dbg/sql/wsrep_high_priority_service.cc", line=line@entry=629, function=function@entry=0x55c98ec85140 "virtual int Wsrep_applier_service::apply_write_set(const wsrep::ws_meta&, const wsrep::const_buffer&, wsrep::mutable_buffer&)") at assert.c:101
      #8  0x000055c98e44b2c5 in Wsrep_applier_service::apply_write_set (this=<optimized out>, ws_meta=@0x150fb877c970: {gtid_ = {static undefined_ = {static undefined_ = <same as static member of an already seen type>, id_ = {static undefined_ = {static undefined_ = <same as static member of an already seen type>, data_ = {buf = '\000' <repeats 15 times>}}, data_ = {buf = '\000' <repeats 15 times>}}, seqno_ = {seqno_ = -1}}, id_ = {static undefined_ = {static undefined_ = <same as static member of an already seen type>, data_ = {buf = '\000' <repeats 15 times>}}, data_ = {buf = "$\214\321\031\312\036\021\356\230{\242l\001\356\002)"}}, seqno_ = {seqno_ = 3}}, stid_ = {server_id_ = {static undefined_ = {static undefined_ = <same as static member of an already seen type>, data_ = {buf = '\000' <repeats 15 times>}}, data_ = {buf = "$\214:\237\312\036\021\356\247U\367\370\352ڭ\b"}}, transaction_id_ = {id_ = 17}, client_id_ = {id_ = 18446744073709551615}}, depends_on_ = {seqno_ = -1}, flags_ = 145}, data=@0x150fb877c870: {ptr_ = 0x150f90039728, size_ = 339}, err=@0x150fb877c880: {buffer_ = std::vector of length 0, capacity 0}) at /test/10.6_dbg/wsrep-lib/include/wsrep/xid.hpp:66
      #9  0x000055c98e473159 in Wsrep_schema::recover_sr_transactions (this=<optimized out>, orig_thd=orig_thd@entry=0x150f900008e8) at /test/10.6_dbg/sql/wsrep_schema.cc:1510
      #10 0x000055c98e452acc in wsrep_recover_sr_from_storage (orig_thd=0x150f900008e8) at /test/10.6_dbg/sql/wsrep_mysqld.cc:497
      #11 0x000055c98e47528f in Wsrep_server_service::recover_streaming_appliers (this=<optimized out>, hs=<optimized out>) at /test/10.6_dbg/sql/wsrep_server_service.cc:339
      #12 0x000055c98ea46080 in wsrep::server_state::recover_streaming_appliers_if_not_recovered<wsrep::high_priority_service> (this=this@entry=0x55c990809880, lock=@0x150fb8783790: {_M_device = 0x55c990809b68, _M_owns = false}, c=@0x150fb8784bc0: {_vptr.high_priority_service = 0x55c98f2a4c28 <vtable for Wsrep_applier_service+16>, server_state_ = @0x55c990809880, must_exit_ = false}) at /usr/include/c++/9/bits/unique_lock.h:191
      #13 0x000055c98ea400d1 in wsrep::server_state::on_primary_view (this=this@entry=0x55c990809880, view=@0x150fb87839b0: {state_id_ = {static undefined_ = {static undefined_ = <same as static member of an already seen type>, id_ = {static undefined_ = {static undefined_ = <same as static member of an already seen type>, data_ = {buf = '\000' <repeats 15 times>}}, data_ = {buf = '\000' <repeats 15 times>}}, seqno_ = {seqno_ = -1}}, id_ = {static undefined_ = {static undefined_ = <same as static member of an already seen type>, data_ = {buf = '\000' <repeats 15 times>}}, data_ = {buf = "$\214\321\031\312\036\021\356\230{\242l\001\356\002)"}}, seqno_ = {seqno_ = 4}}, view_seqno_ = {seqno_ = 1}, status_ = wsrep::view::primary, capabilities_ = 184703, own_index_ = 0, protocol_version_ = 4, members_ = std::vector of length 1, capacity 1 = {{id_ = {static undefined_ = {static undefined_ = <same as static member of an already seen type>, data_ = {buf = '\000' <repeats 15 times>}}, data_ = {buf = "a\336`\253\312\036\021\356\250\037\322\022\067.\277\242"}}, name_ = "galapq", incoming_ = "127.0.0.1:11600"}}}, high_priority_service=high_priority_service@entry=0x150fb8784bc0) at /test/10.6_dbg/wsrep-lib/src/server_state.cpp:979
      #14 0x000055c98ea427ea in wsrep::server_state::on_view (this=this@entry=0x55c990809880, view=@0x150fb87839b0: {state_id_ = {static undefined_ = {static undefined_ = <same as static member of an already seen type>, id_ = {static undefined_ = {static undefined_ = <same as static member of an already seen type>, data_ = {buf = '\000' <repeats 15 times>}}, data_ = {buf = '\000' <repeats 15 times>}}, seqno_ = {seqno_ = -1}}, id_ = {static undefined_ = {static undefined_ = <same as static member of an already seen type>, data_ = {buf = '\000' <repeats 15 times>}}, data_ = {buf = "$\214\321\031\312\036\021\356\230{\242l\001\356\002)"}}, seqno_ = {seqno_ = 4}}, view_seqno_ = {seqno_ = 1}, status_ = wsrep::view::primary, capabilities_ = 184703, own_index_ = 0, protocol_version_ = 4, members_ = std::vector of length 1, capacity 1 = {{id_ = {static undefined_ = {static undefined_ = <same as static member of an already seen type>, data_ = {buf = '\000' <repeats 15 times>}}, data_ = {buf = "a\336`\253\312\036\021\356\250\037\322\022\067.\277\242"}}, name_ = "galapq", incoming_ = "127.0.0.1:11600"}}}, high_priority_service=high_priority_service@entry=0x150fb8784bc0) at /test/10.6_dbg/wsrep-lib/src/server_state.cpp:1038
      #15 0x000055c98ea55102 in (anonymous namespace)::view_cb (app_ctx=0x55c990809880, recv_ctx=0x150fb8784bc0, view_info=<optimized out>) at /test/10.6_dbg/wsrep-lib/src/wsrep_provider_v26.cpp:404
      #16 0x0000150fb9a9bc2d in galera::ReplicatorSMM::submit_view_info (this=<optimized out>, recv_ctx=<optimized out>, view_info=<optimized out>) at /test/galera_4x_dbg/galera/src/replicator_smm.cpp:2437
      #17 0x0000150fb9a9bc6d in galera::ReplicatorSMM::submit_ordered_view_info (this=0x55c99082ce00, recv_ctx=<optimized out>, view_info=<optimized out>) at /test/galera_4x_dbg/galera/src/replicator_smm.cpp:2827
      #18 0x0000150fb9aab839 in galera::ReplicatorSMM::process_prim_conf_change (this=0x55c99082ce00, recv_ctx=0x150fb8784bc0, conf=<optimized out>, my_index=<optimized out>, cc_buf=<optimized out>) at /test/galera_4x_dbg/galera/src/replicator_smm.cpp:3018
      #19 0x0000150fb9aabaad in galera::ReplicatorSMM::process_conf_change (this=0x55c99082ce00, recv_ctx=0x150fb8784bc0, conf=@0x150fb87843f0: {memb = std::vector of length 1, capacity 1 = {{uuid_ = {data = "a\336`\253\312\036\021\356\250\037\322\022\067.\277\242", alignment = 17154526311438409313}, name_ = "galapq", incoming_ = "127.0.0.1:11600", cached_ = 1, state_ = GCS_NODE_STATE_JOINED}}, uuid = {data = "$\214\321\031\312\036\021\356\230{\242l\001\356\002)", alignment = 17154526308996320292}, seqno = 4, conf_id = 1, vote_seqno = -1, vote_res = 0, repl_proto_ver = 10, appl_proto_ver = 4}, cc=@0x150fb87845e0: {seqno_g = 0, seqno_l = 6, buf = 0x150fa57589d0, size = 136, type = GCS_ACT_CCHANGE}) at /test/galera_4x_dbg/galera/src/replicator_smm.cpp:2466
      #20 0x0000150fb9add7ab in galera::GcsActionSource::dispatch (this=0x55c990825a10, recv_ctx=0x150fb8784bc0, act=@0x150fb87845e0: {seqno_g = 0, seqno_l = 6, buf = 0x150fa57589d0, size = 136, type = GCS_ACT_CCHANGE}, exit_loop=<optimized out>) at /test/galera_4x_dbg/galera/src/gcs_action_source.cpp:127
      #21 0x0000150fb9addc92 in galera::GcsActionSource::process (this=0x55c990825a10, recv_ctx=0x150fb8784bc0, exit_loop=@0x150fb87847ef: false) at /test/galera_4x_dbg/galera/src/gcs_action_source.cpp:186
      #22 0x0000150fb9aa9f20 in galera::ReplicatorSMM::async_recv (this=0x55c99082ce00, recv_ctx=0x150fb8784bc0) at /test/galera_4x_dbg/galera/src/replicator_smm.cpp:402
      #23 0x0000150fb9a7d551 in galera_recv (gh=<optimized out>, recv_ctx=<optimized out>) at /test/galera_4x_dbg/galera/src/wsrep_provider.cpp:264
      #24 0x000055c98ea54008 in wsrep::wsrep_provider_v26::run_applier (this=<optimized out>, applier_ctx=<optimized out>) at /test/10.6_dbg/wsrep-lib/src/wsrep_provider_v26.cpp:858
      #25 0x000055c98e46ca4e in wsrep_replication_process (thd=0x150f900008e8, arg=<optimized out>) at /test/10.6_dbg/sql/wsrep_server_state.h:54
      #26 0x000055c98e4584ad in start_wsrep_THD (arg=0x55c99086f3f0) at /test/10.6_dbg/sql/wsrep_mysqld.h:708
      #27 0x0000150fbbc81609 in start_thread (arg=<optimized out>) at pthread_create.c:477
      #28 0x0000150fbb86d133 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
      

      Attachments

        Activity

          People

            janlindstrom Jan Lindström
            ramesh Ramesh Sivaraman
            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.