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]