[ 
https://issues.apache.org/jira/browse/DIRMINA-1077?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Christoph John updated DIRMINA-1077:
------------------------------------
    Description: 
This is probably related to DIRMINA-1076.

See attached unit test {{SslTestHandshakeException}}. For the test to run you 
also need the attached file {{emptykeystore.sslTest}} placed into 
{{mina-core/src/test/resources/org/apache/mina/filter/ssl/}}. The purpose of 
the test is simply to provoke an {{SSLHandshakeException}}. I have seen the 
problematic behaviour once in a while on processes implemented with QuickFIX/J 
but now luckily got it reproduced in a unit test.

When I run it against MINA-2.0.17-SNAPSHOT I will get (almost instantly) the 
stack trace as in {{mina-dispose-hang-2.0.17-SNAPSHOT.txt}} and the test will 
hang.

When ran against MINA-2.0.17-SNAPSHOT plus the patch from DIRMINA-1076 I will 
get the stack trace from attached file 
{{mina-dispose-hang-with-DIRMINA-1076-patch.txt}} and additionally the 
following log output (but the test will still hang):

{noformat}
XXX javax.net.ssl.SSLHandshakeException: SSL handshake failed.
Exception in thread "pool-337-thread-1" java.lang.AssertionError: Internal 
Session Count is Negative
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:674)
        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)
{noformat}

In both stack traces the process is hanging in a call to dispose() although one 
time it is in the NioSocketConnector and in the other case in the 
NioSocketAcceptor.

  was:
This is probably related to DIRMINA-1076.

See attached unit test {{SslTestHandshakeException}}. For the test to run you 
also need the attached file {{emptykeystore.sslTest}} placed into 
{{mina-core/src/test/resources/org/apache/mina/filter/ssl/}}. The purpose of 
the test is simply to provoke an {{SSLHandshakeException}}. I have seen the 
problematic behaviour once in a while on processes implemented with QuickFIX/J 
but now luckily got it reproduced in a unit test.

When I run it against MINA-2.0.17-SNAPSHOT I will get (almost instantly) the 
stack trace as in {{mina-dispose-hang-2.0.17-SNAPSHOT.txt}} and the test will 
hang.

When ran against MINA-2.0.17-SNAPSHOT plus the patch from DIRMINA-1076 I will 
get the stack trace from attached file 
{{mina-dispose-hang-with-DIRMINA-1076-patch.txt}} and additionally the 
following log output (but the test will still hang):

{noformat}
XXX javax.net.ssl.SSLHandshakeException: SSL handshake failed.
Exception in thread "pool-337-thread-1" java.lang.AssertionError: Internal 
Session Count is Negative
        at 
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:674)
        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)
{noformat}

In both stack traces the process is hanging in a call to dipose() although one 
time it is in the NioSocketConnector and in the other case in the 
NioSocketAcceptor.



> Threads hanging in dispose() on SSLHandshakeException
> -----------------------------------------------------
>
>                 Key: DIRMINA-1077
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-1077
>             Project: MINA
>          Issue Type: Bug
>         Environment: JDK 1.8.0_162-b12
> Xubuntu 16.04.
> Ubuntu Linux, Kernel 4.4.0-112-generic
> Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz
>            Reporter: Christoph John
>            Priority: Major
>         Attachments: SslTestHandshakeException.java, emptykeystore.sslTest, 
> mina-dispose-hang-2.0.17-SNAPSHOT.txt, 
> mina-dispose-hang-with-DIRMINA-1076-patch.txt
>
>
> This is probably related to DIRMINA-1076.
> See attached unit test {{SslTestHandshakeException}}. For the test to run you 
> also need the attached file {{emptykeystore.sslTest}} placed into 
> {{mina-core/src/test/resources/org/apache/mina/filter/ssl/}}. The purpose of 
> the test is simply to provoke an {{SSLHandshakeException}}. I have seen the 
> problematic behaviour once in a while on processes implemented with 
> QuickFIX/J but now luckily got it reproduced in a unit test.
> When I run it against MINA-2.0.17-SNAPSHOT I will get (almost instantly) the 
> stack trace as in {{mina-dispose-hang-2.0.17-SNAPSHOT.txt}} and the test will 
> hang.
> When ran against MINA-2.0.17-SNAPSHOT plus the patch from DIRMINA-1076 I will 
> get the stack trace from attached file 
> {{mina-dispose-hang-with-DIRMINA-1076-patch.txt}} and additionally the 
> following log output (but the test will still hang):
> {noformat}
> XXX javax.net.ssl.SSLHandshakeException: SSL handshake failed.
> Exception in thread "pool-337-thread-1" java.lang.AssertionError: Internal 
> Session Count is Negative
>       at 
> org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:674)
>       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)
> {noformat}
> In both stack traces the process is hanging in a call to dispose() although 
> one time it is in the NioSocketConnector and in the other case in the 
> NioSocketAcceptor.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to