[MDEV-15389] FTBFS with "-Wp,-D_GLIBCXX_ASSERTIONS" Created: 2018-02-22  Updated: 2023-06-07  Resolved: 2023-06-06

Status: Closed
Project: MariaDB Server
Component/s: Galera
Affects Version/s: 10.2.13
Fix Version/s: N/A

Type: Bug Priority: Major
Reporter: Michal Schorm Assignee: Teemu Ollakka
Resolution: Won't Fix Votes: 0
Labels: None
Environment:

Fedora



 Description   

Hello,

When using "-Wp,-D_GLIBCXX_ASSERTIONS" compiler flags, I've got following erros:

62%: Checks: 8, Failures: 0, Errors: 3
galera/tests/write_set_check.cpp:416:E:test_cert_hierarchical_v1:test_cert_hierarchical_v1:0: (after this point) Received signal 6 (Aborted)
galera/tests/write_set_check.cpp:538:E:test_cert_hierarchical_v2:test_cert_hierarchical_v2:0: (after this point) Received signal 6 (Aborted)
galera/tests/write_set_check.cpp:589:E:test_trac_726:test_trac_726:0: (after this point) Received signal 6 (Aborted)
R

This compiler flag is set as default in Fedora>=28.



 Comments   
Comment by Elena Stepanova [ 2018-03-04 ]

Which MariaDB versions do you build for Fedora 28+?

Comment by Daniel Black [ 2018-03-05 ]

The galera build seems based on Coderships galera-25.3.22
https://src.fedoraproject.org/rpms/galera/blob/master/f/galera.spec
Build failure (without logs).
https://koji.fedoraproject.org/koji/taskinfo?taskID=24788156

Also reproducible on branches 3.x, mariadb-3.x and mariadb-4.x using export CXXFLAGS="-Wp,-D_GLIBCXX_ASSERTIONS" and FC27 x86_64.

mariadb-4.x has different error:

/usr/include/c++/7/bits/stl_vector.h:797: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>; std::vector<_Tp, _Alloc>::reference = unsigned char&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed.
98%: Checks: 82, Failures: 0, Errors: 1
gcomm/test/check_pc.cpp:1455:E:test_pc_transport:test_pc_transport:0: (after this point) Received signal 6 (Aborted)

MariaDB on fc28? - MariaDB-10.2.13
https://koji.fedoraproject.org/koji/packageinfo?packageID=15262

Comment by Florian Weimer [ 2018-04-03 ]

In case this isn't clear, these are assertion failures caused by checking the subscript argument to std::vector::operator[] against the vector length, so they reflect real bugs.

Comment by Florian Weimer [ 2019-04-12 ]

What's the status of this bug? Thanks.

Comment by Daniel Black [ 2019-04-16 ]

"We will also be monitoring [...] MariaDB’s Jira for any pesky bugs or feature enhancement feedback!", not so much.

This form of fix seems to work

diff --git a/gcomm/src/datagram.cpp b/gcomm/src/datagram.cpp
index 36d890b0..af930913 100644
--- a/gcomm/src/datagram.cpp
+++ b/gcomm/src/datagram.cpp
@@ -113,7 +113,10 @@ gcomm::crc32(gcomm::NetHeader::checksum_t const type,
             offset -= dg.header_len();
         }
 
-        crc.append (&(*dg.payload_)[0] + offset, dg.payload_->size() - offset);
+       if (dg.payload_->size() - offset > 0)
+       {
+               crc.append (&(*dg.payload_)[0] + offset, dg.payload_->size() - offset);
+       }
 
         return crc();
     }

Appears to be a common paradime however.

CXXFLAGS="-Wp,-D_GLIBCXX_ASSERTIONS" scons-v3.0.1-2.7 debug=0 -j10
 
(gdb) bt full
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
        set = {__val = {0, 0, 0, 0, 0, 0, 0, 0, 140721777450112, 5316643, 36991968, 140721777450176, 140721777450224, 5348233, 140721777450160, 37376400}}
        pid = <optimized out>
        tid = <optimized out>
        ret = <optimized out>
