mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Emmanuel Lecharny (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DIRMINA-893) 'fake deadlock' causes IoFuture.await() to malfunction
Date Mon, 05 Mar 2018 16:56:00 GMT

    [ https://issues.apache.org/jira/browse/DIRMINA-893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16386347#comment-16386347

Emmanuel Lecharny commented on DIRMINA-893:

The check was added a while back, to solve [DIRMINA-456|https://issues.apache.org/jira/browse/DIRMINA-456].

The inner reference gives a 404, so here it is :

[how to guarantee flushed write in encoder - mina-2.0.0-M1-snapshot |http://apache-mina.10907.n7.nabble.com/how-to-guarantee-flushed-write-in-encoder-mina-2-0-0-M1-snapshot-td17588.html]

> '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

View raw message