Affects Version/s: current
Fix Version/s: None
After I updated the SIP library, I keep seeing errors:
2010-12-14 21:28:49,165 [Timer-12] DEBUG - - Trying to audit active calls
2010-12-14 21:28:59,171 [Timer-12] DEBUG - - SIP stack has dead threads (this indicates leaks!)
2010-12-14 21:28:59,171 [Timer-12] DEBUG - - Thread Auditor Report:
Thread [AlarmPoint SIP Clientsip431@192.168.170.68:5064-UDPMessageChannelThread-48] has failed to respond to an audit request.
Thread [AlarmPoint SIP Clientsip431@192.168.170.68:5064-UDPMessageChannelThread-91] has failed to respond to an audit request.
In my code, we do
This enables the auditor in SIP library. The library has mechanism to monitor if the thread is still alive or not. A monitored thread must call threadHandle.ping() to inform the auditor that the thread is still alive in 10 seconds (10000ms is 10 seconds). However, the code in UDPMessageChannel.run(), the threads could be stuck to wait for new packet in a blocking queue. The waiting time is infinite. So if there is no packet in the queue, all threads are stuck there and have no chance to call ping method to inform that the threads are still alive.
I also notice in the old version (like version 138), the code is correct. And it worked fine.
The patch is attached. It combines code in version 138 and current trunk code.