Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 40311 invoked from network); 6 Dec 2005 10:53:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 6 Dec 2005 10:53:43 -0000 Received: (qmail 97409 invoked by uid 500); 6 Dec 2005 10:53:35 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 97352 invoked by uid 500); 6 Dec 2005 10:53:34 -0000 Mailing-List: contact dev-help@directory.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Apache Directory Developers List" Delivered-To: mailing list dev@directory.apache.org Received: (qmail 97331 invoked by uid 99); 6 Dec 2005 10:53:34 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Dec 2005 02:53:34 -0800 X-ASF-Spam-Status: No, hits=0.9 required=10.0 tests=HTML_10_20,HTML_MESSAGE X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [212.190.80.118] (HELO smtp.dns.be) (212.190.80.118) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Dec 2005 02:53:33 -0800 Received: from localhost (smtp-new.dns.be [127.0.0.1]) by smtp.dns.be (Postfix) with ESMTP id 3B60312533A for ; Tue, 6 Dec 2005 11:53:10 +0100 (CET) Received: from smtp.dns.be ([127.0.0.1]) by localhost (smtp.dns.be [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 09251-01 for ; Tue, 6 Dec 2005 11:53:07 +0100 (CET) Received: from [192.168.192.9] (mortimer.dns.be [192.168.192.9]) by smtp.dns.be (Postfix) with ESMTP id B91F1125338 for ; Tue, 6 Dec 2005 11:53:07 +0100 (CET) Message-ID: <43956D93.5030609@pandora.be> Date: Tue, 06 Dec 2005 11:53:07 +0100 From: Maarten Bosteels User-Agent: Mozilla Thunderbird 1.0.2-1.4.1.centos4 (X11/20050323) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Apache Directory Developers List Subject: Re: [jira] Commented: (DIRMINA-138) Deadlock in SSLFilter References: <1463061321.1133855648239.JavaMail.jira@ajax.apache.org> In-Reply-To: <1463061321.1133855648239.JavaMail.jira@ajax.apache.org> Content-Type: multipart/alternative; boundary="------------010703070607010002020103" X-Virus-Scanned: amavisd-new at dns.be X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N This is a multi-part message in MIME format. --------------010703070607010002020103 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit 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 >> >> > > > --------------010703070607010002020103 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit 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
    

  

--------------010703070607010002020103--