Skip to content

Too many exception stack traces related to disconnected SockJS clients [SPR-11870] #16489

@spring-projects-issues

Description

@spring-projects-issues

Prashant Deva opened SPR-11870 and commented

Using spring websockets, our log seem full of exceptions like these:


[stdout] 16:05:18,957 ERROR clientOutboundChannel-13 handler.ExceptionWebSocketHandlerDecorator:92 - Unhandled error for ExceptionWebSocketHandlerDecorator [delegate=LoggingWebSocketHandlerDecorator [delegate=org.springframework.web.socket.messaging.SubProtocolWebSocketHandler@315934c3]]
[stdout] java.lang.IllegalStateException: The WebSocket session has been closed and no method (apart from close()) may be called on a closed session
[stdout] 	at org.apache.tomcat.websocket.WsSession.checkState(WsSession.java:653)
[stdout] 	at org.apache.tomcat.websocket.WsSession.getUserPrincipal(WsSession.java:582)
[stdout] 	at org.springframework.web.socket.adapter.standard.StandardWebSocketSession.getPrincipal(StandardWebSocketSession.java:123)
[stdout] 	at org.springframework.web.socket.sockjs.transport.session.WebSocketServerSockJsSession.getPrincipal(WebSocketServerSockJsSession.java:73)
[stdout] 	at org.springframework.web.socket.messaging.StompSubProtocolHandler.afterSessionEnded(StompSubProtocolHandler.java:364)
[stdout] 	at org.springframework.web.socket.messaging.SubProtocolWebSocketHandler.clearSession(SubProtocolWebSocketHandler.java:352)
[stdout] 	at org.springframework.web.socket.messaging.SubProtocolWebSocketHandler.afterConnectionClosed(SubProtocolWebSocketHandler.java:347)
[stdout] 	at org.springframework.web.socket.handler.WebSocketHandlerDecorator.afterConnectionClosed(WebSocketHandlerDecorator.java:85)
[stdout] 	at org.springframework.web.socket.handler.LoggingWebSocketHandlerDecorator.afterConnectionClosed(LoggingWebSocketHandlerDecorator.java:71)
[stdout] 	at org.springframework.web.socket.handler.ExceptionWebSocketHandlerDecorator.afterConnectionClosed(ExceptionWebSocketHandlerDecorator.java:89)
[stdout] 	at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.close(AbstractSockJsSession.java:289)
[stdout] 	at org.springframework.web.socket.handler.WebSocketSessionDecorator.close(WebSocketSessionDecorator.java:158)
[stdout] 	at org.springframework.web.socket.messaging.StompSubProtocolHandler.handleMessageToClient(StompSubProtocolHandler.java:287)
[stdout] 	at org.springframework.web.socket.messaging.SubProtocolWebSocketHandler.handleMessage(SubProtocolWebSocketHandler.java:306)
[stdout] 	at org.springframework.messaging.support.ExecutorSubscribableChannel$1.run(ExecutorSubscribableChannel.java:70)
[stdout] 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
[stdout] 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
[stdout] 	at java.lang.Thread.run(Thread.java:744)

We are using tomcat.


Affects: 4.0.5

Issue Links:

Referenced from: commits 49b872e

Metadata

Metadata

Assignees

Labels

in: webIssues in web modules (web, webmvc, webflux, websocket)type: enhancementA general enhancement

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions