Upgrading from 4.7.1 to 4.8.1 seeing the Could not close socket WebSocketConnection errors

{“timestamp”:“2024.03.27 15:51:42”,“logger”:“org.jivesoftware.openfire.net.VirtualConnection”,“message”:“Could not close socket\nWebSocketConnection{jid=myserver.autobot.cvp/3b649d87-64f2-42f8-8e90-84642c56f666, remotePeer=/127.0.0.1:43212, socket=org.jivesoftware.openfire.websocket.WebSocketClientConnectionHandler@6f010794, connectionType=SOCKET_C2S}”,“error-type”:“java.lang.NullPointerException”,“error-message”:null,“error-stack-trace”:“java.lang.NullPointerException\n\tat org.jivesoftware.openfire.websocket.WebSocketConnection.closeVirtualConnection(WebSocketConnection.java:76)\n\tat org.jivesoftware.openfire.net.VirtualConnection.close(VirtualConnection.java:154)\n\tat org.jivesoftware.openfire.Connection.close(Connection.java:177)\n\tat java.base/java.util.Optional.ifPresent(Optional.java:183)\n\tat org.jivesoftware.openfire.session.LocalSession.close(LocalSession.java:479)\n\tat org.jivesoftware.openfire.net.StanzaHandler.processStanza(StanzaHandler.java:154)\n\tat org.jivesoftware.openfire.net.StanzaHandler.process(StanzaHandler.java:114)\n\tat org.jivesoftware.openfire.websocket.WebSocketClientConnectionHandler.onTextMethod(WebSocketClientConnectionHandler.java:153)\n\tat org.eclipse.jetty.websocket.core.internal.messages.StringMessageSink.accept(StringMessageSink.java:53)\n\tat org.eclipse.jetty.websocket.common.JettyWebSocketFrameHandler.acceptMessage(JettyWebSocketFrameHandler.java:348)\n\tat org.eclipse.jetty.websocket.common.JettyWebSocketFrameHandler.onTextFrame(JettyWebSocketFrameHandler.java:436)\n\tat org.eclipse.jetty.websocket.common.JettyWebSocketFrameHandler.onFrame(JettyWebSocketFrameHandler.java:241)\n\tat org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession$IncomingAdaptor.lambda$onFrame$1(WebSocketCoreSession.java:671)\n\tat org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1469)\n\tat org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1488)\n\tat org.eclipse.jetty.websocket.core.server.internal.AbstractHandshaker$1.handle(AbstractHandshaker.java:212)\n\tat org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession$IncomingAdaptor.onFrame(WebSocketCoreSession.java:671)\n\tat org.eclipse.jetty.websocket.core.internal.ExtensionStack.onFrame(ExtensionStack.java:120)\n\tat org.eclipse.jetty.websocket.core.internal.WebSocketCoreSession.onFrame(WebSocketCoreSession.java:481)\n\tat org.eclipse.jetty.websocket.core.internal.WebSocketConnection.onFrame(WebSocketConnection.java:271)\n\tat org.eclipse.jetty.websocket.core.internal.WebSocketConnection.fillAndParse(WebSocketConnection.java:464)\n\tat org.eclipse.jetty.websocket.core.internal.WebSocketConnection.run(WebSocketConnection.java:357)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:969)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1194)\n\tat org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1149)\n\tat java.base/java.lang.Thread.run(Thread.java:829)\n”}

What level is that logged at? If it’s info or lower, it could be as simple as noisy logging that Openfire couldn’t close a websocket that was already closed by the other end.

1 Like

Server got restarted with OutOfMemory and hence this issue happened. Created separate thread for that.

We’ve got a fix for higher memory consumption coming in the next release.

1 Like

Hi danc, is the fix is for the same issue reported here or different?

Yep, that’s the one!

1 Like