#1  0x00007fc53d072895 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x3b6, sa_sigaction = 0x3b6}, sa_mask = {__val = {5859136, 5857744, 11805916207174113035, 140721777450672, 49638139, 201779653756906, 
              406363709, 0, 140485114235904, 140721777450544, 49638139, 5294902, 0, 36991760, 5621690, 37001136}}, sa_flags = 1468964496, sa_restorer = 0x0}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x000000000040f112 in std::__replacement_assert (__file=0x596200 "/usr/include/c++/8/bits/stl_vector.h", __line=950, 
    __function=0x596740 <std::vector<unsigned char, std::allocator<unsigned char> >::operator[](unsigned long) const::__PRETTY_FUNCTION__> "std::vector<_Tp, _Alloc>::const_reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) const [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>; std::vector"..., 
    __condition=0x5961d0 "__builtin_expect(__n < this->size(), true)") at /usr/include/c++/8/x86_64-redhat-linux/bits/c++config.h:2391
No locals.
#3  0x0000000000426837 in std::vector<unsigned char, std::allocator<unsigned char> >::operator[] (this=0x23a4bb0, __n=0) at /usr/include/c++/8/bits/stl_vector.h:950
        __PRETTY_FUNCTION__ = "std::vector<_Tp, _Alloc>::const_reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) const [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>; std::vector"...
#4  0x000000000055ca4f in gcomm::AsioPostForSendHandler::operator() (this=0x7ffc578ea070) at gcomm/src/asio_tcp.cpp:365
        dg = @0x23a4ee0: {static header_size_ = 128, 
          header_ = '\000' <repeats 48 times>, "H\000\000\002\r\243Dq\000\b\000\000/[;\365_\354\021鲬\217Z\350t&\003\005\000\001\000\030\000\000\000\000\000\000\000/[;\365_\354\021鲬\217Z\350t&\003\001\000\000\000\377\000\000\000\023\000\000\000\000\000\000\000\023\000\000\000\000\000\000", header_offset_ = 48, payload_ = {px = 0x23a4bb0, pn = {pi_ = 0x23a52f0}}, offset_ = 0}
        cbs = {_M_elems = {{data_ = 0x23a4f10, size_ = 80}, {data_ = 0x0, size_ = 0}}}
        crit = {monitor_ = @0x2347310}
#5  0x000000000056a916 in asio::asio_handler_invoke<gcomm::AsioPostForSendHandler> (function=...) at asio/asio/handler_invoke_hook.hpp:68
No locals.
#6  0x0000000000568189 in asio_handler_invoke_helpers::invoke<gcomm::AsioPostForSendHandler, gcomm::AsioPostForSendHandler> (function=..., context=...)
    at asio/asio/detail/handler_invoke_helpers.hpp:37
No locals.
#7  0x0000000000566806 in asio::detail::completion_handler<gcomm::AsioPostForSendHandler>::do_complete (owner=0x23474a0, base=0x239bc10) at asio/asio/detail/completion_handler.hpp:67
        b = {<asio::detail::noncopyable> = {<No data fields>}, <No data fields>}
        h = 0x239bc10
        p = {h = 0x7ffc578ea070, v = 0x0, p = 0x0}
        handler = {socket_ = {px = 0x2349670, pn = {pi_ = 0x2357ed0}}}
#8  0x000000000050e6ae in asio::detail::task_io_service_operation::complete (this=0x239bc10, owner=..., ec=..., bytes_transferred=0) at asio/asio/detail/task_io_service_operation.hpp:37
No locals.
#9  0x00000000005104ce in asio::detail::task_io_service::do_run_one (this=0x23474a0, lock=..., this_thread=..., ec=...) at asio/asio/detail/impl/task_io_service.ipp:371
        task_result = 0
        on_exit = {task_io_service_ = 0x23474a0, lock_ = 0x7ffc578ea190, this_thread_ = 0x7ffc578ea1c0}
        o = 0x239bc10
        more_handlers = true
