Openfire tries to close a closing session over and over.

Description

Daryl found this in the logfiles (five rotated log files full, all logged within a couple of seconds).

The probable cause is StalledSessionsFilter trying to (asynchronously) close a session that is already being closed.

2015.03.19 19:18:49 org.jivesoftware.openfire.nio.ConnectionHandler - ConnectionHandler reports IOException for session: (0x000003D3: nio socket, server, /REDACTED:46248 => /REDACTED:5222) java.io.IOException: Closing session that seems to be stalled. Preventing OOM at org.jivesoftware.openfire.net.StalledSessionsFilter.filterWrite(StalledSessionsFilter.java:60) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:625) at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$8(DefaultIoFilterChain.java:621) at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.filterWrite(DefaultIoFilterChain.java:953) at org.apache.mina.core.filterchain.DefaultIoFilterChain$TailFilter.filterWrite(DefaultIoFilterChain.java:877) at org.apache.mina.core.filterchain.DefaultIoFilterChain.callPreviousFilterWrite(DefaultIoFilterChain.java:625) at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireFilterWrite(DefaultIoFilterChain.java:618) at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:502) at org.apache.mina.core.session.AbstractIoSession.write(AbstractIoSession.java:447) at org.jivesoftware.openfire.nio.NIOConnection.deliver(NIOConnection.java:291) at org.jivesoftware.openfire.session.LocalClientSession.deliver(LocalClientSession.java:857) at org.jivesoftware.openfire.session.LocalSession.process(LocalSession.java:289) at org.jivesoftware.openfire.spi.RoutingTableImpl.routeToLocalDomain(RoutingTableImpl.java:354) at org.jivesoftware.openfire.spi.RoutingTableImpl.routePacket(RoutingTableImpl.java:239) at org.jivesoftware.openfire.MessageRouter.route(MessageRouter.java:138) at org.jivesoftware.openfire.spi.PacketRouterImpl.route(PacketRouterImpl.java:80) at org.jivesoftware.openfire.net.SocketReader.processMessage(SocketReader.java:307) at org.jivesoftware.openfire.net.ServerSocketReader.access$301(ServerSocketReader.java:60) at org.jivesoftware.openfire.net.ServerSocketReader$3.run(ServerSocketReader.java:148) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

Environment

None

Activity

Show:

Guus der Kinderen March 20, 2015 at 4:40 PM

The stall-filter now checks if the session is already closing before acting.

Fixed

Details

Assignee

Reporter

Fix versions

Priority

Created March 20, 2015 at 4:36 PM
Updated March 20, 2015 at 4:40 PM
Resolved March 20, 2015 at 4:40 PM

Flag notifications