Status: Accepted
Owner: [email protected]
Labels: Type-Defect Priority-Medium JBCP12-Patch-1.2.11
Component-Sip-Servlets JBCP5-Patch-5.1.0 MSS-1.6.0.FINAL Roadmap-Fix
New issue 2397 by [email protected]: SipApplicationDispatchImpl async
task pool gets deadlocked one thread at time and leaking
http://code.google.com/p/mobicents/issues/detail?id=2397
Linked to
https://c.na7.visual.force.com/apex/Case_View?id=500A0000006K6F5IAK&sfdc.override=1
Thread get deadlocked one by one in this state:
pool-3-thread-1 ( to 4)
......
java.util.concurrent.Semaphore.acquireUninterruptibly()
org.mobicents.servlet.sip.startup.SipStandardContext.enterSipApp(MobicentsSipApplicationSession,
MobicentsSipSession)
org.mobicents.servlet.sip.core.SipApplicationDispatcherImpl$5.run()
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Runnable)
java.util.concurrent.ThreadPoolExecutor$Worker.run()
java.lang.Thread.run()
The owner of the semaphore is unknown but either way we should not hang the
thread like this. A reasonable timeout value of 30 seconds should be
assigned and then we should watch the semaphore if it goes out of sync.
I am also testing a monitored semaphore that we should use to determine the
owner but since it is not very well tested we will just rely on the timeout
for the time being.