Yes, that is the patch that I attached. It is simply executing the test in AbstractIoServiceTest in a loop.

Thanks,
Chris.

On 09/02/18 14:47, Jonathan Valliere wrote:
It’s been a while, I forget, is there code to run the brute force test 
available?

On Fri, Feb 9, 2018 at 7:56 AM Christoph John <christoph.j...@macd.com <mailto:christoph.j...@macd.com>> wrote:

    Hi againafter some time. ;)

    I was now able to reproduce the problem with a MINA test. Or let's say I 
did the brute-force
    approach by re-running one test in an endless loop.
    I have attached apatch of the test (against 
https://github.com/apache/mina/tree/2.0) and a
    stack trace. After a few loops the test is stuck. You can see a lot of 
threads hanging in
    dispose() and the test is stuck when it tries to dispose the acceptor.

    What is a little strange is that the javadoc says that 
connector.dispose(TRUE) should not be
    called from an IoFutureListener, but in the test it is done anyway. 
However, changing the
    parameter to FALSE does not help either.

    Is there anything that can be done to prevent this hang?

    Many thanks in advance for your help and best regards,
    Chris.


    On 15/12/17 13:04, Christoph John wrote:
    Hi again,

    in the meantime I probably figured out where the problem is, but still have 
to do some more
    teststo be sure.
    I now have added logic to iterate over the managed sessions of an 
IoConnector and close them
    before calling IoConnector.dispose().

    I will let you know if this solved the problem.

    Thanks,
    Chris.

    On 16/10/17 16:20, Jonathan Valliere wrote:
    If you can figure out a reproducible test case then I'm sure that we can 
fix it.

    On Mon, Oct 16, 2017 at 10:01 AM Christoph John <christoph.j...@macd.com
    <mailto:christoph.j...@macd.com> <mailto:christoph.j...@macd.com>
    <mailto:christoph.j...@macd.com>> wrote:

        Hi Emmanuel,

        yes, but unfortunately it did not help.

        Thanks,
        Chris.


        On 16/10/17 15:41, Emmanuel Lécharny wrote:
        > Hi Christoph,
        >
        >
        > have you tried with this patch ? :
        >
        >
        > diff --git
        > 
a/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
        > 
b/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
        > index 50ebd4e..575b2f4 100644
        > ---
        > 
a/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
        > +++
        > 
b/mina-core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoProcessor.java
        > @@ -695,8 +695,9 @@
        >                           for (Iterator<S> i = allSessions(); 
i.hasNext();) {
        >                               IoSession session = i.next();
        >
        > + scheduleRemove((S) session);
        > +
        >                               if (session.isActive()) {
        > - scheduleRemove((S) session);
        >                                   hasKeys = true;
        >                               }
        >                           }
        >
        >



-- Christoph John
    Development & Support
    T +49 241 557080-28
    christoph.j...@macd.com <mailto:christoph.j...@macd.com>

    MACD GmbH
    Oppenhoffallee 103
    D-52066 Aachen
    www.macd.com <http://www.macd.com>

    Amtsgericht Aachen: HRB 8151
    Ust.-Id: DE 813021663
    Geschäftsführer: George Macdonald


--
Christoph John
Development & Support
T +49 241 557080-28
christoph.j...@macd.com

MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
www.macd.com

Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663
Geschäftsführer: George Macdonald

Reply via email to