apache :: thrift :: server :: TSimpleServer :: serve glibc检测到*** free():指针无效

时间:2013-06-28 03:52:15

标签: rpc distributed thrift

我正在使用thrift TSimpleServer,并获得核心转储:

`(gdb)bt

#0  0x000000302af2e2ed in raise () from /lib64/tls/libc.so.6
#1  0x000000302af2fa3e in abort () from /lib64/tls/libc.so.6
#2  0x000000302af62db1 in __libc_message () from /lib64/tls/libc.so.6
#3  0x000000302af6888e in _int_free () from /lib64/tls/libc.so.6
#4  0x000000302af68bd6 in free () from /lib64/tls/libc.so.6
#5  0x000000302d3ae19e in operator delete(void*) () from /usr/lib64/libstdc++.so.6
#6  0x0000000000443d8a in checked_array_delete<uint8_t> (this=0xb551f0, __in_chrg=<value optimized out>) at /home/work/compile_meta/inf/budw/meta.bak/lib/thrift-0.8.0/../../../../../third-64/boost/include/boost/checked_delete.hpp:41
#7  0x0000000000443d8a in ~scoped_array (this=0xb551f0, __in_chrg=<value optimized out>)
#8  0x0000000000443d8a in     apache::thrift::transport::TBufferedTransport::~TBufferedTransport (this=0xb551f0, __in_chrg=<value optimized out>)
#9  0x000000000042077d in ~shared_count (this=0xb56760, __in_chrg=<value optimized out>) at ../../../../third-64/boost/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
#10 0x000000000042077d in ~shared_ptr (this=0xb56760, __in_chrg=<value optimized out>)
#11 0x000000000042077d in ~TProtocol (this=0xb56760, __in_chrg=<value optimized out>)
#12 0x000000000042077d in ~TProtocolDefaults (this=0xb56760, __in_chrg=<value optimized out>)
#13 0x000000000042077d in ~TVirtualProtocol (this=0xb56760, __in_chrg=<value optimized out>)
#14 0x000000000042077d in apache::thrift::protocol::TBinaryProtocolT<apache::thrift::transport::TTransport>::~TBinaryProtocolT (this=0xb56760, __in_chrg=<value optimized out>)
#15 0x0000000000445ab9 in operator= (this=0xa259e0) at /home/work/compile_meta/inf/budw/meta.bak/lib/thrift-0.8.0/../../../../../third-64/boost/include/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
#16 0x0000000000445ab9 in apache::thrift::server::TSimpleServer::serve (this=0xa259e0)
#17 0x000000000041ac94 in uap::meta::MetaServiceManager::thread_func (arg=0x2cfd) at server/meta_service_manager.cpp:177
#18 0x000000302b80610a in start_thread () from /lib64/tls/libpthread.so.0
#19 0x000000302afc6003 in clone () from /lib64/tls/libc.so.6
#20 0x0000000000000000 in ?? ()`

我通过节俭远程附加,附加a1.so a2.so然后分离a1.so a2.so,当分离更多a1.so不存在时,它核心转储,但是当我们附加a1时.so分离a1.so分离a1.so,它运作良好

这个问题的任何线索或者我如何调试,因为我已经将try-catch添加到这个serv函数中,但没有异常抛出,谢谢

0 个答案:

没有答案