Troubleshooting
Problem
nSessionFactory::close( nSession ) eventually calls a Poco::Mutex timed_wait with a hardcoded timeout.
It doesn't happen on Mac, but only Linux.
Stack traces showing the following:
"<code>
#0 0x00007ffff705cd9c in __lll_timedlock_wait () from /lib64/libpthread.so.0
#1 0x00007ffff705780b in pthread_mutex_timedlock () from /lib64/libpthread.so.0
#2 0x00007fff69dae332 in Poco::MutexImpl::tryLockImpl(long) ()
from /home/test/code/um_test/apps/universal_messaging/c_src/cpp_lib/UMLibs/Lin/lib/x86_64/libPocoFoundation.so.16
#3 0x00007fff6a47697d in Poco::Mutex::tryLock (milliseconds=1000, this=0x7fff8002ff98)
at /FS/fslocal/jenkins_slave/workspace/9.7_build_cpp_linux_x86-64/changeManagement/Nirvana C++/Nirvana/../../lib/poco-1.4.6p4-all/Foundation/include/Poco/Mutex.h:247
#4 com::pcbsys::nirvana::client::nRunLoop::shutdown (this=<optimized out>)
at /FS/fslocal/jenkins_slave/workspace/9.7_build_cpp_linux_x86-64/changeManagement/Nirvana C++/Nirvana/client/nRunLoop.cpp:75
#5 0x00007fff6a4846ce in com::pcbsys::nirvana::client::nSession::mainClose (this=0x7fff8002fb80)
at /FS/fslocal/jenkins_slave/workspace/9.7_build_cpp_linux_x86-64/changeManagement/Nirvana C++/Nirvana/client/nSession.cpp:2080
#6 0x00007fff6a4a048b in com::pcbsys::nirvana::client::nSessionFactory::close (pSession=0x7fff8002fb80)"
If you look at the #3, wanting to stop it from hanging when closing connections.
Basically on MAC when say "close" it immediately returns, but on Linux it hangs for a decent amount of time everytime.
How is it possible to detect what's doing that?
How is it possible to avoid this issue?
Document Location
Worldwide
Log InLog in to view more of this document
Was this topic helpful?
Document Information
Modified date:
20 March 2025
UID
ibm17210466