qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Stitcher (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (PROTON-1818) [C++ binding] Complex types: list of nulls causes SIGABRT
Date Wed, 04 Apr 2018 17:43:00 GMT

    [ https://issues.apache.org/jira/browse/PROTON-1818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16425910#comment-16425910
] 

Andrew Stitcher commented on PROTON-1818:
-----------------------------------------

There is a basic issue here in your code (besides the bug itself) - you are not catching exceptions
and handling them, for any test using C++ that is pretty much essential.

> [C++ binding] Complex types: list of nulls causes SIGABRT
> ---------------------------------------------------------
>
>                 Key: PROTON-1818
>                 URL: https://issues.apache.org/jira/browse/PROTON-1818
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: cpp-binding
>            Reporter: Kim van der Riet
>            Priority: Major
>
> The following snippet of code
> {noformat}
> std::vector<proton::value> array_2 = {nullptr, nullptr, };
> {noformat}
> compiles, but when run throws the following core:
> {noformat}
> terminate called after throwing an instance of 'std::logic_error'
> what(): basic_string::_M_construct null not valid
> Program received signal SIGABRT, Aborted.
> 0x00007ffff6f18660 in raise () from /lib64/libc.so.6
> (gdb) bt
> #0 0x00007ffff6f18660 in raise () from /lib64/libc.so.6
> #1 0x00007ffff6f19c41 in abort () from /lib64/libc.so.6
> #2 0x00007ffff788e025 in __gnu_cxx::__verbose_terminate_handler() () from /lib64/libstdc++.so.6
> #3 0x00007ffff788bc16 in __cxxabiv1::__terminate(void (*)()) () from /lib64/libstdc++.so.6
> #4 0x00007ffff788bc61 in std::terminate() () from /lib64/libstdc++.so.6
> #5 0x00007ffff788bea4 in __cxa_throw () from /lib64/libstdc++.so.6
> #6 0x00007ffff78b580f in std::__throw_logic_error(char const*) () from /lib64/libstdc++.so.6
> #7 0x00007ffff79242c1 in void std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::_M_construct<char const*>(char const*, char const*,
std::forward_iterator_tag) ()
> from /lib64/libstdc++.so.6
> #8 0x00007ffff792443f in std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)
() from /lib64/libstdc++.so.6
> #9 0x00000000004174d7 in proton::codec::operator<< (e=..., s=0x0) at ../install/include/proton/././codec/encoder.hpp:168
> #10 0x00000000004189f7 in proton::value::operator=<decltype(nullptr)>(decltype(nullptr)
const&) (this=0x7fffffff9eb0, x=<error reading variable>) at ../install/include/proton/./value.hpp:84
> #11 0x00000000004179e4 in proton::value::value<decltype(nullptr)>(decltype(nullptr)
const&, proton::value::assignable<decltype(nullptr), void>::type*) (this=0x7fffffff9eb0,

> x=<error reading variable>) at ../install/include/proton/./value.hpp:79
> #12 0x000000000040233b in qpidit::amqp_complex_types_test::TestData::initialize () at
amqp_complex_types_test.data.cpp:61
> #13 0x0000000000417109 in __static_initialization_and_destruction_0 (__initialize_p=1,
__priority=65535) at amqp_complex_types_test.data.cpp:613
> #14 0x0000000000417125 in _GLOBAL__sub_I__ZN6qpidit23amqp_complex_types_test8TestData10initializeEv
() at amqp_complex_types_test.data.cpp:638
> #15 0x000000000041b74d in __libc_csu_init ()
> #16 0x00007ffff6f04ebb in __libc_start_main () from /lib64/libc.so.6
> #17 0x0000000000401fca in _start ()
> {noformat}
> and where the referenced line {{amqp_complex_types_test.data.cpp:61}} is the snippet
shown above.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message