hi, Today we found that one of the servers hang on exit: [Switching to thread 2 (Thread 0x7f3e70dd5700 (LWP 11877))]#0 0x00007f3e70a22b5c in recv () from /lib64/libpthread.so.0
(gdb) where #0 0x00007f3e70a22b5c in recv () from /lib64/libpthread.so.0 #1 0x00000000004a4557 in apache::thrift::transport::TSocket::peek() () #2 0x00000000004ac2af in apache::thrift::server::TThreadedServer::Task::run() () #3 0x00000000004ad601 in apache::thrift::concurrency::PthreadThread::threadMain(void*) () #4 0x00007f3e70a1b9d1 in start_thread () from /lib64/libpthread.so.0 #5 0x00007f3e6ffc886d in clone () from /lib64/libc.so.6 (gdb) thread 1 [Switching to thread 1 (Thread 0x7f3e70e41720 (LWP 26997))]#0 0x00007f3e70a1f5bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 (gdb) where #0 0x00007f3e70a1f5bc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00000000004acf37 in apache::thrift::concurrency::Monitor::wait(long) const () #2 0x00000000004aa18a in apache::thrift::server::TThreadedServer::serve() () #3 0x0000000000489c1c in CacheProxyApp::runThiftServer() () #4 0x000000000048a990 in CacheProxyApp::run(BoxConfig&, std::shared_ptr<PersistentStore>, DaemonPidHelper*) () #5 0x0000000000452098 in main () (gdb) quit we use the following simple setup (without explicit setting timeouts). With thrift clients we learnt hard way that timeouts must be set :). Do you have a suggestion here? shared_ptr<CacheProxyHandler> proxyhandler(new CacheProxyHandler(_configManager.get(), _reportIssueService.get())); shared_ptr<TProcessor> processor(new CacheProxyProcessor(proxyhandler)); TServerSocket *servsocket = new TServerSocket(_port); shared_ptr<TServerTransport> serverTransport(servsocket); shared_ptr<TTransportFactory> transportFactory(new TFramedTransportFactory()); shared_ptr<TProtocolFactory> protocolFactory(new TBinaryProtocolFactory()); _thriftServer.reset(new TThreadedServer(processor, serverTransport, transportFactory, protocolFactory)); // this blocks until server shutdown _thriftServer->serve(); Thank you!
