[ https://issues.apache.org/jira/browse/DIRMINA-893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16386323#comment-16386323 ]
Jonathan Valliere commented on DIRMINA-893: ------------------------------------------- Seems to me like a deadlock check should not be enabled by default. The whole idea of looking through a stack trace sounds like a bad idea for whatever goal it is trying to accomplish. > 'fake deadlock' causes IoFuture.await() to malfunction > ------------------------------------------------------ > > Key: DIRMINA-893 > URL: https://issues.apache.org/jira/browse/DIRMINA-893 > Project: MINA > Issue Type: Bug > Components: Core > Affects Versions: 2.0.2 > Environment: XP, JDK 1.6 > Reporter: Carusyte > Priority: Critical > Labels: deadlock > Fix For: 2.0.14 > > > I am using a NioSocketConnector inside a NioSocketAcceptor (like a message > broker / proxy app), and I need to use the connector in synchronous mode > therefore I have to call IoFuture.await() or the method alike. > The problem is, as I look into the source code, when it comes to > ConnectionFuture.await(), if the connection is not ready, > DefaultIoFuture.checkDeadLock() will be called, iterating through the stack > trace of current thread, checking to see if AbstractPollingIoProcessor is > involved in the trace, and if so, throw a dead lock exception. The point is, > IMHO, this AbstractPollingIoProcessor is created by the NioSocketAcceptor, > not by the NioSocketConnector, and thus shouldn't be interpreted as a dead > lock threat. > How can I work around this issue? -- This message was sent by Atlassian JIRA (v7.6.3#76005)