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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to