-
Notifications
You must be signed in to change notification settings - Fork 38.9k
Open
Labels
status: waiting-for-triageAn issue we've not yet triaged or decided onAn issue we've not yet triaged or decided on
Description
Spring Boot version 4.0.3 with Tomcat
I sometimes see the following error in code session.getHandshakeHeaders().getFirst(HttpHeaders.USER_AGENT)
java.lang.IllegalStateException: The request object has been recycled and is no longer associated with this facade
at org.apache.catalina.connector.RequestFacade.checkFacade(RequestFacade.java:609)
at org.apache.catalina.connector.RequestFacade.getHeader(RequestFacade.java:287)
at jakarta.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:82)
at org.springframework.security.web.firewall.StrictHttpFirewall$StrictFirewalledRequest.getHeader(StrictHttpFirewall.java:724)
at jakarta.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:82)
at jakarta.servlet.http.HttpServletRequestWrapper.getHeader(HttpServletRequestWrapper.java:82)
at org.springframework.http.server.ServletRequestHeadersAdapter.getFirst(ServletRequestHeadersAdapter.java:59)
at org.springframework.http.server.ServletRequestHeadersAdapter.getFirst(ServletRequestHeadersAdapter.java:47)
at org.springframework.http.server.ServletRequestHeadersAdapter$RequestHeaderOverrideWrapper.getFirst(ServletRequestHeadersAdapter.java:266)
at org.springframework.http.server.ServletRequestHeadersAdapter$RequestHeaderOverrideWrapper.getFirst(ServletRequestHeadersAdapter.java:253)
at org.springframework.http.HttpHeaders.getFirst(HttpHeaders.java:1784)
at MyWebSocketHandler.afterConnectionEstablished(WebsocketStrategySubscriptionHandler.java:75)
I happens suddenly, I can't provide any context
But ChatGPT says that Tomcat recycles Http Request and calling session.getHandshakeHeaders() is not safe in afterConnectionEstablished()
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
status: waiting-for-triageAn issue we've not yet triaged or decided onAn issue we've not yet triaged or decided on