Hi,

thanks for the patch. I am using 2.0.16.
Oddly enough when I run all MINA tests then the ConnectorTest is hanging on my machine in the testTCPWithSSL method. But I don't know if this is related. (stack trace attached)
However, I will try out your patch and let you know.

Thanks again,
Chris.


On 10/10/17 20:47, Jonathan Valliere wrote:
Which version of Mina are you using or are you building from Git?

Please pull tag/2.0.16 from GIT and apply the attached patch. Let me know if that fixes your problem.  Sorry about the excess changes in the patch; the java code formatter made a lot of changes. If this works then we can create a JIRA bug.

On Tue, Oct 10, 2017 at 4:49 AM, Christoph John <[email protected] <mailto:[email protected]>> wrote:

    Hi,

    thanks for your reply.
    In fact it is hanging forever, i.e. until the process stops. I have 
attached the original
    message I've sent to the mailing list. It only does occur sometimes for SSL 
connections with a
    failing handshake.
    Unfortunately I have no reproducable example for MINA itself. I could 
probably put something
    together for QuickFIX/J (the open source project I am working on).

    My OS is Ubuntu 14.04.5, JDK1.8_144 and the problem appears not so often on 
my machine but
    almost every time on the TravisCI build server
    (https://travis-ci.org/quickfix-j/quickfixj/builds/283210509
    <https://travis-ci.org/quickfix-j/quickfixj/builds/283210509>). As a 
result, some of the SSL
    related tests are failing. TravisCI has almost similar setup with 
JDK1.8_144 and Debian Linux.

    What would be a good starting point to create a test? I see that there is 
an SslTest in the
    mina-core module. So I probably have to change that test to repeatedly 
connect and get a
    handshake exception everytime and then take a number of stack traces.

    Thanks,
    Chris.





    On 09/10/17 14:51, Jonathan Valliere wrote:
    What OS / Java Version / etc;  Do you have a reproducible example?

    On Mon, Oct 9, 2017 at 8:34 AM, Jonathan Valliere <[email protected]
    <mailto:[email protected]>> wrote:

        Let me know if its hanging more than 1s

        On Mon, Oct 9, 2017 at 5:08 AM, Christoph John <[email protected]
        <mailto:[email protected]>> wrote:

            Hi,

            I have another question regarding this one. There is
            https://issues.apache.org/jira/browse/DIRMINA-1060
            <https://issues.apache.org/jira/browse/DIRMINA-1060> which also 
sounds a little like
            the problem I'm having. When the connectors are hanging in the call 
to dispose() then
            there always is an accompanying NioProcessor which is hanging in 
select().

            Example:
            "NioProcessor-60" #100328 prio=5 os_prio=0 tid=0x00007f2a10003000 
nid=0x2e71 runnable
            [0x00007f2a388b1000]
               java.lang.Thread.State: RUNNABLE
                    at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
                    at 
sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
                    at 
sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
                    at 
sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
                    - locked <0x00000000e239c118> (a sun.nio.ch.Util$3)
                    - locked <0x00000000e239c108> (a 
java.util.Collections$UnmodifiableSet)
                    - locked <0x00000000e239bed0> (a 
sun.nio.ch.EPollSelectorImpl)
                    at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
                    at 
org.apache.mina.transport.socket.nio.NioProcessor.select(NioProcessor.java:98)
                    at
            
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1075)
                    at
            
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
                    at
            
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                    at
            
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                    at java.lang.Thread.run(Thread.java:748)


            "NioSocketConnector-38" #100326 prio=5 os_prio=0 
tid=0x00007f2a3001d800 nid=0x2e6f in
            Object.wait() [0x00007f2a1f2d3000]
               java.lang.Thread.State: TIMED_WAITING (on object monitor)
                    at java.lang.Object.wait(Native Method)
                    at org.apache.mina.core.future.De
            
<http://org.apache.mina.core.future.De>faultIoFuture.await0(DefaultIoFuture.java:209)
                    - locked <0x00000000e246ae08> (a 
org.apache.mina.core.future.De
            <http://org.apache.mina.core.future.De>faultIoFuture)
                    at org.apache.mina.core.future.De
            
<http://org.apache.mina.core.future.De>faultIoFuture.awaitUninterruptibly(DefaultIoFuture.java:141)
                    at
            
org.apache.mina.core.polling.AbstractPollingIoProcessor.dispose(AbstractPollingIoProcessor.java:188)
                    at
            
org.apache.mina.core.service.SimpleIoProcessorPool.dispose(SimpleIoProcessorPool.java:329)
                    - locked <0x00000000e246ae40> (a java.lang.Object)
                    at
            
org.apache.mina.core.polling.AbstractPollingIoConnector$Connector.run(AbstractPollingIoConnector.java:582)
                    at
            
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
                    at
            
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
                    at
            
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
                    at java.lang.Thread.run(Thread.java:748)


            At first I thought that this was related to
            https://issues.apache.org/jira/browse/DIRMINA-1059
            <https://issues.apache.org/jira/browse/DIRMINA-1059>. In that 
ticket the
            synchronization was improved. However, I am also running into the 
problem with a
            build of 2.0.17-SNAPSHOT where DIRMINA-1059 was solved.

            So my only hope was DIRMINA-1060 ;) Could this improve the 
situation?

            Thanks,
            Chris.


-- Christoph John
            Development & Support
            Direct: +49 241 557080-28 <tel:%2B49%20241%20557080-28>
            Mailto:[email protected] <mailto:[email protected]>



            http://www.macd.com <http://www.macd.com/>
            
----------------------------------------------------------------------------------------------------

            
----------------------------------------------------------------------------------------------------
            MACD GmbH
            Oppenhoffallee 103 
<https://maps.google.com/?q=Oppenhoffallee+103&entry=gmail&source=g>
            D-52066 Aachen
            Tel: +49 241 557080-0 <tel:%2B49%20241%20557080-0> | Fax: +49 241 
557080-10
            <tel:%2B49%20241%20557080-10>
                     Amtsgericht Aachen: HRB 8151
            Ust.-Id: DE 813021663

            Geschäftsführer: George Macdonald
            
----------------------------------------------------------------------------------------------------

            
----------------------------------------------------------------------------------------------------

            take care of the environment - print only if necessary




-- Christoph John
    Development & Support
    Direct: +49 241 557080-28 <tel:+49%20241%2055708028>
    Mailto:[email protected]
        


    http://www.macd.com <http://www.macd.com/>
    
----------------------------------------------------------------------------------------------------
        
    
----------------------------------------------------------------------------------------------------
    MACD GmbH
    Oppenhoffallee 103
    D-52066 Aachen
    Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
    Ust.-Id: DE 813021663

    Geschäftsführer: George Macdonald
    
----------------------------------------------------------------------------------------------------
        
    
----------------------------------------------------------------------------------------------------

    take care of the environment - print only if necessary


    ---------- Forwarded message ----------
    From: Christoph John <[email protected] 
<mailto:[email protected]>>
    To: [email protected] <mailto:[email protected]>
    Cc:
    Bcc:
    Date: Wed, 26 Jul 2017 13:59:58 +0200
    Subject: leaking NioProcessors/NioSocketConnectors hanging in call to 
dispose
    Hi,

    I am a developer and maintainer of the QuickFIX/J project
    (https://github.com/quickfix-j/quickfixj 
<https://github.com/quickfix-j/quickfixj>) and I have
    a question regarding NioSocketConnectors.

    We are facing a problem when there is a process that constantly (every 30 
seconds) tries to
    connect to a counterparty and the connection is established but dropped 
shortly after. Then
    sometimes the NioProcessors/NioSocketConnectors are not cleaned up 
properly. In the stack
    trace we see them hanging in a call to dispose:

    "NioProcessor-1140" #239 prio=5 os_prio=0 tid=0x0000000001fe1800 nid=0x2523 
runnable
    [0x00007f9c67e8f000]
       java.lang.Thread.State: RUNNABLE
            at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
            at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
            at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
            at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
            - locked <0x00000000f6699e60> (a sun.nio.ch.Util$3)
            - locked <0x00000000f6699e50> (a 
java.util.Collections$UnmodifiableSet)
            - locked <0x00000000f6699c18> (a sun.nio.ch.EPollSelectorImpl)
            at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
            at 
org.apache.mina.transport.socket.nio.NioProcessor.select(NioProcessor.java:98)
            at
    
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1075)
            at 
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
            at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at java.lang.Thread.run(Thread.java:748)

    "NioSocketConnector-68" #238 prio=5 os_prio=0 tid=0x00007f9c70caf000 
