You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@directory.apache.org by "Vinod Panicker (JIRA)" <ji...@apache.org> on 2005/12/06 08:21:10 UTC
[jira] Created: (DIRMINA-138) Deadlock in SSLFilter
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 server 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:102)
org.apache.mina.common.support.AbstractIoFilterChain$2.sessionClosed(AbstractIoFilterChain.java:163)
org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
org.apache.mina.filter.SSLFilter.sessionClosed(SSLFilter.java:376)
org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:687)
org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.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.SocketSessionImpl@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(AbstractIoFilterChain.java:52)
org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:773)
org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:213)
org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:556)
org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:547)
org.apache.mina.transport.socket.nio.support.SocketSessionImpl.write0(SocketSessionImpl.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.writeStreamError(AbstractHandler.java:306)
com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.retrieveAndSetActiveDefaultListItems(AbstractHandler.java:1522)
com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.isStanzaBlocked(AbstractHandler.java:828)
com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.writePresence(AsynchronousStanzaHandler.java:432)
com.geodesiconline.mims.protocol.xmpp.handler.CommonPresence.sendPresence(CommonPresence.java:170)
com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.broadcastPresenceContact(PresenceBroadcastHandler.java:237)
com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.processOutboundStanza(PresenceBroadcastHandler.java:71)
com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.sendInitialPresence(InitialPresenceHandler.java:140)
com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.processOutboundStanza(InitialPresenceHandler.java:89)
com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
com.geodesiconline.mims.protocol.xmpp.handler.PresenceHandler.processStanza(PresenceHandler.java:225)
com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.handleStanza(AbstractHandler.java:195)
com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.processData(XMPPIoHandler.java:464)
com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.messageReceived(XMPPIoHandler.java:180)
com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.notified(XMPPIoHandler.java:660)
com.geodesiconline.mims.event.EventManager$1.run(EventManager.java:196)
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
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/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Resolved: (DIRMINA-138) Deadlock in SSLFilter
Posted by "Trustin Lee (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DIRMINA-138?page=all ]
Trustin Lee resolved DIRMINA-138:
---------------------------------
Resolution: Fixed
I reorganized acquiring locks. Now it works without a glitch.
> Deadlock in SSLFilter
> ---------------------
>
> Key: DIRMINA-138
> URL: http://issues.apache.org/jira/browse/DIRMINA-138
> Project: Directory MINA
> Type: Bug
> Environment: Java 5, Linux FC3
> Reporter: Vinod Panicker
> Assignee: Trustin Lee
> Priority: Blocker
> Fix For: 0.9
>
> 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 server 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:102)
> org.apache.mina.common.support.AbstractIoFilterChain$2.sessionClosed(AbstractIoFilterChain.java:163)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.SSLFilter.sessionClosed(SSLFilter.java:376)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:687)
> org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.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.SocketSessionImpl@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(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:773)
> org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:213)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:556)
> org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:547)
> org.apache.mina.transport.socket.nio.support.SocketSessionImpl.write0(SocketSessionImpl.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.writeStreamError(AbstractHandler.java:306)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.retrieveAndSetActiveDefaultListItems(AbstractHandler.java:1522)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.isStanzaBlocked(AbstractHandler.java:828)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.writePresence(AsynchronousStanzaHandler.java:432)
> com.geodesiconline.mims.protocol.xmpp.handler.CommonPresence.sendPresence(CommonPresence.java:170)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.broadcastPresenceContact(PresenceBroadcastHandler.java:237)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.processOutboundStanza(PresenceBroadcastHandler.java:71)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.sendInitialPresence(InitialPresenceHandler.java:140)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.processOutboundStanza(InitialPresenceHandler.java:89)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceHandler.processStanza(PresenceHandler.java:225)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.handleStanza(AbstractHandler.java:195)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.processData(XMPPIoHandler.java:464)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.messageReceived(XMPPIoHandler.java:180)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.notified(XMPPIoHandler.java:660)
> com.geodesiconline.mims.event.EventManager$1.run(EventManager.java:196)
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 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/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Commented: (DIRMINA-138) Deadlock in SSLFilter
Posted by "Trustin Lee (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DIRMINA-138?page=comments#action_12359388 ]
Trustin Lee commented on DIRMINA-138:
-------------------------------------
Could you show us the thread dump for 0.8.1? I guess 0.8 doesn't get affected by this issue.
> 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 server 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:102)
> org.apache.mina.common.support.AbstractIoFilterChain$2.sessionClosed(AbstractIoFilterChain.java:163)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.SSLFilter.sessionClosed(SSLFilter.java:376)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:687)
> org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.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.SocketSessionImpl@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(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:773)
> org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:213)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:556)
> org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:547)
> org.apache.mina.transport.socket.nio.support.SocketSessionImpl.write0(SocketSessionImpl.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.writeStreamError(AbstractHandler.java:306)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.retrieveAndSetActiveDefaultListItems(AbstractHandler.java:1522)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.isStanzaBlocked(AbstractHandler.java:828)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.writePresence(AsynchronousStanzaHandler.java:432)
> com.geodesiconline.mims.protocol.xmpp.handler.CommonPresence.sendPresence(CommonPresence.java:170)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.broadcastPresenceContact(PresenceBroadcastHandler.java:237)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.processOutboundStanza(PresenceBroadcastHandler.java:71)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.sendInitialPresence(InitialPresenceHandler.java:140)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.processOutboundStanza(InitialPresenceHandler.java:89)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceHandler.processStanza(PresenceHandler.java:225)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.handleStanza(AbstractHandler.java:195)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.processData(XMPPIoHandler.java:464)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.messageReceived(XMPPIoHandler.java:180)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.notified(XMPPIoHandler.java:660)
> com.geodesiconline.mims.event.EventManager$1.run(EventManager.java:196)
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 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/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Closed: (DIRMINA-138) Deadlock in SSLFilter
Posted by "Vinod Panicker (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DIRMINA-138?page=all ]
Vinod Panicker closed DIRMINA-138:
----------------------------------
verified fixed.
> Deadlock in SSLFilter
> ---------------------
>
> Key: DIRMINA-138
> URL: http://issues.apache.org/jira/browse/DIRMINA-138
> Project: Directory MINA
> Type: Bug
> Environment: Java 5, Linux FC3
> Reporter: Vinod Panicker
> Assignee: Trustin Lee
> Priority: Blocker
> Fix For: 0.9
>
> 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 server 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:102)
> org.apache.mina.common.support.AbstractIoFilterChain$2.sessionClosed(AbstractIoFilterChain.java:163)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.SSLFilter.sessionClosed(SSLFilter.java:376)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:687)
> org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.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.SocketSessionImpl@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(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:773)
> org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:213)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:556)
> org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:547)
> org.apache.mina.transport.socket.nio.support.SocketSessionImpl.write0(SocketSessionImpl.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.writeStreamError(AbstractHandler.java:306)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.retrieveAndSetActiveDefaultListItems(AbstractHandler.java:1522)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.isStanzaBlocked(AbstractHandler.java:828)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.writePresence(AsynchronousStanzaHandler.java:432)
> com.geodesiconline.mims.protocol.xmpp.handler.CommonPresence.sendPresence(CommonPresence.java:170)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.broadcastPresenceContact(PresenceBroadcastHandler.java:237)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.processOutboundStanza(PresenceBroadcastHandler.java:71)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.sendInitialPresence(InitialPresenceHandler.java:140)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.processOutboundStanza(InitialPresenceHandler.java:89)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceHandler.processStanza(PresenceHandler.java:225)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.handleStanza(AbstractHandler.java:195)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.processData(XMPPIoHandler.java:464)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.messageReceived(XMPPIoHandler.java:180)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.notified(XMPPIoHandler.java:660)
> com.geodesiconline.mims.event.EventManager$1.run(EventManager.java:196)
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 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/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Updated: (DIRMINA-138) Deadlock in SSLFilter
Posted by "Trustin Lee (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DIRMINA-138?page=all ]
Trustin Lee updated DIRMINA-138:
--------------------------------
Version: (was: 0.8.1)
Assign To: Trustin Lee
> Deadlock in SSLFilter
> ---------------------
>
> Key: DIRMINA-138
> URL: http://issues.apache.org/jira/browse/DIRMINA-138
> Project: Directory MINA
> Type: Bug
> Environment: Java 5, Linux FC3
> Reporter: Vinod Panicker
> Assignee: Trustin Lee
> Priority: Blocker
> Fix For: 0.9
>
> 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 server 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:102)
> org.apache.mina.common.support.AbstractIoFilterChain$2.sessionClosed(AbstractIoFilterChain.java:163)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.SSLFilter.sessionClosed(SSLFilter.java:376)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:687)
> org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.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.SocketSessionImpl@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(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:773)
> org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:213)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:556)
> org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:547)
> org.apache.mina.transport.socket.nio.support.SocketSessionImpl.write0(SocketSessionImpl.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.writeStreamError(AbstractHandler.java:306)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.retrieveAndSetActiveDefaultListItems(AbstractHandler.java:1522)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.isStanzaBlocked(AbstractHandler.java:828)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.writePresence(AsynchronousStanzaHandler.java:432)
> com.geodesiconline.mims.protocol.xmpp.handler.CommonPresence.sendPresence(CommonPresence.java:170)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.broadcastPresenceContact(PresenceBroadcastHandler.java:237)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.processOutboundStanza(PresenceBroadcastHandler.java:71)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.sendInitialPresence(InitialPresenceHandler.java:140)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.processOutboundStanza(InitialPresenceHandler.java:89)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceHandler.processStanza(PresenceHandler.java:225)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.handleStanza(AbstractHandler.java:195)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.processData(XMPPIoHandler.java:464)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.messageReceived(XMPPIoHandler.java:180)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.notified(XMPPIoHandler.java:660)
> com.geodesiconline.mims.event.EventManager$1.run(EventManager.java:196)
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 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/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
Re: [jira] Commented: (DIRMINA-138) Deadlock in SSLFilter
Posted by Maarten Bosteels <m....@pandora.be>.
pfff, you scared the hell out of me.
We have a rather important launch tomorrow, and our software uses
mina-0.8.1 and SSLFilter.
I have done a lot of stress testing, but the idea that we could possibly
get into a deadlock...my boss would kill me
So, this does not affect 0.8.1, right ?
Thanks again for this great project, by the way.
Maarten
Vinod Panicker (JIRA) wrote:
> [ http://issues.apache.org/jira/browse/DIRMINA-138?page=comments#action_12359389 ]
>
>Vinod Panicker commented on DIRMINA-138:
>----------------------------------------
>
>Sorry... should have been 0.9.0-SNAPSHOT
>
>
>
>>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 server 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:102)
>>org.apache.mina.common.support.AbstractIoFilterChain$2.sessionClosed(AbstractIoFilterChain.java:163)
>>org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
>>org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
>>org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
>>org.apache.mina.filter.SSLFilter.sessionClosed(SSLFilter.java:376)
>>org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
>>org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
>>org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
>>org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:687)
>>org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.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.SocketSessionImpl@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(AbstractIoFilterChain.java:52)
>>org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:773)
>>org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:213)
>>org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:556)
>>org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:547)
>>org.apache.mina.transport.socket.nio.support.SocketSessionImpl.write0(SocketSessionImpl.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.writeStreamError(AbstractHandler.java:306)
>>com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.retrieveAndSetActiveDefaultListItems(AbstractHandler.java:1522)
>>com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.isStanzaBlocked(AbstractHandler.java:828)
>>com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.writePresence(AsynchronousStanzaHandler.java:432)
>>com.geodesiconline.mims.protocol.xmpp.handler.CommonPresence.sendPresence(CommonPresence.java:170)
>>com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.broadcastPresenceContact(PresenceBroadcastHandler.java:237)
>>com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.processOutboundStanza(PresenceBroadcastHandler.java:71)
>>com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
>>com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.sendInitialPresence(InitialPresenceHandler.java:140)
>>com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.processOutboundStanza(InitialPresenceHandler.java:89)
>>com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
>>com.geodesiconline.mims.protocol.xmpp.handler.PresenceHandler.processStanza(PresenceHandler.java:225)
>>com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.handleStanza(AbstractHandler.java:195)
>>com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.processData(XMPPIoHandler.java:464)
>>com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.messageReceived(XMPPIoHandler.java:180)
>>com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.notified(XMPPIoHandler.java:660)
>>com.geodesiconline.mims.event.EventManager$1.run(EventManager.java:196)
>>java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>>java.lang.Thread.run(Thread.java:595)
>>All the other threads are queued up behind Thread-20
>>
>>
>
>
>
[jira] Commented: (DIRMINA-138) Deadlock in SSLFilter
Posted by "Vinod Panicker (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DIRMINA-138?page=comments#action_12359389 ]
Vinod Panicker commented on DIRMINA-138:
----------------------------------------
Sorry... should have been 0.9.0-SNAPSHOT
> 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 server 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:102)
> org.apache.mina.common.support.AbstractIoFilterChain$2.sessionClosed(AbstractIoFilterChain.java:163)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.SSLFilter.sessionClosed(SSLFilter.java:376)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:687)
> org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.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.SocketSessionImpl@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(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:773)
> org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:213)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:556)
> org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:547)
> org.apache.mina.transport.socket.nio.support.SocketSessionImpl.write0(SocketSessionImpl.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.writeStreamError(AbstractHandler.java:306)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.retrieveAndSetActiveDefaultListItems(AbstractHandler.java:1522)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.isStanzaBlocked(AbstractHandler.java:828)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.writePresence(AsynchronousStanzaHandler.java:432)
> com.geodesiconline.mims.protocol.xmpp.handler.CommonPresence.sendPresence(CommonPresence.java:170)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.broadcastPresenceContact(PresenceBroadcastHandler.java:237)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.processOutboundStanza(PresenceBroadcastHandler.java:71)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.sendInitialPresence(InitialPresenceHandler.java:140)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.processOutboundStanza(InitialPresenceHandler.java:89)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceHandler.processStanza(PresenceHandler.java:225)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.handleStanza(AbstractHandler.java:195)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.processData(XMPPIoHandler.java:464)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.messageReceived(XMPPIoHandler.java:180)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.notified(XMPPIoHandler.java:660)
> com.geodesiconline.mims.event.EventManager$1.run(EventManager.java:196)
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 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/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Resolved: (DIRMINA-138) Deadlock in SSLFilter
Posted by "Trustin Lee (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DIRMINA-138?page=all ]
Trustin Lee resolved DIRMINA-138:
---------------------------------
Fix Version: 0.9
Resolution: Fixed
It was because of ioLock introduced recently. I changed BaseIoSession use itself as a lock to resolve this issue.
> Deadlock in SSLFilter
> ---------------------
>
> Key: DIRMINA-138
> URL: http://issues.apache.org/jira/browse/DIRMINA-138
> Project: Directory MINA
> Type: Bug
> Environment: Java 5, Linux FC3
> Reporter: Vinod Panicker
> Assignee: Trustin Lee
> Priority: Blocker
> Fix For: 0.9
>
> 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 server 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:102)
> org.apache.mina.common.support.AbstractIoFilterChain$2.sessionClosed(AbstractIoFilterChain.java:163)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.SSLFilter.sessionClosed(SSLFilter.java:376)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:687)
> org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.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.SocketSessionImpl@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(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:773)
> org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:213)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:556)
> org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:547)
> org.apache.mina.transport.socket.nio.support.SocketSessionImpl.write0(SocketSessionImpl.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.writeStreamError(AbstractHandler.java:306)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.retrieveAndSetActiveDefaultListItems(AbstractHandler.java:1522)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.isStanzaBlocked(AbstractHandler.java:828)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.writePresence(AsynchronousStanzaHandler.java:432)
> com.geodesiconline.mims.protocol.xmpp.handler.CommonPresence.sendPresence(CommonPresence.java:170)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.broadcastPresenceContact(PresenceBroadcastHandler.java:237)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.processOutboundStanza(PresenceBroadcastHandler.java:71)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.sendInitialPresence(InitialPresenceHandler.java:140)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.processOutboundStanza(InitialPresenceHandler.java:89)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceHandler.processStanza(PresenceHandler.java:225)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.handleStanza(AbstractHandler.java:195)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.processData(XMPPIoHandler.java:464)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.messageReceived(XMPPIoHandler.java:180)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.notified(XMPPIoHandler.java:660)
> com.geodesiconline.mims.event.EventManager$1.run(EventManager.java:196)
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 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/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
[jira] Reopened: (DIRMINA-138) Deadlock in SSLFilter
Posted by "Trustin Lee (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/DIRMINA-138?page=all ]
Trustin Lee reopened DIRMINA-138:
---------------------------------
I need to investigate on this issue a little bit more.
> Deadlock in SSLFilter
> ---------------------
>
> Key: DIRMINA-138
> URL: http://issues.apache.org/jira/browse/DIRMINA-138
> Project: Directory MINA
> Type: Bug
> Environment: Java 5, Linux FC3
> Reporter: Vinod Panicker
> Assignee: Trustin Lee
> Priority: Blocker
> Fix For: 0.9
>
> 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 server 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:102)
> org.apache.mina.common.support.AbstractIoFilterChain$2.sessionClosed(AbstractIoFilterChain.java:163)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.SSLFilter.sessionClosed(SSLFilter.java:376)
> org.apache.mina.common.support.AbstractIoFilterChain.callNextSessionClosed(AbstractIoFilterChain.java:453)
> org.apache.mina.common.support.AbstractIoFilterChain.access$700(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.sessionClosed(AbstractIoFilterChain.java:742)
> org.apache.mina.filter.ThreadPoolFilter.processEvent(ThreadPoolFilter.java:687)
> org.apache.mina.filter.ThreadPoolFilter$Worker.processEvents(ThreadPoolFilter.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.SocketSessionImpl@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(AbstractIoFilterChain.java:52)
> org.apache.mina.common.support.AbstractIoFilterChain$EntryImpl$1.filterWrite(AbstractIoFilterChain.java:773)
> org.apache.mina.common.support.AbstractIoFilterChain$2.filterWrite(AbstractIoFilterChain.java:213)
> org.apache.mina.common.support.AbstractIoFilterChain.callPreviousFilterWrite(AbstractIoFilterChain.java:556)
> org.apache.mina.common.support.AbstractIoFilterChain.filterWrite(AbstractIoFilterChain.java:547)
> org.apache.mina.transport.socket.nio.support.SocketSessionImpl.write0(SocketSessionImpl.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.writeStreamError(AbstractHandler.java:306)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.retrieveAndSetActiveDefaultListItems(AbstractHandler.java:1522)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.isStanzaBlocked(AbstractHandler.java:828)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.writePresence(AsynchronousStanzaHandler.java:432)
> com.geodesiconline.mims.protocol.xmpp.handler.CommonPresence.sendPresence(CommonPresence.java:170)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.broadcastPresenceContact(PresenceBroadcastHandler.java:237)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceBroadcastHandler.processOutboundStanza(PresenceBroadcastHandler.java:71)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.sendInitialPresence(InitialPresenceHandler.java:140)
> com.geodesiconline.mims.protocol.xmpp.handler.InitialPresenceHandler.processOutboundStanza(InitialPresenceHandler.java:89)
> com.geodesiconline.mims.protocol.xmpp.handler.AsynchronousStanzaHandler.processStanza(AsynchronousStanzaHandler.java:320)
> com.geodesiconline.mims.protocol.xmpp.handler.PresenceHandler.processStanza(PresenceHandler.java:225)
> com.geodesiconline.mims.protocol.xmpp.handler.AbstractHandler.handleStanza(AbstractHandler.java:195)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.processData(XMPPIoHandler.java:464)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.messageReceived(XMPPIoHandler.java:180)
> com.geodesiconline.mims.protocol.xmpp.io.XMPPIoHandler.notified(XMPPIoHandler.java:660)
> com.geodesiconline.mims.event.EventManager$1.run(EventManager.java:196)
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
> 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/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira