-
Bug
-
Resolution: Done
-
Critical
-
4.7.2.Final
-
None
After an upstep to Wildfly 25.0.0.Final we are seeing a deadlock in the sse sending code.
The problems happens when you try to send an event while the first event for that sink is still being processed, as the first event will take its locks in different order than the other event.
We have extended org.jboss.resteasy.test.providers.sse.SseEventSinkTest with a reproduction scenario (PR coming up).
Attached you find the relevant stacktraces from this reproduction scenario.
The first element will send its event asynchronously, where it will take first the lock on the HttpServletResponseWrapper$DeferredOutputStream only then try to take the lock on the SseEventOutputImpl. While other events are handled synchronously and will take the lock in the reverse order. This can deadlock.
- is incorporated by
-
WFLY-15801 Upgrade RESTEasy to 4.7.4.Final
- Closed
- is related to
-
RESTEASY-3043 Resteasy SseEventSink can't guarantee the event ordering
- Resolved
-
RESTEASY-3044 SSE first message comes in second
- Resolved
-
RESTEASY-3045 SSE loses last message when sink is closed after message delivery
- Resolved