Error (PushAtmosphereHandler.java118) - Exception in push connection java.io.IOException

Hello Team im using V23 and Springboot

When there is a session timeout, the user gets navigated to the logout url so after it the user is redirected on the login page

→ When a session gets timeout and logout is called im getting this error ,after this error the user is not redirected to the login page,
Meanwhile, the browser url is stuck on the same page where it is I don’t know why this is happening please help

ERROR [Atmosphere-Shared-2] (PushAtmosphereHandler.java:118) - Exception in push connection java.io.IOException: Connection remotely closed for 83844a3f-5377-466b-80b6-80d56813aced at org.atmosphere.websocket.WebSocket.write(WebSocket.java:240) ~[atmosphere-runtime-2.7.3.slf4jvaadin4.jar:?] at org.atmosphere.websocket.WebSocket.write(WebSocket.java:230) ~[atmosphere-runtime-2.7.3.slf4jvaadin4.jar:?] at org.atmosphere.websocket.WebSocket.write(WebSocket.java:47) ~[atmosphere-runtime-2.7.3.slf4jvaadin4.jar:?] at org.atmosphere.cpr.AtmosphereResponseImpl$Stream.write(AtmosphereResponseImpl.java:948) ~[atmosphere-runtime-2.7.3.slf4jvaadin4.jar:?] at org.atmosphere.handler.AbstractReflectorAtmosphereHandler.onStateChange(AbstractReflectorAtmosphereHandler.java:155) ~[atmosphere-runtime-2.7.3.slf4jvaadin4.jar:?] at com.vaadin.flow.server.communication.PushAtmosphereHandler.onStateChange(PushAtmosphereHandler.java:54) ~[flow-server-23.1.6.jar:23.1.6] at org.atmosphere.cpr.DefaultBroadcaster.invokeOnStateChange(DefaultBroadcaster.java:1040) [atmosphere-runtime-2.7.3.slf4jvaadin4.jar:?] at org.atmosphere.cpr.DefaultBroadcaster.prepareInvokeOnStateChange(DefaultBroadcaster.java:1060) [atmosphere-runtime-2.7.3.slf4jvaadin4.jar:?] at org.atmosphere.cpr.DefaultBroadcaster.executeAsyncWrite(DefaultBroadcaster.java:874) [atmosphere-runtime-2.7.3.slf4jvaadin4.

1 Like

I debugged a little bit, because we have the same exception log on session timeouts of users. The reason, why there is an IOException thrown is: there is no value defined for parameter “org.atmosphere.cpr.Broadcaster.writeTimeout” (but the atmosphere classdoc mentioned that there is a default of 5 minutes, but i could not find any place where that default is really set) - and this way it does not follow the route to setup a timeout thread and ignore the result, if the current thread gets interrupted by that. But on any other exception it logs that.
Think, Vaadin should add at least such a default to it’s internal atmosphere setup/init to get rid of IOException logging and let that (correctly?) handled by a timeout.