You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@thrift.apache.org by Steve Knott <st...@subwest.com> on 2013/01/31 01:04:56 UTC

Thrift 0.8.0 C++ SegFault - Can't reproduce

Hi,

I got a seg fault the other day that I cannot reproduce.

> Thrift: Sun Jan 27 13:37:16 2013 TServerSocket::listen() BIND 11492
> Thrift: Sun Jan 27 13:37:16 2013 TThreadPoolServer::run() listen(): 
> Could not bind
> src/concurrency/Mutex.cpp:130: 
> apache::thrift::concurrency::Mutex::impl::~impl(): Assertion `ret == 
> 0' failed.

It looks it failed to bind for some reason, but normally that just 
throws an exception & I catch it fine... so it can't be that. If I am 
running out of some resources, then I want to try to reproduce so I can 
fix the issue, but I can't seem to find out what.  I've tried using up 
all connections (which wasn't the case when this happened), but can't 
think of anything else to try to replicate...

Any thoughts on what might cause this?

Thanks.
(Full stack trace below)



> #0 0x0000003190a302c5 in raise () from /lib64/libc.so.6
> #1 0x0000003190a31d70 in abort () from /lib64/libc.so.6
> #2 0x0000003190a29746 in __assert_fail () from /lib64/libc.so.6
> #3 0x00002b512d8902af in 
> boost::detail::sp_counted_impl_p<apache::thrift::concurrency::Mutex::impl>::dispose() 
> () from /usr/lib/libthrift-0.8.0.so
> #4 0x00002b512d890071 in apache::thrift::concurrency::Mutex::~Mutex() 
> () from /usr/lib/libthrift-0.8.0.so
> #5 0x00002b512d89069c in 
> apache::thrift::concurrency::Monitor::~Monitor() () from 
> /usr/lib/libthrift-0.8.0.so
> #6 0x00002b512d84c818 in 
> apache::thrift::concurrency::ThreadManager::Impl::~Impl() () from 
> /usr/lib/libthrift-0.8.0.so
> #7 0x00002b512d84cc73 in 
> apache::thrift::concurrency::SimpleThreadManager::~SimpleThreadManager() 
> () from /usr/lib/libthrift-0.8.0.so
> #8 0x00002b512d884a7c in 
> apache::thrift::server::TThreadPoolServer::~TThreadPoolServer() () 
> from /usr/lib/libthrift-0.8.0.so
> #9 0x000000000040c176 in boost::detail::sp_counted_base::release 
> (this=0x285e0e0) at 
> /usr/include/boost-1_46_1/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp:145
> #10 0x000000000040c239 in boost::detail::shared_count::~shared_count 
> (this=0x7fff5ac0b9c8, __in_chrg=<optimized out>)
> at /usr/include/boost-1_46_1/boost/smart_ptr/detail/shared_count.hpp:217
> #11 0x00002b512c1cfe7e in ~shared_ptr (this=0x7fff5ac0b9c0, 
> __in_chrg=<optimized out>) at 
> /usr/include/boost-1_46_1/boost/smart_ptr/shared_ptr.hpp:169
> #12 reset<apache::thrift::server::TThreadPoolServer> (p=<optimized 
> out>, this=0x2859218) at 
> /usr/include/boost-1_46_1/boost/smart_ptr/shared_ptr.hpp:392
> #13 OSImpl::startComponentServer (this=0x2859210) at OSImpl.cpp:887