12-06-05 07:45 AM
Deadlock in SSLFilter
---------------------
Key: DIRMINA-138
URL: http://issues.apache.org/jira/browse/DIRMINA-138
Project: Directory MINA
Type: Bug
Versions: 0.8.1
Environment: Java 5, Linux FC3
Reporter: Vinod Panicker
Priority: Blocker
Found a deadlock in the SSLFilter implementation. This has happened quite a
few times, even with the latest 0.9 snapshots.
This deadlock is causing *all* writes to block, effectively bringing the ser
ver to a standstill.
Stack trace of IoThreadPool-1 -
Name: IoThreadPool-1
State: BLOCKED on java.lang.Object@ccbab7 owned by: Thread-20
Total blocked: 6 Total waited: 27
Stack trace:
org.apache.mina.common.support.BaseIoSession.close(BaseIoSession.java:109)
com.geodesiconline.mims.io.MIMSIoSession.close(MIMSIoSession.java:56)
com.geodesiconline.mims.io.LocalIoSession.close(LocalIoSession.java:190)
com.geodesiconline.mims.io.IoHandlerImpl.sessionClosed(IoHandlerImpl.java:10
2)
org.apache.mina.common.support.AbstractIoFilterChain$2.sessionClosed(Abstrac
tIoFilterChain.java:163)
org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(A
bstractIoFilterChain.java:453)
org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFi
lterChain.java:52)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClos
ed(AbstractIoFilterChain.java:742)
org.apache.mina.filter.SSLFilter.sessionClosed(SSLFilter.java:376)
org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(A
bstractIoFilterChain.java:453)
org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFi
lterChain.java:52)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClos
ed(AbstractIoFilterChain.java:742)
org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:6
87)
org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilte
r.java:421)
org.apache.mina.filter.ThreadPoolFilter$Worker.run(ThreadPoolFilter.java:376
)
Stack trace of Thread-20 -
Name: Thread-20
State: BLOCKED on org.apache.mina.transport.socket.nio.support.SocketSession
Impl@bebb88 owned by: IoThreadPool-1
Total blocked: 5 Total waited: 5
Stack trace:
org.apache.mina.filter.SSLFilter.filterWrite(SSLFilter.java:493)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite
(AbstractIoFilterChain.java:556)
org.apache.mina.common.support.AbstractIoFilterChain.access$1200(AbstractIoF
ilterChain.java:52)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite
(AbstractIoFilterChain.java:773)
org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractI
oFilterChain.java:213)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite
(AbstractIoFilterChain.java:556)
org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoF
ilterChain.java:547)
org.apache.mina.transport.socket.nio.support.SocketSessionImpl.write0(Socket
SessionImpl.java:131)
org.apache.mina.common.support.BaseIoSession.write(BaseIoSession.java:143)
com.geodesiconline.mims.io.MIMSIoSession.write(MIMSIoSession.java:127)
com.geodesiconline.mims.io.LocalIoSession.write(LocalIoSession.java:133)
com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.writeStreamErr
or(AbstractHandler.java:306)
com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.retrieveAndSet
ActiveDefaultListItems(AbstractHandler.java:1522)
com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.isStanzaBlocke
d(AbstractHandler.java:828)
com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.writ
ePresence(AsynchronousStanzaHandler.java:432)
com.geodesiconline.mims.protocol.xmpp.handler.CommonPresence.sendPresence(Co
mmonPresence.java:170)
com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.broad
castPresenceContact(PresenceBroadcastHan
dler.java:237)
com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.proce
ssOutboundStanza(PresenceBroadcastHandle
r.java:71)
com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.proc
essStanza(AsynchronousStanzaHandler.java:320)
com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.sendIni
tialPresence(InitialPresenceHandler.java:140)
com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.process
OutboundStanza(InitialPresenceHandler.java:89)
com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.proc
essStanza(AsynchronousStanzaHandler.java:320)
com.geodesiconline.mims.protocol.xmpp.handler.PresenceHandler.processStanza(
PresenceHandler.java:225)
com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.handleStanza(A
bstractHandler.java:195)
com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.processData(XMPPIoHan
dler.java:464)
com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.messageReceived(XMPPI
oHandler.java:180)
com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.notified(XMPPIoHandle
r.java:660)
com.geodesiconline.mims.event.EventManager$1.run(EventManager.java:196)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.ja
va:650)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6
75)
java.lang.Thread.run(Thread.java:595)
All the other threads are queued up behind Thread-20
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secur...nistrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[ Post a follow-up to this message ]
|