#10 0x000000000050ffc2 in asio::detail::task_io_service::run (this=0x23474a0, ec=...) at asio/asio/detail/impl/task_io_service.ipp:148
        this_thread = {<asio::detail::thread_info_base> = {<asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = 0x239bc10}, 
          private_op_queue = {<asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
        ctx = {<asio::detail::noncopyable> = {<No data fields>}, key_ = 0x23474a0, value_ = 0x7ffc578ea1c0, next_ = 0x0}
--Type <RET> for more, q to quit, c to continue without paging--
        lock = {<asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x23474d0, locked_ = false}
        n = 22
#11 0x000000000051076b in asio::io_service::run (this=0x23473c8) at asio/asio/impl/io_service.ipp:58
        ec = {_M_value = 0, _M_cat = 0x7fc53d548c00 <(anonymous namespace)::system_category_instance>}
        s = 36991960
#12 0x000000000050ca72 in gcomm::AsioProtonet::event_loop (this=0x2347310, period=...) at gcomm/src/asio_protonet.cpp:116
        p = {static period_regex = 0x5b7278 "^(P)(([0-9]+)Y)?(([0-9]+)M)?(([0-9]+)D)?((T)?(([0-9]+)H)?(([0-9]+)M)?(([0-9]+)(\\.([0-9]+))?S)?)?", static regex = {regex = {buffer = 0x232b5b0, 
              allocated = 224, used = 224, syntax = 242428, fastmap = 0x23240c0 "", translate = 0x0, re_nsub = 17, can_be_null = 0, regs_allocated = 0, fastmap_accurate = 1, no_sub = 0, 
              not_bol = 0, not_eol = 0, newline_anchor = 0}}, nsecs = 43275222}
#13 0x000000000054b868 in gcomm::PC::connect (this=0x2373640, start_prim=false) at gcomm/src/pc.cpp:123
        wait_prim = true
        wait_prim_timeout = {static period_regex = 0x5b7278 "^(P)(([0-9]+)Y)?(([0-9]+)M)?(([0-9]+)D)?((T)?(([0-9]+)H)?(([0-9]+)M)?(([0-9]+)(\\.([0-9]+))?S)?)?", static regex = {regex = {
              buffer = 0x232b5b0, allocated = 224, used = 224, syntax = 242428, fastmap = 0x23240c0 "", translate = 0x0, re_nsub = 17, can_be_null = 0, regs_allocated = 0, 
              fastmap_accurate = 1, no_sub = 0, not_bol = 0, not_eol = 0, newline_anchor = 0}}, nsecs = 30000000000}
        __FUNCTION__ = "connect"
        try_until = {utc = 201782560103912}
#14 0x0000000000508c72 in gcomm::Transport::connect (this=0x2373640) at gcomm/src/gcomm/transport.hpp:52
No locals.
#15 0x0000000000497ded in PCUser2::start (this=0x7ffc578ead10) at gcomm/test/check_pc.cpp:1422
No locals.
#16 0x0000000000467ddf in test_pc_transport (_i=0) at gcomm/test/check_pc.cpp:1530
        conf = {static PARAM_SEP = 59 ';', static KEY_VALUE_SEP = 61 '=', static ESCAPE = 92 '\\', params_ = std::map with 58 elements = {["base_host"] = {value_ = "", set_ = false}, 
            ["base_port"] = {value_ = "0", set_ = true}, ["evs.auto_evict"] = {value_ = "0", set_ = true}, ["evs.causal_keepalive_period"] = {value_ = "PT1S", set_ = true}, 
            ["evs.debug_log_mask"] = {value_ = "0x1", set_ = true}, ["evs.delay_margin"] = {value_ = "PT1S", set_ = true}, ["evs.delayed_keep_period"] = {value_ = "PT30S", set_ = true}, 
            ["evs.evict"] = {value_ = "", set_ = false}, ["evs.inactive_check_period"] = {value_ = "PT0.5S", set_ = true}, ["evs.inactive_timeout"] = {value_ = "PT15S", set_ = true}, 
            ["evs.info_log_mask"] = {value_ = "0xff", set_ = true}, ["evs.install_timeout"] = {value_ = "PT7.5S", set_ = true}, ["evs.join_retrans_period"] = {value_ = "PT1S", set_ = true}, 
            ["evs.keepalive_period"] = {value_ = "PT1S", set_ = true}, ["evs.max_install_timeouts"] = {value_ = "3", set_ = true}, ["evs.send_window"] = {value_ = "4", set_ = true}, 
            ["evs.stats_report_period"] = {value_ = "PT1M", set_ = true}, ["evs.suspect_timeout"] = {value_ = "PT5S", set_ = true}, ["evs.use_aggregate"] = {value_ = "true", set_ = true}, 
            ["evs.user_send_window"] = {value_ = "2", set_ = true}, ["evs.version"] = {value_ = "1", set_ = true}, ["evs.view_forget_timeout"] = {value_ = "P1D", set_ = true}, 
            ["gmcast.group"] = {value_ = "", set_ = false}, ["gmcast.isolate"] = {value_ = "", set_ = false}, ["gmcast.listen_addr"] = {value_ = "tcp://127.0.0.1:0", set_ = true}, 
            ["gmcast.mcast_addr"] = {value_ = "", set_ = true}, ["gmcast.mcast_port"] = {value_ = "", set_ = false}, ["gmcast.mcast_ttl"] = {value_ = "1", set_ = true}, ["gmcast.mira"] = {
              value_ = "", set_ = false}, ["gmcast.peer_addr"] = {value_ = "", set_ = false}, ["gmcast.peer_timeout"] = {value_ = "PT3S", set_ = true}, ["gmcast.segment"] = {value_ = "0", 
              set_ = true}, ["gmcast.time_wait"] = {value_ = "PT0.5S", set_ = true}, ["gmcast.version"] = {value_ = "0", set_ = true}, ["pc.announce_timeout"] = {value_ = "PT3S", 
              set_ = true}, ["pc.bootstrap"] = {value_ = "", set_ = false}, ["pc.checksum"] = {value_ = "false", set_ = true}, ["pc.ignore_quorum"] = {value_ = "false", set_ = true}, 
            ["pc.ignore_sb"] = {value_ = "false", set_ = true}, ["pc.linger"] = {value_ = "PT20S", set_ = true}, ["pc.npvo"] = {value_ = "false", set_ = true}, ["pc.recovery"] = {
              value_ = "false", set_ = true}, ["pc.version"] = {value_ = "0", set_ = true}, ["pc.wait_prim"] = {value_ = "true", set_ = true}, ["pc.wait_prim_timeout"] = {value_ = "PT30S", 
              set_ = true}, ["pc.weight"] = {value_ = "1", set_ = true}, ["protonet.backend"] = {value_ = "asio", set_ = true}, ["protonet.version"] = {value_ = "0", set_ = true}, 
            ["socket.checksum"] = {value_ = "2", set_ = true}, ["socket.non_blocking"] = {value_ = "", set_ = false}, ["socket.recv_buf_size"] = {value_ = "212992", set_ = true}, 
            ["socket.ssl"] = {value_ = "", set_ = false}, ["socket.ssl_ca"] = {value_ = "", set_ = false}, ["socket.ssl_cert"] = {value_ = "", set_ = false}, ["socket.ssl_cipher"] = {
              value_ = "", set_ = false}, ["socket.ssl_compression"] = {value_ = "", set_ = false}, ["socket.ssl_key"] = {value_ = "", set_ = false}, ["socket.ssl_password_file"] = {
              value_ = "", set_ = false}}}
        net = {_M_ptr = 0x2347310}
        pu2 = {<gcomm::Toplay> = {<gcomm::Conf::Check> = {_vptr.Check = 0x63f530 <vtable for PCUser2+16>}, <gcomm::Protolay> = {_vptr.Protolay = 0x63f568 <vtable for PCUser2+72>, 
              conf_ = @0x7ffc578eac40, up_context_ = empty std::__cxx11::list, down_context_ = std::__cxx11::list = {[0] = 0x2373640}, 
              evict_list_ = {<gcomm::MapBase<gcomm::UUID, gu::datetime::Date, std::map<gcomm::UUID, gu::datetime::Date, std::less<gcomm::UUID>, std::allocator<std::pair<gcomm::UUID const, gu:--Type <RET> for more, q to quit, c to continue without paging--
:datetime::Date> > > >> = {
                  _vptr.MapBase = 0x63e7c0 <vtable for gcomm::Map<gcomm::UUID, gu::datetime::Date, std::map<gcomm::UUID, gu::datetime::Date, std::less<gcomm::UUID>, std::allocator<std::pair<gcomm::UUID const, gu::datetime::Date> > > >+16>, map_ = std::map with 0 elements}, <No data fields>}}, <No data fields>}, tp_ = 0x2373640, sending_ = false, my_type_ = 3 '\003', 
          send_ = true, send_period_ = {static period_regex = 0x5b7278 "^(P)(([0-9]+)Y)?(([0-9]+)M)?(([0-9]+)D)?((T)?(([0-9]+)H)?(([0-9]+)M)?(([0-9]+)(\\.([0-9]+))?S)?)?", static regex = {
              regex = {buffer = 0x232b5b0, allocated = 224, used = 224, syntax = 242428, fastmap = 0x23240c0 "", translate = 0x0, re_nsub = 17, can_be_null = 0, regs_allocated = 0, 
                fastmap_accurate = 1, no_sub = 0, not_bol = 0, not_eol = 0, newline_anchor = 0}}, nsecs = 50000000}, next_send_ = {utc = 9223372036854775807}}
        pu1 = {<gcomm::Toplay> = {<gcomm::Conf::Check> = {_vptr.Check = 0x63f530 <vtable for PCUser2+16>}, <gcomm::Protolay> = {_vptr.Protolay = 0x63f568 <vtable for PCUser2+72>, 
              conf_ = @0x7ffc578eac40, up_context_ = empty std::__cxx11::list, down_context_ = std::__cxx11::list = {[0] = 0x23563e0}, 
              evict_list_ = {<gcomm::MapBase<gcomm::UUID, gu::datetime::Date, std::map<gcomm::UUID, gu::datetime::Date, std::less<gcomm::UUID>, std::allocator<std::pair<gcomm::UUID const, gu::datetime::Date> > > >> = {
                  _vptr.MapBase = 0x63e7c0 <vtable for gcomm::Map<gcomm::UUID, gu::datetime::Date, std::map<gcomm::UUID, gu::datetime::Date, std::less<gcomm::UUID>, std::allocator<std::pair<gcomm::UUID const, gu::datetime::Date> > > >+16>, map_ = std::map with 0 elements}, <No data fields>}}, <No data fields>}, tp_ = 0x23563e0, sending_ = true, my_type_ = 4 '\004', 
          send_ = true, send_period_ = {static period_regex = 0x5b7278 "^(P)(([0-9]+)Y)?(([0-9]+)M)?(([0-9]+)D)?((T)?(([0-9]+)H)?(([0-9]+)M)?(([0-9]+)(\\.([0-9]+))?S)?)?", static regex = {
              regex = {buffer = 0x232b5b0, allocated = 224, used = 224, syntax = 242428, fastmap = 0x23240c0 "", translate = 0x0, re_nsub = 17, can_be_null = 0, regs_allocated = 0, 
                fastmap_accurate = 1, no_sub = 0, not_bol = 0, not_eol = 0, newline_anchor = 0}}, nsecs = 50000000}, next_send_ = {utc = 201779703395933}}
        pu3 = {<gcomm::Toplay> = {<gcomm::Conf::Check> = {_vptr.Check = 0x63f530 <vtable for PCUser2+16>}, <gcomm::Protolay> = {_vptr.Protolay = 0x63f568 <vtable for PCUser2+72>, 
              conf_ = @0x7ffc578eac40, up_context_ = empty std::__cxx11::list, down_context_ = empty std::__cxx11::list, 
              evict_list_ = {<gcomm::MapBase<gcomm::UUID, gu::datetime::Date, std::map<gcomm::UUID, gu::datetime::Date, std::less<gcomm::UUID>, std::allocator<std::pair<gcomm::UUID const, gu::datetime::Date> > > >> = {
                  _vptr.MapBase = 0x63e7c0 <vtable for gcomm::Map<gcomm::UUID, gu::datetime::Date, std::map<gcomm::UUID, gu::datetime::Date, std::less<gcomm::UUID>, std::allocator<std::pair<gcomm::UUID const, gu::datetime::Date> > > >+16>, map_ = std::map with 0 elements}, <No data fields>}}, <No data fields>}, tp_ = 0x237f910, sending_ = false, my_type_ = 3 '\003', 
          send_ = true, send_period_ = {static period_regex = 0x5b7278 "^(P)(([0-9]+)Y)?(([0-9]+)M)?(([0-9]+)D)?((T)?(([0-9]+)H)?(([0-9]+)M)?(([0-9]+)(\\.([0-9]+))?S)?)?", static regex = {
              regex = {buffer = 0x232b5b0, allocated = 224, used = 224, syntax = 242428, fastmap = 0x23240c0 "", translate = 0x0, re_nsub = 17, can_be_null = 0, regs_allocated = 0, 
                fastmap_accurate = 1, no_sub = 0, not_bol = 0, not_eol = 0, newline_anchor = 0}}, nsecs = 50000000}, next_send_ = {utc = 9223372036854775807}}
        __FUNCTION__ = "test_pc_transport"
#17 0x00007fc53d55a2c6 in tcase_run_tfun_fork (i=0, tfun=0x233f5a0, tc=0x233f3d0, sr=0x23327a0) at check_run.c:494
        pid_w = <optimized out>
        pid = <optimized out>
        status = 0
        ts_start = {tv_sec = 201774, tv_nsec = 551507286}
        tr = <optimized out>
        ts_end = {tv_sec = 0, tv_nsec = 0}
        timerid = 0x23435e0
        timer_spec = {it_interval = {tv_sec = 0, tv_nsec = 0}, it_value = {tv_sec = 25, tv_nsec = 0}}
        pid_w = <optimized out>
        pid = <optimized out>
        status = <optimized out>
        ts_start = <optimized out>
        ts_end = <optimized out>
        timerid = <optimized out>
        timer_spec = <optimized out>
        tr = <optimized out>
#18 srunner_iterate_tcase_tfuns (tc=0x233f3d0, sr=0x23327a0) at check_run.c:252
        i = 0
        tfl = <optimized out>
--Type <RET> for more, q to quit, c to continue without paging--
        tfun = 0x233f5a0
        tr = <optimized out>
        tfl = <optimized out>
        tfun = <optimized out>
        tr = <optimized out>
        i = <optimized out>
#19 srunner_run_tcase (tc=0x233f3d0, sr=0x23327a0) at check_run.c:401
No locals.
#20 srunner_iterate_suites (print_mode=<optimized out>, exclude_tags=0x0, include_tags=0x0, tcname=0x0, sname=0x0, sr=0x23327a0) at check_run.c:218
        s = 0x233d900
        include_tag_lst = 0x23421a0
        exclude_tag_lst = 0x23421e0
        slst = 0x232c8d0
        tcl = 0x233d920
        tc = 0x233f3d0
        include_tag_lst = <optimized out>
        exclude_tag_lst = <optimized out>
        slst = <optimized out>
        tcl = <optimized out>
        tc = <optimized out>
        s = <optimized out>
#21 srunner_run_tagged (sr=0x23327a0, sname=0x0, tcname=0x0, include_tags=0x0, exclude_tags=0x0, print_mode=<optimized out>) at check_run.c:811
        sigalarm_old_action = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0, 0, 0, 513, 0, 7, 528, 2, 9223372036854775822, 0, 140485109261272, 0, 0, 
              2, 4239664, 140721777457760}}, sa_flags = 0, sa_restorer = 0x0}
        sigalarm_new_action = {__sigaction_handler = {sa_handler = 0x7fc53d559970 <sig_handler>, sa_sigaction = 0x7fc53d559970 <sig_handler>}, sa_mask = {__val = {0 <repeats 16 times>}}, 
          sa_flags = 0, sa_restorer = 0x0}
        sigint_new_action = {__sigaction_handler = {sa_handler = 0x7fc53d559970 <sig_handler>, sa_sigaction = 0x7fc53d559970 <sig_handler>}, sa_mask = {__val = {0 <repeats 16 times>}}, 
          sa_flags = 0, sa_restorer = 0x0}
        sigterm_new_action = {__sigaction_handler = {sa_handler = 0x7fc53d559970 <sig_handler>, sa_sigaction = 0x7fc53d559970 <sig_handler>}, sa_mask = {__val = {0 <repeats 16 times>}}, 
          sa_flags = 0, sa_restorer = 0x0}