nid=0x2522 in
    Object.wait() [0x00007f9c6af9f000]
       java.lang.Thread.State: TIMED_WAITING (on object monitor)
            at java.lang.Object.wait(Native Method)
            at org.apache.mina.core.future.De
    
<http://org.apache.mina.core.future.De>faultIoFuture.await0(DefaultIoFuture.java:209)
            - locked <0x00000000f66ac718> (a org.apache.mina.core.future.De
    <http://org.apache.mina.core.future.De>faultIoFuture)
            at org.apache.mina.core.future.De
    
<http://org.apache.mina.core.future.De>faultIoFuture.awaitUninterruptibly(DefaultIoFuture.java:141)
            at
    
org.apache.mina.core.polling.AbstractPollingIoProcessor.dispose(AbstractPollingIoProcessor.java:188)
            at
    
org.apache.mina.core.service.SimpleIoProcessorPool.dispose(SimpleIoProcessorPool.java:329)
            - locked <0x00000000f66ac750> (a java.lang.Object)
            at
    
org.apache.mina.core.polling.AbstractPollingIoConnector$Connector.run(AbstractPollingIoConnector.java:582)
            at 
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
            at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
            at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
            at java.lang.Thread.run(Thread.java:748)

    It does not happen very often: about 5% of the connection attempts leave a 
NioSocketConnector
    hanging.
    It only seems to happen though when the connection is disconnected by
    "javax.net.ssl.SSLHandshakeException: SSL handshake failed". Although there 
are cases when
    there is no leak even on an SSLHandshakeException.
    If the connection was reset "normally" by "java.io.IOException: Connection reset 
by peer" then
    the leak does not seem to occur. It also does not occur when the connection 
is refused right away.

    Since this seems to be related to SSL connections: is there something that 
we need to take
    care of when using the SSL filter?

    The code for the IoSessionInitiator can be found here:
    
https://github.com/quickfix-j/quickfixj/blob/master/quickfixj-core/src/main/java/quickfix/mina/initiator/IoSessionInitiator.java
    
<https://github.com/quickfix-j/quickfixj/blob/master/quickfixj-core/src/main/java/quickfix/mina/initiator/IoSessionInitiator.java>
    I have added some comments in this gist (starting with "chrjohn"):
    https://gist.github.com/chrjohn/2671f06d80e8d917d9061b573477ec5b
    <https://gist.github.com/chrjohn/2671f06d80e8d917d9061b573477ec5b>

    I cannot rule out that we might be doing something wrong here, so any 
pointer is appreciated. :)

    Thanks in advance for your help and best regards,
    Chris.

-- Christoph John
    Development & Support
    Direct: +49 241 557080-28 <tel:%2B49%20241%20557080-28>
    Mailto:[email protected] <mailto:[email protected]>



    http://www.macd.com <http://www.macd.com/>
    
----------------------------------------------------------------------------------------------------

    
----------------------------------------------------------------------------------------------------
    MACD GmbH
    Oppenhoffallee 103
    D-52066 Aachen
    Tel: +49 241 557080-0 <tel:%2B49%20241%20557080-0> | Fax: +49 241 557080-10
    <tel:%2B49%20241%20557080-10>
             Amtsgericht Aachen: HRB 8151
    Ust.-Id: DE 813021663

    Geschäftsführer: George Macdonald
    
----------------------------------------------------------------------------------------------------

    
----------------------------------------------------------------------------------------------------

    take care of the environment - print only if necessary



--
Christoph John
Development & Support
Direct: +49 241 557080-28
Mailto:[email protected]
        


http://www.macd.com <http://www.macd.com/>
----------------------------------------------------------------------------------------------------
        
