Return-Path: Delivered-To: apmail-directory-dev-archive@www.apache.org Received: (qmail 57522 invoked from network); 6 Dec 2005 08:01:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 6 Dec 2005 08:01:34 -0000 Received: (qmail 73829 invoked by uid 500); 6 Dec 2005 08:01:32 -0000 Delivered-To: apmail-directory-dev-archive@directory.apache.org Received: (qmail 73725 invoked by uid 500); 6 Dec 2005 08:01:31 -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 73695 invoked by uid 99); 6 Dec 2005 08:01:31 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from [192.87.106.226] (HELO ajax.apache.org) (192.87.106.226) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 06 Dec 2005 00:01:30 -0800 Received: from ajax.apache.org (ajax.apache.org [127.0.0.1]) by ajax.apache.org (Postfix) with ESMTP id 237AF180 for ; Tue, 6 Dec 2005 09:01:09 +0100 (CET) Message-ID: <1228838099.1133856069143.JavaMail.jira@ajax.apache.org> Date: Tue, 6 Dec 2005 09:01:09 +0100 (CET) From: "Trustin Lee (JIRA)" To: dev@directory.apache.org Subject: [jira] Resolved: (DIRMINA-138) Deadlock in SSLFilter In-Reply-To: <66591721.1133853670497.JavaMail.jira@ajax.apache.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ 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