Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
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 ()