Any help is appreciated. Threads are getting hung on the following method. *class SSLHandlerG0 extends SslHandler:* * synchronized public void write(NextFilter next, WriteRequest request) throws SSLException, WriteRejectedException {* ------------------------------------------ M.V.S.Kishore 91-9886412814
---------- Forwarded message --------- From: Kishore Mokkarala <kishore....@gmail.com> Date: Fri, 22 Dec 2023 at 12:40 Subject: Deadlock in Apache mina version 2.2.1 To: Emmanuel Lécharny <elecha...@gmail.com>, <j...@apache.org> Hi Emmanuel, We are facing deadlock in production with mina 2.2.1 version,earlier it was on 2.0.21, After upgrade only we are seeing this issue,kindly please provide an update any similar kind issue is fixed in 2.2.3 or not ? Thread pool-123-thread-3 is in deadlock with thread NioProcessor-37 pool-123-thread-3 PRIORITY : 5 THREAD ID : 0X00007F5978002870 NATIVE ID : 0X7C15 NATIVE ID (DECIMAL) : 31765 STATE : BLOCKED stackTrace: java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.mina.filter.ssl.SSLHandlerG0.write(SSLHandlerG0.java:312) - waiting to lock <0x00007f5c9f001168> (a org.apache.mina.filter.ssl.SSLHandlerG0) at org.apache.mina.filter.ssl.SslFilter.filterWrite(SslFilter.java:380) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite( DefaultIoFilterChain.java:753) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite( DefaultIoFilterChain.java:1146) at org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite( IoFilterAdapter.java:138) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite( DefaultIoFilterChain.java:753) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite( DefaultIoFilterChain.java:1146) at org.apache.mina.filter.codec.ProtocolCodecFilter.filterWrite( ProtocolCodecFilter.java:332) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite( DefaultIoFilterChain.java:753) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite( DefaultIoFilterChain.java:1146) at org.apache.mina.filter.executor.ExecutorFilter.filterWrite( ExecutorFilter.java:595) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite( DefaultIoFilterChain.java:753) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite( DefaultIoFilterChain.java:1146) at com.netscout.nsaapp.geo.minaG10Proto.server.G10GPBMessageIoFilter.filterWrite( G10GPBMessageIoFilter.java:63) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite( DefaultIoFilterChain.java:753) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite( DefaultIoFilterChain.java:1146) at org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite( IoFilterAdapter.java:138) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite( DefaultIoFilterChain.java:753) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1500( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite( DefaultIoFilterChain.java:1146) at org.apache.mina.core.filterchain.IoFilterAdapter.filterWrite( IoFilterAdapter.java:138) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite( DefaultIoFilterChain.java:753) at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite( DefaultIoFilterChain.java:746) at org.apache.mina.core.session.AbstractIoSession.write( AbstractIoSession.java:575) at org.apache.mina.core.session.AbstractIoSession.write( AbstractIoSession.java:520) at com.netscout.nsaapp.geo.g10Plugin.g10.processor.G10PluginCaptureProcessor.verifyAndSendStartMsgs( G10PluginCaptureProcessor.java:2627) at com.netscout.nsaapp.geo.g10Plugin.g10.processor.G10PluginCaptureProcessor.sessionConnected( G10PluginCaptureProcessor.java:2552) at com.netscout.nsaapp.geo.minaG10Proto.server.G10MinaClient.connect( G10MinaClient.java:220) at jdk.internal.reflect.GeneratedMethodAccessor144.invoke(Unknown Source) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(java.base@ 17.0.7/DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(java.base@17.0.7/Method.java:568) at org.apache.mina.statemachine.transition.MethodTransition.invokeMethod( MethodTransition.java:281) at org.apache.mina.statemachine.transition.MethodTransition.doExecute( MethodTransition.java:232) at org.apache.mina.statemachine.transition.AbstractTransition.execute( AbstractTransition.java:100) at org.apache.mina.statemachine.StateMachine.handle(StateMachine.java:183) at org.apache.mina.statemachine.StateMachine.processEvents( StateMachine.java:170) at org.apache.mina.statemachine.StateMachine.handle(StateMachine.java:158) - locked <0x00007f5c9f001408> (a com.netscout.nsaapp.geo.minaG10Proto.server.G10StateContext) at org.apache.mina.statemachine.StateMachineProxyBuilder$MethodInvocationHandler.invoke( StateMachineProxyBuilder.java:261) at jdk.proxy4.$Proxy87.sessionOpened(jdk.proxy4/Unknown Source) at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.sessionOpened( DefaultIoFilterChain.java:940) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionOpened( DefaultIoFilterChain.java:574) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$800( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionOpened( DefaultIoFilterChain.java:1083) at org.apache.mina.core.filterchain.IoFilterAdapter.sessionOpened( IoFilterAdapter.java:90) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionOpened( DefaultIoFilterChain.java:574) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$800( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionOpened( DefaultIoFilterChain.java:1083) at org.apache.mina.core.filterchain.IoFilterAdapter.sessionOpened( IoFilterAdapter.java:90) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextSessionOpened( DefaultIoFilterChain.java:574) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$800( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.sessionOpened( DefaultIoFilterChain.java:1083) at org.apache.mina.core.filterchain.IoFilterEvent.fire( IoFilterEvent.java:127) at org.apache.mina.core.session.IoEvent.run(IoEvent.java:89) at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTask( OrderedThreadPoolExecutor.java:763) at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.runTasks( OrderedThreadPoolExecutor.java:755) at org.apache.mina.filter.executor.OrderedThreadPoolExecutor$Worker.run( OrderedThreadPoolExecutor.java:695) at java.lang.Thread.run(java.base@17.0.7/Thread.java:833) NioProcessor-37 PRIORITY : 5 THREAD ID : 0X00007F5A040B5880 NATIVE ID : 0X6D19 NATIVE ID (DECIMAL) : 27929 STATE : BLOCKED stackTrace: java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.mina.statemachine.StateMachine.handle(StateMachine.java:138) - waiting to lock <0x00007f5c9f001408> (a com.netscout.nsaapp.geo.minaG10Proto.server.G10StateContext) at org.apache.mina.statemachine.StateMachineProxyBuilder$MethodInvocationHandler.invoke( StateMachineProxyBuilder.java:261) at jdk.proxy4.$Proxy87.event(jdk.proxy4/Unknown Source) at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.event( DefaultIoFilterChain.java:1039) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextFilterEvent( DefaultIoFilterChain.java:789) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1700( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.event( DefaultIoFilterChain.java:1164) at org.apache.mina.core.filterchain.IoFilterAdapter.event( IoFilterAdapter.java:162) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextFilterEvent( DefaultIoFilterChain.java:789) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1700( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.event( DefaultIoFilterChain.java:1164) at org.apache.mina.core.filterchain.IoFilterAdapter.event( IoFilterAdapter.java:162) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextFilterEvent( DefaultIoFilterChain.java:789) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1700( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.event( DefaultIoFilterChain.java:1164) at org.apache.mina.core.filterchain.IoFilterAdapter.event( IoFilterAdapter.java:162) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextFilterEvent( DefaultIoFilterChain.java:789) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1700( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.event( DefaultIoFilterChain.java:1164) at org.apache.mina.core.filterchain.IoFilterAdapter.event( IoFilterAdapter.java:162) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextFilterEvent( DefaultIoFilterChain.java:789) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1700( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.event( DefaultIoFilterChain.java:1164) at org.apache.mina.core.filterchain.IoFilterAdapter.event( IoFilterAdapter.java:162) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextFilterEvent( DefaultIoFilterChain.java:789) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1700( DefaultIoFilterChain.java:49) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.event( DefaultIoFilterChain.java:1164) at org.apache.mina.filter.ssl.SSLHandlerG0.finish_handshake( SSLHandlerG0.java:589) - locked <0x00007f5c9f001168> (a org.apache.mina.filter.ssl.SSLHandlerG0) at org.apache.mina.filter.ssl.SSLHandlerG0.receive_loop( SSLHandlerG0.java:271) at org.apache.mina.filter.ssl.SSLHandlerG0.receive_loop( SSLHandlerG0.java:246) at org.apache.mina.filter.ssl.SSLHandlerG0.receive_loop( SSLHandlerG0.java:246) at org.apache.mina.filter.ssl.SSLHandlerG0.receive(SSLHandlerG0.java:162) - locked <0x00007f5c9f001168> (a org.apache.mina.filter.ssl.SSLHandlerG0) at org.apache.mina.filter.ssl.SslFilter.messageReceived(SslFilter.java:342) 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.util.concurrent.ThreadPoolExecutor.runWorker(java.base@ 17.0.7/ThreadPoolExecutor.java:1136) at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@ 17.0.7/ThreadPoolExecutor.java:635) at java.lang.Thread.run(java.base@17.0.7/Thread.java:833) Regards, ------------------------------------------ M.V.S.Kishore Lead Dev Engineer NetScout S/w Pvt. Ltd. 91-9886412814