----------------------------------------------------------------------------------------------------
MACD GmbH
Oppenhoffallee 103
D-52066 Aachen
Tel: +49 241 557080-0 | Fax: +49 241 557080-10
         Amtsgericht Aachen: HRB 8151
Ust.-Id: DE 813021663

Geschäftsführer: George Macdonald
----------------------------------------------------------------------------------------------------
        
----------------------------------------------------------------------------------------------------

take care of the environment - print only if necessary
2017-10-11 10:28:40
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.144-b01 mixed mode):

"RMI TCP Connection(idle)" #35 daemon prio=9 os_prio=0 tid=0x00007fb298002800 
nid=0x7fb8 waiting on condition [0x00007fb2e08a8000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000000eb48fd28> (a 
java.util.concurrent.SynchronousQueue$TransferStack)
        at 
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at 
java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
        at 
java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
        at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
        at 
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

"JMX server connection timeout 34" #34 daemon prio=9 os_prio=0 
tid=0x00007fb2b0022800 nid=0x7fb2 in Object.wait() [0x00007fb2e0aaa000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000eb579b28> (a [I)
        at 
com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:168)
        - locked <0x00000000eb579b28> (a [I)
        at java.lang.Thread.run(Thread.java:748)

"RMI Scheduler(0)" #33 daemon prio=9 os_prio=0 tid=0x00007fb2b0021000 
nid=0x7fb0 waiting on condition [0x00007fb2e07a7000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000000eb49fd58> (a 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at 
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at 
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
        at 
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

"RMI TCP Connection(idle)" #32 daemon prio=9 os_prio=0 tid=0x00007fb298001800 
nid=0x7faf waiting on condition [0x00007fb2e81f0000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000000eb48fd28> (a 
java.util.concurrent.SynchronousQueue$TransferStack)
        at 
java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at 
java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:460)
        at 
java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
        at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:941)
        at 
java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1073)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

"RMI TCP Accept-0" #31 daemon prio=9 os_prio=0 tid=0x00007fb28408f000 
nid=0x7fac runnable [0x00007fb2e06a6000]
   java.lang.Thread.State: RUNNABLE
        at java.net.PlainSocketImpl.socketAccept(Native Method)
        at 
java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
        at java.net.ServerSocket.implAccept(ServerSocket.java:545)
        at java.net.ServerSocket.accept(ServerSocket.java:513)
        at 
sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:52)
        at 
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:400)
        at 
sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:372)
        at java.lang.Thread.run(Thread.java:748)

"Attach Listener" #29 daemon prio=9 os_prio=0 tid=0x00007fb2c8001000 nid=0x7efc 
waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"NioDatagramAcceptor-7" #25 prio=5 os_prio=0 tid=0x00007fb2f84af800 nid=0x7e8a 
runnable [0x00007fb2e04a4000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
        at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
        at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
        - locked <0x00000000eacb3438> (a sun.nio.ch.Util$3)
        - locked <0x00000000eacb3428> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00000000eacb3310> (a sun.nio.ch.EPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
        at 
org.apache.mina.transport.socket.nio.NioDatagramAcceptor.select(NioDatagramAcceptor.java:745)
        at 
org.apache.mina.transport.socket.nio.NioDatagramAcceptor$Acceptor.run(NioDatagramAcceptor.java:162)
        at 
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

"NioSocketAcceptor-8" #24 prio=5 os_prio=0 tid=0x00007fb2f8458800 nid=0x7e89 
runnable [0x00007fb2e1208000]
   java.lang.Thread.State: RUNNABLE
        at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
        at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
        at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
        at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
        - locked <0x00000000eacbc758> (a sun.nio.ch.Util$3)
        - locked <0x00000000eacbc748> (a java.util.Collections$UnmodifiableSet)
        - locked <0x00000000eacbc630> (a sun.nio.ch.EPollSelectorImpl)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
        at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)
        at 
org.apache.mina.transport.socket.nio.NioSocketAcceptor.select(NioSocketAcceptor.java:281)
        at 
org.apache.mina.core.polling.AbstractPollingIoAcceptor$Acceptor.run(AbstractPollingIoAcceptor.java:460)
        at 
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)

