Deadlock with MINA sslFilter

Description

Current 3.10.1 RC is plagued with a deadlock that happens when a client logs out or some other action that may be triggering this. Below is a snippet of a thread dump

"NioProcessor-6" #81 prio=5 os_prio=0 tid=0x00007f4d14009000 nid=0x3ca2 waiting for monitor entry [0x00007f4df77f5000] java.lang.Thread.State: BLOCKED (on object monitor) at org.apache.mina.filter.ssl.SslFilter.filterClose(SslFilter.java:662) - waiting to lock <0x00000000c15a4108> (a org.apache.mina.filter.ssl.SslHandler) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterClose(DefaultIoFilterChain.java:644) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$9(DefaultIoFilterChain.java:640) "C2S-Thread-3" #82 daemon prio=5 os_prio=0 tid=0x00007f4c8c001800 nid=0x3ca3 waiting for monitor entry [0x00007f4df76f4000] java.lang.Thread.State: BLOCKED (on object monitor) at org.jivesoftware.openfire.nio.NIOConnection.close(NIOConnection.java:221) - waiting to lock <0x00000000c15b79b8> (a org.jivesoftware.openfire.nio.NIOConnection) at org.jivesoftware.openfire.nio.NIOConnection.close(NIOConnection.java:212) at org.jivesoftware.openfire.session.LocalSession.close(LocalSession.java:346) at org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:145)

While googling around, I found this: https://issues.apache.org/jira/browse/DIRMINA-1012

Which has an interesting comment that the sslFilter needs to come before the threaded Executor. dwd made a patch and testing looks good so far!

https://github.com/dwd/Openfire/commit/202f85381e3a70c245c7fa38898e140e225cfea7

Environment

None

Activity

Show:

Daryl Herzmann June 16, 2015 at 5:14 PM

we are hopeful that this is fixed in 3.10.1

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Created June 10, 2015 at 5:44 PM
Updated June 16, 2015 at 5:14 PM
Resolved June 16, 2015 at 5:14 PM

Flag notifications