Uploaded image for project: 'Qpid Proton'
  1. Qpid Proton
  2. PROTON-1834

[cpp] equality operator used on nested lists causes SIGABRT

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • cpp-binding

    Description

      Checking the equality of nested list [[], [3, "hello"]] causes a core dump. However, if the list (as a proton::value) is created and checked against itself, it works fine. However, if the list is assigned to a message body and then compared with the original, then the equality cores. The following is dumped from the attached reproducer:

      #0  0x00007f37f7bc7660 in raise () from /lib64/libc.so.6
      #1  0x00007f37f7bc8c41 in abort () from /lib64/libc.so.6
      #2  0x00007f37f853d025 in __gnu_cxx::__verbose_terminate_handler() () from /lib64/libstdc++.so.6
      #3  0x00007f37f853ac16 in __cxxabiv1::__terminate(void (*)()) () from /lib64/libstdc++.so.6
      #4  0x00007f37f853ac61 in std::terminate() () from /lib64/libstdc++.so.6
      #5  0x00007f37f853aea4 in __cxa_throw () from /lib64/libstdc++.so.6
      #6  0x00007f37f8caaa2b in proton::codec::decoder::pre_get (this=this@entry=0x7fff4b7a6340) at /home/kvdr/RedHat/qpid-proton/cpp/src/decoder.cpp:76
      #7  0x00007f37f8caaaa7 in proton::codec::decoder::next_type (this=this@entry=0x7fff4b7a6340) at /home/kvdr/RedHat/qpid-proton/cpp/src/decoder.cpp:104
      #8  0x00007f37f8cbce39 in proton::(anonymous namespace)::compare_next (a=..., b=...) at /home/kvdr/RedHat/qpid-proton/cpp/src/value.cpp:113
      #9  0x00007f37f8cbd79b in proton::(anonymous namespace)::compare_container (b=..., a=...) at /home/kvdr/RedHat/qpid-proton/cpp/src/value.cpp:97
      #10 proton::(anonymous namespace)::compare_next (a=..., b=...) at /home/kvdr/RedHat/qpid-proton/cpp/src/value.cpp:123
      #11 0x00007f37f8cbd937 in proton::(anonymous namespace)::compare (x=..., y=...) at /home/kvdr/RedHat/qpid-proton/cpp/src/value.cpp:163
      #12 0x00007f37f8cbdda7 in proton::operator== (x=..., y=...) at /home/kvdr/RedHat/qpid-proton/cpp/src/value.cpp:176
      #13 0x000000000040169d in main ()
      

      Attachments

        1. test1.cpp
          0.8 kB
          Kim van der Riet

        Activity

          People

            Unassigned Unassigned
            kpvdr Kim van der Riet
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: