You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Mario Emmenlauer (JIRA)" <ji...@apache.org> on 2017/12/08 09:10:00 UTC

[jira] [Comment Edited] (THRIFT-4411) SIGABRT in thrift client during program end

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

Mario Emmenlauer edited comment on THRIFT-4411 at 12/8/17 9:09 AM:
-------------------------------------------------------------------

I built thrift now with {{-DWITH_BOOST_SMART_PTR="ON"}} and add {{-DFORCE_BOOST_SMART_PTR=1}} to my compiler definitions. Now I get the same error, but with boost::shared_ptr instead of std::shared_ptr, so it seems unrelated to the shared pointer implementation. Note that my RPC client itself is contained in a std::shared_ptr that gets destructed at program end, but I think this is unrelated to the crash, since I do not observe any errors with thrift 0.10.0. I can reproduce the problem consistently with thrift 0.11.0 and 1.0.0-dev.

Here is the stack trace:
{noformat}
LightBISClientCMDLine: /data/thirdparty/include/boost/smart_ptr/shared_array.hpp:199: T& boost::shared_array<T>::operator[](std::ptrdiff_t) const [with T = apache::thrift::concurrency::Mutex; std::ptrdiff_t = long int]: Assertion `px != 0' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff6c39428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007ffff6c39428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007ffff6c3b02a in __GI_abort () at abort.c:89
#2  0x00007ffff6c31bd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x7ffff69cd9b0 "px != 0", 
    file=file@entry=0x7ffff69cd928 "/data/thirdparty/include/boost/smart_ptr/shared_array.hpp", line=line@entry=199, 
    function=function@entry=0x7ffff69cda60 <boost::shared_array<apache::thrift::concurrency::Mutex>::operator[](long) const::__PRETTY_FUNCTION__> "T& boost::shared_array<T>::operator[](std::ptrdiff_t) const [with T = apache::thrift::concurrency::Mutex; std::ptrdiff_t = long int]") at assert.c:92
#3  0x00007ffff6c31c82 in __GI___assert_fail (assertion=0x7ffff69cd9b0 "px != 0", 
    file=0x7ffff69cd928 "/data/thirdparty/include/boost/smart_ptr/shared_array.hpp", line=199, 
    function=0x7ffff69cda60 <boost::shared_array<apache::thrift::concurrency::Mutex>::operator[](long) const::__PRETTY_FUNCTION__> "T& boost::shared_array<T>::operator[](std::ptrdiff_t) const [with T = apache::thrift::concurrency::Mutex; std::ptrdiff_t = long int]") at assert.c:101
#4  0x00007ffff69b988b in boost::shared_array<apache::thrift::concurrency::Mutex>::operator[] (this=0x7ffff6c03680 <apache::thrift::transport::mutexes>, i=12)
    at /data/thirdparty/include/boost/smart_ptr/shared_array.hpp:199
#5  0x00007ffff69b3fa7 in apache::thrift::transport::callbackLocking (mode=9, n=12)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:77
#6  0x00007ffff57c48e7 in CRYPTO_add_lock () from /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
#7  0x00007ffff5be3cec in SSL_CTX_free () from /lib/x86_64-linux-gnu/libssl.so.1.0.0
#8  0x00007ffff69b4585 in apache::thrift::transport::SSLContext::~SSLContext (this=0x6725d0, __in_chrg=<optimized out>)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:200
#9  0x00007ffff69b45c0 in apache::thrift::transport::SSLContext::~SSLContext (this=0x6725d0, __in_chrg=<optimized out>)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:203
#10 0x00007ffff69ba6b5 in boost::checked_delete<apache::thrift::transport::SSLContext> (x=0x6725d0)
    at /data/thirdparty/include/boost/core/checked_delete.hpp:34
#11 0x00007ffff69baaca in boost::detail::sp_counted_impl_p<apache::thrift::transport::SSLContext>::dispose (this=0x673800)
---Type <return> to continue, or q <return> to quit---
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_impl.hpp:92
#12 0x0000000000422ccb in boost::detail::sp_counted_base::release (this=0x673800)
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:110
#13 0x0000000000422d41 in boost::detail::shared_count::~shared_count (this=0x674170, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/detail/shared_count.hpp:426
#14 0x00007ffff69b96d6 in boost::shared_ptr<apache::thrift::transport::SSLContext>::~shared_ptr (this=0x674168, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/shared_ptr.hpp:341
#15 0x00007ffff69b4cb4 in apache::thrift::transport::TSSLSocket::~TSSLSocket (this=0x674070, __in_chrg=<optimized out>)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:248
#16 0x00007ffff69b4cf0 in apache::thrift::transport::TSSLSocket::~TSSLSocket (this=0x674070, __in_chrg=<optimized out>)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:250
#17 0x00007ffff69ba71f in boost::checked_delete<apache::thrift::transport::TSSLSocket> (x=0x674070)
    at /data/thirdparty/include/boost/core/checked_delete.hpp:34
#18 0x00007ffff69baa72 in boost::detail::sp_counted_impl_p<apache::thrift::transport::TSSLSocket>::dispose (this=0x6741a0)
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_impl.hpp:92
#19 0x0000000000422ccb in boost::detail::sp_counted_base::release (this=0x6741a0)
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:110
#20 0x0000000000422d41 in boost::detail::shared_count::~shared_count (this=0x6742f0, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/detail/shared_count.hpp:426
#21 0x00007ffff7b1e49a in boost::shared_ptr<apache::thrift::transport::TTransport>::~shared_ptr (this=0x6742e8, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/shared_ptr.hpp:341
#22 0x00007ffff69a52d0 in apache::thrift::transport::TBufferedTransport::~TBufferedTransport (this=0x6742c0, __in_chrg=<optimized out>)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TBufferTransports.h:184
---Type <return> to continue, or q <return> to quit---
#23 0x00007ffff7b29dba in boost::detail::sp_ms_deleter<apache::thrift::transport::TBufferedTransport>::destroy (this=0x6742b8)
    at /data/thirdparty/include/boost/smart_ptr/make_shared_object.hpp:59
#24 0x00007ffff7b2c6a8 in boost::detail::sp_ms_deleter<apache::thrift::transport::TBufferedTransport>::operator() (this=0x6742b8)
    at /data/thirdparty/include/boost/smart_ptr/make_shared_object.hpp:93
#25 0x00007ffff7b2bbd1 in boost::detail::sp_counted_impl_pd<apache::thrift::transport::TBufferedTransport*, boost::detail::sp_ms_deleter<apache::thrift::transport::TBufferedTransport> >::dispose (
    this=0x6742a0) at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_impl.hpp:172
#26 0x0000000000422ccb in boost::detail::sp_counted_base::release (this=0x6742a0)
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:110
#27 0x0000000000422d41 in boost::detail::shared_count::~shared_count (this=0x679970, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/detail/shared_count.hpp:426
#28 0x00007ffff7b1e49a in boost::shared_ptr<apache::thrift::transport::TTransport>::~shared_ptr (this=0x679968, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/shared_ptr.hpp:341
#29 0x00007ffff6991d76 in apache::thrift::protocol::TProtocol::~TProtocol (this=0x679960, __in_chrg=<optimized out>)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/protocol/TProtocol.cpp:26
#30 0x00007ffff7b24236 in apache::thrift::protocol::TProtocolDefaults::~TProtocolDefaults (this=0x679960, __in_chrg=<optimized out>)
    at /data/thirdparty/include/thrift/protocol/TVirtualProtocol.h:42
#31 0x00007ffff7b242a8 in apache::thrift::protocol::TVirtualProtocol<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian>, apache::thrift::protocol::TProtocolDefaults>::~TVirtualProtocol (this=0x679960, __in_chrg=<optimized out>)
    at /data/thirdparty/include/thrift/protocol/TVirtualProtocol.h:312
#32 0x00007ffff7b29dee in apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian>::~TBinaryProtocolT (this=0x679960, 
    __in_chrg=<optimized out>) at /data/thirdparty/include/thrift/protocol/TBinaryProtocol.h:38
#33 0x00007ffff7b29e6c in boost::detail::sp_ms_deleter<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian> >::destroy (
    this=0x679958) at /data/thirdparty/include/boost/smart_ptr/make_shared_object.hpp:59
---Type <return> to continue, or q <return> to quit---
#34 0x00007ffff7b2c67a in boost::detail::sp_ms_deleter<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian> >::operator() (
    this=0x679958) at /data/thirdparty/include/boost/smart_ptr/make_shared_object.hpp:93
#35 0x00007ffff7b2bb05 in boost::detail::sp_counted_impl_pd<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian>*, boost::detail::sp_ms_deleter<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian> > >::dispose (this=0x679940)
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_impl.hpp:172
#36 0x0000000000422ccb in boost::detail::sp_counted_base::release (this=0x679940)
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:110
#37 0x0000000000422d41 in boost::detail::shared_count::~shared_count (this=0x679b20, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/detail/shared_count.hpp:426
#38 0x00007ffff7b1e840 in boost::shared_ptr<apache::thrift::protocol::TProtocol>::~shared_ptr (this=0x679b18, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/shared_ptr.hpp:341
#39 0x00007ffff7b9b68e in LightBISAPI::APIAccessClient::~APIAccessClient (this=0x679b10, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at /data/client/src/gen-cpp/APIAccess.h:5550
#40 0x00007ffff7b9b6e4 in LightBISAPI::APIAccessClient::~APIAccessClient (this=0x679b10, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at /data/client/src/gen-cpp/APIAccess.h:5550
#41 0x00007ffff7b2468e in std::default_delete<LightBISAPI::APIAccessClient>::operator() (this=0x679a00, __ptr=0x679b10) at /usr/include/c++/5/bits/unique_ptr.h:76
#42 0x00007ffff7b2b92e in std::_Sp_counted_deleter<LightBISAPI::APIAccessClient*, std::default_delete<LightBISAPI::APIAccessClient>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (
    this=0x6799f0) at /usr/include/c++/5/bits/shared_ptr_base.h:466
#43 0x0000000000425744 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x6799f0) at /usr/include/c++/5/bits/shared_ptr_base.h:150
#44 0x0000000000424439 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x655ba0, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr_base.h:659
#45 0x00007ffff7b1f6a2 in std::__shared_ptr<LightBISAPI::APIAccessClient, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x655b98, __in_chrg=<optimized out>)
    at /usr/include/c++/5/bits/shared_ptr_base.h:925
#46 0x00007ffff7b1f6da in std::shared_ptr<LightBISAPI::APIAccessClient>::~shared_ptr (this=0x655b98, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr.h:93
---Type <return> to continue, or q <return> to quit---
#47 0x00007ffff7b14c1e in LightBISClientCpp::~LightBISClientCpp (this=0x655ac0, __in_chrg=<optimized out>) at /data/client/src/LightBISClientCpp.cc:148
#48 0x000000000042db55 in __gnu_cxx::new_allocator<LightBISClientCpp>::destroy<LightBISClientCpp> (this=0x655ac0, __p=0x655ac0) at /usr/include/c++/5/ext/new_allocator.h:124
#49 0x000000000042d269 in std::allocator_traits<std::allocator<LightBISClientCpp> >::destroy<LightBISClientCpp> (__a=..., __p=0x655ac0) at /usr/include/c++/5/bits/alloc_traits.h:542
#50 0x000000000042c1c7 in std::_Sp_counted_ptr_inplace<LightBISClientCpp, std::allocator<LightBISClientCpp>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x655ab0)
    at /usr/include/c++/5/bits/shared_ptr_base.h:531
#51 0x0000000000425744 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x655ab0) at /usr/include/c++/5/bits/shared_ptr_base.h:150
#52 0x0000000000424439 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7fffffffd4c8, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr_base.h:659
#53 0x00000000004238f6 in std::__shared_ptr<LightBISClientCpp, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7fffffffd4c0, __in_chrg=<optimized out>)
    at /usr/include/c++/5/bits/shared_ptr_base.h:925
#54 0x0000000000423912 in std::shared_ptr<LightBISClientCpp>::~shared_ptr (this=0x7fffffffd4c0, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr.h:93
#55 0x00000000004223d5 in main (argc=4, argv=0x7fffffffd908) at /data/client/tools/LightBISClientCMDLine/LightBISClientCMDLine.cc:78
{noformat}



was (Author: emmenlau):
I built thrift now with {{-DWITH_BOOST_SMART_PTR="ON"}} and add {{-DFORCE_BOOST_SMART_PTR=1}} to my compiler definitions. Now I get the same error, but with boost::shared_ptr instead of std::shared_ptr, so it seems unrelated to the shared pointer implementation. Note that my RPC client itself is contained in a std::shared_ptr that gets destructed at program end, but I think this is unrelated to the crash, since I do not observe any errors with thrift 0.10.0. I can reproduce the problem consistently with thrift 0.11.0 and 1.0.0-dev.

Here is the stack trace:
{{{
LightBISClientCMDLine: /data/thirdparty/include/boost/smart_ptr/shared_array.hpp:199: T& boost::shared_array<T>::operator[](std::ptrdiff_t) const [with T = apache::thrift::concurrency::Mutex; std::ptrdiff_t = long int]: Assertion `px != 0' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff6c39428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
54	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007ffff6c39428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007ffff6c3b02a in __GI_abort () at abort.c:89
#2  0x00007ffff6c31bd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x7ffff69cd9b0 "px != 0", 
    file=file@entry=0x7ffff69cd928 "/data/thirdparty/include/boost/smart_ptr/shared_array.hpp", line=line@entry=199, 
    function=function@entry=0x7ffff69cda60 <boost::shared_array<apache::thrift::concurrency::Mutex>::operator[](long) const::__PRETTY_FUNCTION__> "T& boost::shared_array<T>::operator[](std::ptrdiff_t) const [with T = apache::thrift::concurrency::Mutex; std::ptrdiff_t = long int]") at assert.c:92
#3  0x00007ffff6c31c82 in __GI___assert_fail (assertion=0x7ffff69cd9b0 "px != 0", 
    file=0x7ffff69cd928 "/data/thirdparty/include/boost/smart_ptr/shared_array.hpp", line=199, 
    function=0x7ffff69cda60 <boost::shared_array<apache::thrift::concurrency::Mutex>::operator[](long) const::__PRETTY_FUNCTION__> "T& boost::shared_array<T>::operator[](std::ptrdiff_t) const [with T = apache::thrift::concurrency::Mutex; std::ptrdiff_t = long int]") at assert.c:101
#4  0x00007ffff69b988b in boost::shared_array<apache::thrift::concurrency::Mutex>::operator[] (this=0x7ffff6c03680 <apache::thrift::transport::mutexes>, i=12)
    at /data/thirdparty/include/boost/smart_ptr/shared_array.hpp:199
#5  0x00007ffff69b3fa7 in apache::thrift::transport::callbackLocking (mode=9, n=12)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:77
#6  0x00007ffff57c48e7 in CRYPTO_add_lock () from /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
#7  0x00007ffff5be3cec in SSL_CTX_free () from /lib/x86_64-linux-gnu/libssl.so.1.0.0
#8  0x00007ffff69b4585 in apache::thrift::transport::SSLContext::~SSLContext (this=0x6725d0, __in_chrg=<optimized out>)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:200
#9  0x00007ffff69b45c0 in apache::thrift::transport::SSLContext::~SSLContext (this=0x6725d0, __in_chrg=<optimized out>)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:203
#10 0x00007ffff69ba6b5 in boost::checked_delete<apache::thrift::transport::SSLContext> (x=0x6725d0)
    at /data/thirdparty/include/boost/core/checked_delete.hpp:34
#11 0x00007ffff69baaca in boost::detail::sp_counted_impl_p<apache::thrift::transport::SSLContext>::dispose (this=0x673800)
---Type <return> to continue, or q <return> to quit---
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_impl.hpp:92
#12 0x0000000000422ccb in boost::detail::sp_counted_base::release (this=0x673800)
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:110
#13 0x0000000000422d41 in boost::detail::shared_count::~shared_count (this=0x674170, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/detail/shared_count.hpp:426
#14 0x00007ffff69b96d6 in boost::shared_ptr<apache::thrift::transport::SSLContext>::~shared_ptr (this=0x674168, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/shared_ptr.hpp:341
#15 0x00007ffff69b4cb4 in apache::thrift::transport::TSSLSocket::~TSSLSocket (this=0x674070, __in_chrg=<optimized out>)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:248
#16 0x00007ffff69b4cf0 in apache::thrift::transport::TSSLSocket::~TSSLSocket (this=0x674070, __in_chrg=<optimized out>)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:250
#17 0x00007ffff69ba71f in boost::checked_delete<apache::thrift::transport::TSSLSocket> (x=0x674070)
    at /data/thirdparty/include/boost/core/checked_delete.hpp:34
#18 0x00007ffff69baa72 in boost::detail::sp_counted_impl_p<apache::thrift::transport::TSSLSocket>::dispose (this=0x6741a0)
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_impl.hpp:92
#19 0x0000000000422ccb in boost::detail::sp_counted_base::release (this=0x6741a0)
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:110
#20 0x0000000000422d41 in boost::detail::shared_count::~shared_count (this=0x6742f0, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/detail/shared_count.hpp:426
#21 0x00007ffff7b1e49a in boost::shared_ptr<apache::thrift::transport::TTransport>::~shared_ptr (this=0x6742e8, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/shared_ptr.hpp:341
#22 0x00007ffff69a52d0 in apache::thrift::transport::TBufferedTransport::~TBufferedTransport (this=0x6742c0, __in_chrg=<optimized out>)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TBufferTransports.h:184
---Type <return> to continue, or q <return> to quit---
#23 0x00007ffff7b29dba in boost::detail::sp_ms_deleter<apache::thrift::transport::TBufferedTransport>::destroy (this=0x6742b8)
    at /data/thirdparty/include/boost/smart_ptr/make_shared_object.hpp:59
#24 0x00007ffff7b2c6a8 in boost::detail::sp_ms_deleter<apache::thrift::transport::TBufferedTransport>::operator() (this=0x6742b8)
    at /data/thirdparty/include/boost/smart_ptr/make_shared_object.hpp:93
#25 0x00007ffff7b2bbd1 in boost::detail::sp_counted_impl_pd<apache::thrift::transport::TBufferedTransport*, boost::detail::sp_ms_deleter<apache::thrift::transport::TBufferedTransport> >::dispose (
    this=0x6742a0) at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_impl.hpp:172
#26 0x0000000000422ccb in boost::detail::sp_counted_base::release (this=0x6742a0)
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:110
#27 0x0000000000422d41 in boost::detail::shared_count::~shared_count (this=0x679970, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/detail/shared_count.hpp:426
#28 0x00007ffff7b1e49a in boost::shared_ptr<apache::thrift::transport::TTransport>::~shared_ptr (this=0x679968, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/shared_ptr.hpp:341
#29 0x00007ffff6991d76 in apache::thrift::protocol::TProtocol::~TProtocol (this=0x679960, __in_chrg=<optimized out>)
    at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/protocol/TProtocol.cpp:26
#30 0x00007ffff7b24236 in apache::thrift::protocol::TProtocolDefaults::~TProtocolDefaults (this=0x679960, __in_chrg=<optimized out>)
    at /data/thirdparty/include/thrift/protocol/TVirtualProtocol.h:42
#31 0x00007ffff7b242a8 in apache::thrift::protocol::TVirtualProtocol<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian>, apache::thrift::protocol::TProtocolDefaults>::~TVirtualProtocol (this=0x679960, __in_chrg=<optimized out>)
    at /data/thirdparty/include/thrift/protocol/TVirtualProtocol.h:312
#32 0x00007ffff7b29dee in apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian>::~TBinaryProtocolT (this=0x679960, 
    __in_chrg=<optimized out>) at /data/thirdparty/include/thrift/protocol/TBinaryProtocol.h:38
#33 0x00007ffff7b29e6c in boost::detail::sp_ms_deleter<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian> >::destroy (
    this=0x679958) at /data/thirdparty/include/boost/smart_ptr/make_shared_object.hpp:59
---Type <return> to continue, or q <return> to quit---
#34 0x00007ffff7b2c67a in boost::detail::sp_ms_deleter<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian> >::operator() (
    this=0x679958) at /data/thirdparty/include/boost/smart_ptr/make_shared_object.hpp:93
#35 0x00007ffff7b2bb05 in boost::detail::sp_counted_impl_pd<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian>*, boost::detail::sp_ms_deleter<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian> > >::dispose (this=0x679940)
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_impl.hpp:172
#36 0x0000000000422ccb in boost::detail::sp_counted_base::release (this=0x679940)
    at /data/thirdparty/include/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp:110
#37 0x0000000000422d41 in boost::detail::shared_count::~shared_count (this=0x679b20, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/detail/shared_count.hpp:426
#38 0x00007ffff7b1e840 in boost::shared_ptr<apache::thrift::protocol::TProtocol>::~shared_ptr (this=0x679b18, __in_chrg=<optimized out>)
    at /data/thirdparty/include/boost/smart_ptr/shared_ptr.hpp:341
#39 0x00007ffff7b9b68e in LightBISAPI::APIAccessClient::~APIAccessClient (this=0x679b10, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at /data/client/src/gen-cpp/APIAccess.h:5550
#40 0x00007ffff7b9b6e4 in LightBISAPI::APIAccessClient::~APIAccessClient (this=0x679b10, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
    at /data/client/src/gen-cpp/APIAccess.h:5550
#41 0x00007ffff7b2468e in std::default_delete<LightBISAPI::APIAccessClient>::operator() (this=0x679a00, __ptr=0x679b10) at /usr/include/c++/5/bits/unique_ptr.h:76
#42 0x00007ffff7b2b92e in std::_Sp_counted_deleter<LightBISAPI::APIAccessClient*, std::default_delete<LightBISAPI::APIAccessClient>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (
    this=0x6799f0) at /usr/include/c++/5/bits/shared_ptr_base.h:466
#43 0x0000000000425744 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x6799f0) at /usr/include/c++/5/bits/shared_ptr_base.h:150
#44 0x0000000000424439 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x655ba0, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr_base.h:659
#45 0x00007ffff7b1f6a2 in std::__shared_ptr<LightBISAPI::APIAccessClient, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x655b98, __in_chrg=<optimized out>)
    at /usr/include/c++/5/bits/shared_ptr_base.h:925
#46 0x00007ffff7b1f6da in std::shared_ptr<LightBISAPI::APIAccessClient>::~shared_ptr (this=0x655b98, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr.h:93
---Type <return> to continue, or q <return> to quit---
#47 0x00007ffff7b14c1e in LightBISClientCpp::~LightBISClientCpp (this=0x655ac0, __in_chrg=<optimized out>) at /data/client/src/LightBISClientCpp.cc:148
#48 0x000000000042db55 in __gnu_cxx::new_allocator<LightBISClientCpp>::destroy<LightBISClientCpp> (this=0x655ac0, __p=0x655ac0) at /usr/include/c++/5/ext/new_allocator.h:124
#49 0x000000000042d269 in std::allocator_traits<std::allocator<LightBISClientCpp> >::destroy<LightBISClientCpp> (__a=..., __p=0x655ac0) at /usr/include/c++/5/bits/alloc_traits.h:542
#50 0x000000000042c1c7 in std::_Sp_counted_ptr_inplace<LightBISClientCpp, std::allocator<LightBISClientCpp>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x655ab0)
    at /usr/include/c++/5/bits/shared_ptr_base.h:531
