[ 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)