You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mina.apache.org by "James Byatt (Jira)" <ji...@apache.org> on 2022/01/05 10:58:00 UTC

[jira] [Created] (DIRMINA-1155) Apparently impossible stacktrace on IllegalMonitorStateException

James Byatt created DIRMINA-1155:
------------------------------------

             Summary: Apparently impossible stacktrace on IllegalMonitorStateException
                 Key: DIRMINA-1155
                 URL: https://issues.apache.org/jira/browse/DIRMINA-1155
             Project: MINA
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.1.4
         Environment: openjdk 11.0.10_9, quickfixj 2.2.0
            Reporter: James Byatt


Hello folks.

We're intermittently encountering the following exception trace with our application that uses quickfixj (which uses apache mina). We're using mina 2.1.4 currently.

We suspect the cause may be a problem within quickfixj, but we wanted to get in touch to share the stack trace, because we found it confusing.

Here's the stack trace:

{{java.lang.IllegalMonitorStateException java.lang.IllegalMonitorStateException}}
{{at java.base/java.lang.Object.notifyAll(Native Method)}}
{{at org.apache.mina.filter.ssl.SslHandler.checkStatus(SslHandler.java:544)}}
{{at org.apache.mina.filter.ssl.SslHandler.messageReceived(SslHandler.java:375)}}
{{at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:517)}}
{{at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)}}
{{at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1300(DefaultIoFilterChain.java:49)}}
{{at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:1128)}}
{{at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:122)}}
{{at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:650)}}
{{at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:643)}}
{{at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:539)}}
{{at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$1200(AbstractPollingIoProcessor.java:68)}}
{{at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1224)}}
{{at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.process(AbstractPollingIoProcessor.java:1213)}}
{{at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:683)}}
{{at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)}}
{{at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)}}
{{at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)}}
{{at java.base/java.lang.Thread.run(Thread.java:834)}}

Having looked at the source, we're very confused why this isn't getting caught by the catch block in AbstractPollingIoProcessor::run on line 718 - we reckon IllegalMonitorStateException is a RuntimeException, which is an Exception, and we don't see the ExceptionMonitor rethrowing it...so how did it propagate upwards?!

Do you have any ideas as to what might have happened here? We're starting to wonder if we might have happened on a jdk bug (we're running openjdk 11.0.10_9) but thought it was worth checking in here to check our assumptions first.

Thanks in advance for your help.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@mina.apache.org
For additional commands, e-mail: dev-help@mina.apache.org