#51 0x0000000000425744 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x655ab0) at /usr/include/c++/5/bits/shared_ptr_base.h:150
#52 0x0000000000424439 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7fffffffd4c8, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr_base.h:659
#53 0x00000000004238f6 in std::__shared_ptr<LightBISClientCpp, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7fffffffd4c0, __in_chrg=<optimized out>)
    at /usr/include/c++/5/bits/shared_ptr_base.h:925
#54 0x0000000000423912 in std::shared_ptr<LightBISClientCpp>::~shared_ptr (this=0x7fffffffd4c0, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr.h:93
#55 0x00000000004223d5 in main (argc=4, argv=0x7fffffffd908) at /data/client/tools/LightBISClientCMDLine/LightBISClientCMDLine.cc:78
}}}

> SIGABRT in thrift client during program end
> -------------------------------------------
>
>                 Key: THRIFT-4411
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4411
>             Project: Thrift
>          Issue Type: Question
>          Components: C++ - Library
>    Affects Versions: 0.11.0
>         Environment: Ubuntu Linux x86_64
>            Reporter: Mario Emmenlauer
>            Assignee: James E. King, III
>
> After upgrading to thrift 1.0.0 rev 20e16bc I get a SIGABRT during exit of my thrift RPC client. This did not happen with 0.10.0. Here is a stack trace. Do you need to see the source code?
> {noformat}
> LightBISClientCMDLine: /data/thirdparty/include/boost/smart_ptr/shared_array.hpp:199: T& boost::shared_array<T>::operator[](std::ptrdiff_t) const [with T = apache::thrift::concurrency::Mutex; std::ptrdiff_t = long int]: Assertion `px != 0' failed.
> Program received signal SIGABRT, Aborted.
> 0x00007ffff6c29428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
> 54	../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
> (gdb) bt
> #0  0x00007ffff6c29428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
> #1  0x00007ffff6c2b02a in __GI_abort () at abort.c:89
> #2  0x00007ffff6c21bd7 in __assert_fail_base (fmt=<optimized out>, assertion=assertion@entry=0x7ffff69bc190 "px != 0", 
>     file=file@entry=0x7ffff69bc108 "/data/thirdparty/include/boost/smart_ptr/shared_array.hpp", line=line@entry=199, 
>     function=function@entry=0x7ffff69bc1c0 <boost::shared_array<apache::thrift::concurrency::Mutex>::operator[](long) const::__PRETTY_FUNCTION__> "T& boost::shared_array<T>::operator[](std::ptrdiff_t) const [with T = apache::thrift::concurrency::Mutex; std::ptrdiff_t = long int]") at assert.c:92
> #3  0x00007ffff6c21c82 in __GI___assert_fail (assertion=0x7ffff69bc190 "px != 0", 
>     file=0x7ffff69bc108 "/data/thirdparty/include/boost/smart_ptr/shared_array.hpp", line=199, 
>     function=0x7ffff69bc1c0 <boost::shared_array<apache::thrift::concurrency::Mutex>::operator[](long) const::__PRETTY_FUNCTION__> "T& boost::shared_array<T>::operator[](std::ptrdiff_t) const [with T = apache::thrift::concurrency::Mutex; std::ptrdiff_t = long int]") at assert.c:101
> #4  0x00007ffff69acee9 in boost::shared_array<apache::thrift::concurrency::Mutex>::operator[] (this=0x7ffff6bf3c00 <apache::thrift::transport::mutexes>, i=12)
>     at /data/thirdparty/include/boost/smart_ptr/shared_array.hpp:199
> #5  0x00007ffff69a717f in apache::thrift::transport::callbackLocking (mode=9, n=12)
>     at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:77
> #6  0x00007ffff57ab8e7 in CRYPTO_add_lock () from /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
> #7  0x00007ffff5bcacec in SSL_CTX_free () from /lib/x86_64-linux-gnu/libssl.so.1.0.0
> #8  0x00007ffff69a775d in apache::thrift::transport::SSLContext::~SSLContext (this=0x6725b0, __in_chrg=<optimized out>)
>     at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:200
> #9  0x00007ffff69a7798 in apache::thrift::transport::SSLContext::~SSLContext (this=0x6725b0, __in_chrg=<optimized out>)
>     at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:203
> #10 0x00007ffff69adebe in std::_Sp_counted_ptr<apache::thrift::transport::SSLContext*, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x6737e0) at /usr/include/c++/5/bits/shared_ptr_base.h:374
> #11 0x0000000000425744 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x6737e0) at /usr/include/c++/5/bits/shared_ptr_base.h:150
> #12 0x0000000000424439 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x674150, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr_base.h:659
> #13 0x00007ffff69acb96 in std::__shared_ptr<apache::thrift::transport::SSLContext, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x674148, __in_chrg=<optimized out>)
> ---Type <return> to continue, or q <return> to quit---
>     at /usr/include/c++/5/bits/shared_ptr_base.h:925
> #14 0x00007ffff69acbd8 in std::shared_ptr<apache::thrift::transport::SSLContext>::~shared_ptr (this=0x674148, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr.h:93
> #15 0x00007ffff69a7e8c in apache::thrift::transport::TSSLSocket::~TSSLSocket (this=0x674050, __in_chrg=<optimized out>)
>     at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:248
> #16 0x00007ffff69a7ec8 in apache::thrift::transport::TSSLSocket::~TSSLSocket (this=0x674050, __in_chrg=<optimized out>)
>     at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TSSLSocket.cpp:250
> #17 0x00007ffff69ade4c in std::_Sp_counted_ptr<apache::thrift::transport::TSSLSocket*, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x674180) at /usr/include/c++/5/bits/shared_ptr_base.h:374
> #18 0x0000000000425744 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x674180) at /usr/include/c++/5/bits/shared_ptr_base.h:150
> #19 0x0000000000424439 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x679960, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr_base.h:659
> #20 0x00007ffff7b1b98a in std::__shared_ptr<apache::thrift::transport::TTransport, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x679958, __in_chrg=<optimized out>)
>     at /usr/include/c++/5/bits/shared_ptr_base.h:925
> #21 0x00007ffff7b1b9a6 in std::shared_ptr<apache::thrift::transport::TTransport>::~shared_ptr (this=0x679958, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr.h:93
> #22 0x00007ffff6996f92 in apache::thrift::transport::TBufferedTransport::~TBufferedTransport (this=0x679930, __in_chrg=<optimized out>)
>     at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/transport/TBufferTransports.h:184
> #23 0x00007ffff7b2c775 in __gnu_cxx::new_allocator<apache::thrift::transport::TBufferedTransport>::destroy<apache::thrift::transport::TBufferedTransport> (this=0x679930, __p=0x679930)
>     at /usr/include/c++/5/ext/new_allocator.h:124
> #24 0x00007ffff7b2b52f in std::allocator_traits<std::allocator<apache::thrift::transport::TBufferedTransport> >::destroy<apache::thrift::transport::TBufferedTransport> (__a=..., __p=0x679930)
>     at /usr/include/c++/5/bits/alloc_traits.h:542
> #25 0x00007ffff7b2a841 in std::_Sp_counted_ptr_inplace<apache::thrift::transport::TBufferedTransport, std::allocator<apache::thrift::transport::TBufferedTransport>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x679920) at /usr/include/c++/5/bits/shared_ptr_base.h:531
> #26 0x0000000000425744 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x679920) at /usr/include/c++/5/bits/shared_ptr_base.h:150
> #27 0x0000000000424439 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x675f00, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr_base.h:659
> #28 0x00007ffff7b1b98a in std::__shared_ptr<apache::thrift::transport::TTransport, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x675ef8, __in_chrg=<optimized out>)
>     at /usr/include/c++/5/bits/shared_ptr_base.h:925
> ---Type <return> to continue, or q <return> to quit---
> #29 0x00007ffff7b1b9a6 in std::shared_ptr<apache::thrift::transport::TTransport>::~shared_ptr (this=0x675ef8, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr.h:93
> #30 0x00007ffff6982d64 in apache::thrift::protocol::TProtocol::~TProtocol (this=0x675ef0, __in_chrg=<optimized out>)
>     at /data/thirdparty/thrift-1.0.0.20e16bc/lib/cpp/src/thrift/protocol/TProtocol.cpp:26
> #31 0x00007ffff7b2992c in apache::thrift::protocol::TProtocolDefaults::~TProtocolDefaults (this=0x675ef0, __in_chrg=<optimized out>)
>     at /data/thirdparty/include/thrift/protocol/TVirtualProtocol.h:42
> #32 0x00007ffff7b2999e in apache::thrift::protocol::TVirtualProtocol<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian>, apache::thrift::protocol::TProtocolDefaults>::~TVirtualProtocol (this=0x675ef0, __in_chrg=<optimized out>)
>     at /data/thirdparty/include/thrift/protocol/TVirtualProtocol.h:312
> #33 0x00007ffff7b2a41c in apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian>::~TBinaryProtocolT (this=0x675ef0, 
>     __in_chrg=<optimized out>) at /data/thirdparty/include/thrift/protocol/TBinaryProtocol.h:38
> #34 0x00007ffff7b2c741 in __gnu_cxx::new_allocator<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian> >::destroy<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian> > (this=0x675ef0, __p=0x675ef0) at /usr/include/c++/5/ext/new_allocator.h:124
> #35 0x00007ffff7b2b4ef in std::allocator_traits<std::allocator<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian> > >::destroy<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian> > (__a=..., __p=0x675ef0)
>     at /usr/include/c++/5/bits/alloc_traits.h:542
> #36 0x00007ffff7b2a6af in std::_Sp_counted_ptr_inplace<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian>, std::allocator<apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport, apache::thrift::protocol::TNetworkBigEndian> >, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x675ee0)
>     at /usr/include/c++/5/bits/shared_ptr_base.h:531
> #37 0x0000000000425744 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x675ee0) at /usr/include/c++/5/bits/shared_ptr_base.h:150
> #38 0x0000000000424439 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x679b00, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr_base.h:659
> #39 0x00007ffff7b1bde0 in std::__shared_ptr<apache::thrift::protocol::TProtocol, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x679af8, __in_chrg=<optimized out>)
>     at /usr/include/c++/5/bits/shared_ptr_base.h:925
> #40 0x00007ffff7b1bdfc in std::shared_ptr<apache::thrift::protocol::TProtocol>::~shared_ptr (this=0x679af8, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr.h:93
> #41 0x00007ffff7b9ace0 in LightBISAPI::APIAccessClient::~APIAccessClient (this=0x679af0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
> ---Type <return> to continue, or q <return> to quit---
>     at /data/client/src/gen-cpp/APIAccess.h:5550
> #42 0x00007ffff7b9ad36 in LightBISAPI::APIAccessClient::~APIAccessClient (this=0x679af0, __in_chrg=<optimized out>, __vtt_parm=<optimized out>)
>     at /data/client/src/gen-cpp/APIAccess.h:5550
> #43 0x00007ffff7b215f8 in std::default_delete<LightBISAPI::APIAccessClient>::operator() (this=0x6799e0, __ptr=0x679af0) at /usr/include/c++/5/bits/unique_ptr.h:76
> #44 0x00007ffff7b2ab4e in std::_Sp_counted_deleter<LightBISAPI::APIAccessClient*, std::default_delete<LightBISAPI::APIAccessClient>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (
>     this=0x6799d0) at /usr/include/c++/5/bits/shared_ptr_base.h:466
> #45 0x0000000000425744 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x6799d0) at /usr/include/c++/5/bits/shared_ptr_base.h:150
> #46 0x0000000000424439 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x655ba0, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr_base.h:659
> #47 0x00007ffff7b1cd30 in std::__shared_ptr<LightBISAPI::APIAccessClient, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x655b98, __in_chrg=<optimized out>)
>     at /usr/include/c++/5/bits/shared_ptr_base.h:925
> #48 0x00007ffff7b1cd68 in std::shared_ptr<LightBISAPI::APIAccessClient>::~shared_ptr (this=0x655b98, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr.h:93
> #49 0x00007ffff7b1241e in LightBISClientCpp::~LightBISClientCpp (this=0x655ac0, __in_chrg=<optimized out>) at /data/client/src/LightBISClientCpp.cc:148
> #50 0x000000000042db55 in __gnu_cxx::new_allocator<LightBISClientCpp>::destroy<LightBISClientCpp> (this=0x655ac0, __p=0x655ac0) at /usr/include/c++/5/ext/new_allocator.h:124
> #51 0x000000000042d269 in std::allocator_traits<std::allocator<LightBISClientCpp> >::destroy<LightBISClientCpp> (__a=..., __p=0x655ac0) at /usr/include/c++/5/bits/alloc_traits.h:542
> #52 0x000000000042c1c7 in std::_Sp_counted_ptr_inplace<LightBISClientCpp, std::allocator<LightBISClientCpp>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x655ab0)
>     at /usr/include/c++/5/bits/shared_ptr_base.h:531
> #53 0x0000000000425744 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x655ab0) at /usr/include/c++/5/bits/shared_ptr_base.h:150
> #54 0x0000000000424439 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x7fffffffd4e8, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr_base.h:659
> #55 0x00000000004238f6 in std::__shared_ptr<LightBISClientCpp, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x7fffffffd4e0, __in_chrg=<optimized out>)
>     at /usr/include/c++/5/bits/shared_ptr_base.h:925
> #56 0x0000000000423912 in std::shared_ptr<LightBISClientCpp>::~shared_ptr (this=0x7fffffffd4e0, __in_chrg=<optimized out>) at /usr/include/c++/5/bits/shared_ptr.h:93
> #57 0x00000000004223d5 in main (argc=4, argv=0x7fffffffd928) at /data/client/tools/LightBISClientCMDLine/LightBISClientCMDLine.cc:78
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)