"ExpiringMapExpirer-1" #9 daemon prio=5 os_prio=0 tid=0x00007fb28c001800 
nid=0x7e84 waiting on condition [0x00007fb2e09a9000]
   java.lang.Thread.State: TIMED_WAITING (sleeping)
        at java.lang.Thread.sleep(Native Method)
        at org.apache.mina.util.ExpiringMap$Expirer.run(ExpiringMap.java:288)
        at java.lang.Thread.run(Thread.java:748)

"Service Thread" #8 daemon prio=9 os_prio=0 tid=0x00007fb2f819a800 nid=0x7e77 
runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C1 CompilerThread2" #7 daemon prio=9 os_prio=0 tid=0x00007fb2f8185800 
nid=0x7e76 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread1" #6 daemon prio=9 os_prio=0 tid=0x00007fb2f8183800 
nid=0x7e75 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007fb2f8180800 
nid=0x7e73 waiting on condition [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 tid=0x00007fb2f817f000 
nid=0x7e72 runnable [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" #3 daemon prio=8 os_prio=0 tid=0x00007fb2f814b000 nid=0x7e71 in 
Object.wait() [0x00007fb2e88f7000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000ed218a90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143)
        - locked <0x00000000ed218a90> (a java.lang.ref.ReferenceQueue$Lock)
        at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164)
        at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)

"Reference Handler" #2 daemon prio=10 os_prio=0 tid=0x00007fb2f8146800 
nid=0x7e70 in Object.wait() [0x00007fb2e89f8000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000ed218c48> (a java.lang.ref.Reference$Lock)
        at java.lang.Object.wait(Object.java:502)
        at java.lang.ref.Reference.tryHandlePending(Reference.java:191)
        - locked <0x00000000ed218c48> (a java.lang.ref.Reference$Lock)
        at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)

"main" #1 prio=5 os_prio=0 tid=0x00007fb2f800a000 nid=0x7e6a in Object.wait() 
[0x00007fb30118c000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        - waiting on <0x00000000eacd0bc8> (a 
org.apache.mina.core.future.DefaultWriteFuture)
        at 
org.apache.mina.core.future.DefaultIoFuture.await0(DefaultIoFuture.java:209)
        - locked <0x00000000eacd0bc8> (a 
org.apache.mina.core.future.DefaultWriteFuture)
        at 
org.apache.mina.core.future.DefaultIoFuture.awaitUninterruptibly(DefaultIoFuture.java:141)
        at 
org.apache.mina.core.future.DefaultWriteFuture.awaitUninterruptibly(DefaultWriteFuture.java:127)
        at 
org.apache.mina.example.echoserver.ConnectorTest.testConnector0(ConnectorTest.java:188)
        at 
org.apache.mina.example.echoserver.ConnectorTest.testConnector(ConnectorTest.java:130)
        at 
org.apache.mina.example.echoserver.ConnectorTest.testConnector(ConnectorTest.java:102)
        at 
org.apache.mina.example.echoserver.ConnectorTest.testTCPWithSSL(ConnectorTest.java:89)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
        at 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
        at 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
        at 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
        at 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
        at 
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
        at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
        at 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
        at 
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:283)
        at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:173)
        at 
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:153)
        at 
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:128)
        at 
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
        at 
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
        at 
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)

"VM Thread" os_prio=0 tid=0x00007fb2f813f000 nid=0x7e6f runnable 

"GC task thread#0 (ParallelGC)" os_prio=0 tid=0x00007fb2f801f000 nid=0x7e6b 
runnable 

"GC task thread#1 (ParallelGC)" os_prio=0 tid=0x00007fb2f8021000 nid=0x7e6c 
runnable 

"GC task thread#2 (ParallelGC)" os_prio=0 tid=0x00007fb2f8022800 nid=0x7e6d 
runnable 

"GC task thread#3 (ParallelGC)" os_prio=0 tid=0x00007fb2f8024800 nid=0x7e6e 
runnable 

"VM Periodic Task Thread" os_prio=0 tid=0x00007fb2f819d800 nid=0x7e78 waiting 
on condition 

JNI global references: 297

Reply via email to