#22 0x000000000040b56f in main (argc=1, argv=0x7ffc578eba68) at gcomm/test/check_gcomm.cpp:91
        sr = 0x23327a0
        suits = 0x0
        log_file = 0x23215e0
        __FUNCTION__ = "main"
        n_fail = 0
(gdb) 
(gdb) up
#1  0x00007fc53d072895 in __GI_abort () at abort.c:79
79	      raise (SIGABRT);
(gdb) up
#2  0x000000000040f112 in std::__replacement_assert (__file=0x596200 "/usr/include/c++/8/bits/stl_vector.h", __line=950, 
    __function=0x596740 <std::vector<unsigned char, std::allocator<unsigned char> >::operator[](unsigned long) const::__PRETTY_FUNCTION__> "std::vector<_Tp, _Alloc>::const_reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) const [with _Tp = unsigned char; _Alloc = std::allocator<unsigned char>; std::vector"..., 
    __condition=0x5961d0 "__builtin_expect(__n < this->size(), true)") at /usr/include/c++/8/x86_64-redhat-linux/bits/c++config.h:2391
2391	    __builtin_abort();
(gdb) up
#3  0x0000000000426837 in std::vector<unsigned char, std::allocator<unsigned char> >::operator[] (this=0x23a4bb0, __n=0) at /usr/include/c++/8/bits/stl_vector.h:950
950		__glibcxx_requires_subscript(__n);
(gdb) up
#4  0x000000000055ca4f in gcomm::AsioPostForSendHandler::operator() (this=0x7ffc578ea070) at gcomm/src/asio_tcp.cpp:365
365	                cbs[1] = asio::const_buffer(&dg.payload()[0],
(gdb) list
360	                const gcomm::Datagram& dg(socket_->send_q_.front());
361	                gu::array<asio::const_buffer, 2>::type cbs;
362	                cbs[0] = asio::const_buffer(dg.header()
363	                                            + dg.header_offset(),
364	                                            dg.header_len());
365	                cbs[1] = asio::const_buffer(&dg.payload()[0],
366	                                            dg.payload().size());
367	                socket_->write_one(cbs);
368	            }
369	        }

Comment by Michal Schorm [ 2019-12-12 ]

This issue still exists in Galera 25.3.28 (shipped with MariaDB 10.3.21) on all architectures.
(Tried on Fedora Rawhide and 31)

Comment by Jan Lindström [ 2023-06-06 ]

10.2 is EOL.

Comment by Daniel Black [ 2023-06-07 ]

Fixed https://github.com/codership/galera/issues/557 release_25.3.29

Generated at Thu Feb 08 08:20:55 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.