We are using Poco 1.4.5.
ThreadPool is growing in case of big load, but the allocated threads are in wait state even after terminate of the process or after killing them explicitly.
The Threads are in wait state even after 4 Hours. We ran the gdb and got the below back trace, it was repeated many times.
The minCapacity was set to 5 and maxCapacity was set to 257,
#0 0x00007f66ef9de61c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1 0x00007f66f0767f7f in Poco::EventImpl::waitImpl (this=0xc311d8) at src/Event_POSIX.cpp:78
#2 0x00007f66f07c3fe1 in wait (this=<optimized out>) at include/Poco/Event.h:119
#3 Poco::PooledThread::run (this=0xc31150) at src/ThreadPool.cpp:208
#4 0x00007f66f07bee1e in Poco::ThreadImpl::runnableEntry (pThread=0xc31178) at src/Thread_POSIX.cpp:378
#5 0x00007f66ef9da7b6 in start_thread () from /lib64/libpthread.so.0
#6 0x00007f66eefa0d6d in clone () from /lib64/libc.so.6
#7 0x0000000000000000 in ?? ()
The default value of 60 seconds for idletime of threadpool was not overridden. But we couldn't find the reason why the threads are in wait state.
Can anyone help in finding out the root cause. This is causing serious problem to us. Any help or way-forward is appreciated.