You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "Jonathan Valliere (JIRA)" <ji...@apache.org> on 2018/02/26 16:02:00 UTC

[jira] [Work started] (DIRMINA-1077) Threads hanging in dispose() on SSLHandshakeException

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

Work on DIRMINA-1077 started by Jonathan Valliere.
--------------------------------------------------
> Threads hanging in dispose() on SSLHandshakeException
> -----------------------------------------------------
>
>                 Key: DIRMINA-1077
>                 URL: https://issues.apache.org/jira/browse/DIRMINA-1077
>             Project: MINA
>          Issue Type: Bug
>    Affects Versions: 2.0.16
>         Environment: JDK 1.8.0_162-b12
> Xubuntu 16.04.  Kernel 4.4.0-112-generic
> Intel(R) Core(TM) i5-2410M CPU @ 2.30GHz
>            Reporter: Christoph John
>            Assignee: Jonathan Valliere
>            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 attached 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)