Uploaded image for project: 'AMQ Clients'
  1. AMQ Clients
  2. ENTMQCL-2975

[cpp] Crash upon reconnect when user passed empty vector to connection_options::failover_urls

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 2.11.0.B1
    • 2.10.0.GA
    • amqp-cpp-client
    • None

    Description

      [root@ci-vm-10-0-134-126 ~]# coredumpctl debug                                
                 PID: 42179 (aac3_sender)
                 UID: 0 (root)
                 GID: 0 (root)
              Signal: 6 (ABRT)
           Timestamp: Fri 2021-09-03 18:55:33 CEST (4h 12min ago)
        Command Line: /var/dtests/node_data/clients/aac3_sender --broker-url admin:admin@10.0.134.126:5672/test_client_connect_msgsrv_starting --log-msgs dict --count 1 --conn-reconnect True --sasl-mechanisms PLAIN
          Executable: /var/dtests/node_data/clients/cli-cpp/target/bin/aac3_sender
       Control Group: /user.slice/user-0.slice/session-10.scope
                Unit: session-10.scope
               Slice: user-0.slice
             Session: 10
           Owner UID: 0 (root)
             Boot ID: acb68a7101eb49b6a12be144e24d4f60
          Machine ID: f05ce6ceccf8443180de046db95f0394
            Hostname: ci-vm-10-0-134-126.hosted.upshift.rdu2.redhat.com
             Storage: /var/lib/systemd/coredump/core.aac3_sender.0.acb68a7101eb49b6a12be144e24d4f60.42179.1630688133000000.lz4
             Message: Process 42179 (aac3_sender) of user 0 dumped core.
                      
                      Stack trace of thread 42179:
                      #0  0x00007f2937f3937f raise (libc.so.6)
                      #1  0x00007f2937f23db5 abort (libc.so.6)
                      #2  0x00007f29397f1da8 _ZSt20__replacement_assertPKciS0_S0_ (libqpid-proton-cpp.so.12)
                      #3  0x00007f29397ee7a1 _ZN6proton9container4impl9reconnectEP15pn_connection_t (libqpid-proton-cpp.so.12)
                      #4  0x00007f29397f05c7 _ZN6proton9container4impl14run_timer_jobsEv (libqpid-proton-cpp.so.12)
                      #5  0x00007f29397f0dc1 _ZN6proton9container4impl8dispatchEP10pn_event_t (libqpid-proton-cpp.so.12)
                      #6  0x00007f29397f122b _ZN6proton9container4impl6threadEv (libqpid-proton-cpp.so.12)
                      #7  0x00007f29397f14ce _ZN6proton9container4impl3runEi (libqpid-proton-cpp.so.12)
                      #8  0x00000000004241be _ZNK6dtests6proton7reactor13SendingClient3runEiPPc (aac3_sender)
                      #9  0x000000000041d624 main (aac3_sender)
                      #10 0x00007f2937f25493 __libc_start_main (libc.so.6)
                      #11 0x000000000041dade _start (aac3_sender)
      
      GNU gdb (GDB) Red Hat Enterprise Linux 8.2-15.el8
      Copyright (C) 2018 Free Software Foundation, Inc.
      License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
      This is free software: you are free to change and redistribute it.
      There is NO WARRANTY, to the extent permitted by law.
      Type "show copying" and "show warranty" for details.
      This GDB was configured as "x86_64-redhat-linux-gnu".
      Type "show configuration" for configuration details.
      For bug reporting instructions, please see:
      <http://www.gnu.org/software/gdb/bugs/>.
      Find the GDB manual and other documentation resources online at:
          <http://www.gnu.org/software/gdb/documentation/>.
      
      For help, type "help".
      Type "apropos word" to search for commands related to "word"...
      Reading symbols from /var/dtests/node_data/clients/cli-cpp/target/bin/aac3_sender...done.
      [New LWP 42179]
      [Thread debugging using libthread_db enabled]
      Using host libthread_db library "/lib64/libthread_db.so.1".
      bCore was generated by `/var/dtests/node_data/clients/aac3_sender --broker-url admin:admin@10.0.134.126'.
      Program terminated with signal SIGABRT, Aborted.
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      50        return ret;
      (gdb) bt
      #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
      #1  0x00007f2937f23db5 in __GI_abort () at abort.c:79
      #2  0x00007f29397f1da8 in std::__replacement_assert (__file=__file@entry=0x7f293980bef0 "/usr/include/c++/8/bits/stl_vector.h", __line=__line@entry=932, 
          __function=__function@entry=0x7f293980c980 <std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator[](unsigned long)::__PRETTY_FUNCTION__> "std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) [with _Tp = std::__cxx11::basic_string<char>; _Alloc = std::allocator<std::__cxx11::basic_"..., __condition=__condition@entry=0x7f293980bec0 "__builtin_expect(__n < this->size(), true)")
          at /usr/include/c++/8/x86_64-redhat-linux/bits/c++config.h:2397
      #3  0x00007f29397ee7a1 in std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >::operator[] (__n=<optimized out>, this=0xdd06a0) at /usr/include/c++/8/bits/stl_vector.h:805
      #4  proton::container::impl::reconnect (this=0xdce770, pnc=0xdd0010)
          at /usr/src/debug/qpid-proton-0.35.0-2.el8.x86_64/cpp/src/proactor_container_impl.cpp:243
      #5  0x00007f29397f05c7 in std::function<void ()>::operator()() const (this=<optimized out>) at /usr/include/c++/8/bits/std_function.h:682
      #6  proton::internal::v11::work::operator() (this=<optimized out>) at /usr/src/debug/qpid-proton-0.35.0-2.el8.x86_64/cpp/include/proton/work_queue.hpp:283
      #7  proton::container::impl::run_timer_jobs (this=0xdce770) at /usr/src/debug/qpid-proton-0.35.0-2.el8.x86_64/cpp/src/proactor_container_impl.cpp:533
      #8  0x00007f29397f0dc1 in proton::container::impl::dispatch (this=0xdce770, event=<optimized out>)
          at /usr/src/debug/qpid-proton-0.35.0-2.el8.x86_64/cpp/src/proactor_container_impl.cpp:564
      #9  0x00007f29397f122b in proton::container::impl::thread (this=0xdce770)
          at /usr/src/debug/qpid-proton-0.35.0-2.el8.x86_64/cpp/src/proactor_container_impl.cpp:752
      #10 0x00007f29397f14ce in proton::container::impl::run (this=0xdce770, threads=<optimized out>, threads@entry=1)
          at /usr/src/debug/qpid-proton-0.35.0-2.el8.x86_64/cpp/src/proactor_container_impl.cpp:798
      #11 0x00007f29397ed4a1 in proton::container::run (this=this@entry=0x7ffc2336c230)
          at /usr/src/debug/qpid-proton-0.35.0-2.el8.x86_64/cpp/src/container.cpp:92
      #12 0x00000000004241be in dtests::proton::reactor::SendingClient::run (this=this@entry=0x7ffc2336ca18, argc=argc@entry=11, argv=argv@entry=0x7ffc2336cb18)
          at /var/dtests/node_data/clients/cli-cpp/src/api/qpid-proton/reactor/SendingClient.cpp:557
      #13 0x000000000041d624 in main (argc=11, argv=0x7ffc2336cb18) at /var/dtests/node_data/clients/cli-cpp/src/api/qpid-proton/clients/aac3_sender.cpp:17
      

      Attachments

        Activity

          People

            rkumari@redhat.com Rakhi Kumari
            jdanek@redhat.com Jiri Daněk
            Jiri Daněk Jiri Daněk
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: