You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
A door's own launches retire the door under load and cut every in-flight stream #441
Sessions intermittently print "Streaming response ended before any complete data was received. Retrying without streaming." The door logs show it was replaced 29 times in two hours under heavy load, against about one an hour normally, and each replacement drops every in-flight stream across all sessions at once.
The replacement is the door's own doing. A launch run inside the door (the usage refresh, the window opener, a job) asks ensureFrontDoor whether the door it plans to use is alive. Asked about itself, that ran a synchronous ps with no timeout and a synchronous probe, both holding the door's own event loop. Under load they take seconds, the probe cannot be answered, it reads as a dead door, and the same launch retires it when no other session is registered.
This is a different path from #420, #424 and #370: those fixed retiring a busy door for a launcher outside it and probing the door a launch is planned inside, but a door's own launch still asked ps and probed its own loop. #439 makes the supervisor declare itself the front door at start so it asks nothing about itself, and #426 and #427 cover the structural guard and the watchdog.
Verification that closes this: after the door is replaced with a build carrying #439, the door replacement count under comparable load stays at its normal rate and the error stops appearing in new sessions.
Observed on the replacement door (11.6.1, one process from its start): 2103 /v1/messages requests, no self-retire replacement, no further door start, and no hop failure with a client still waiting (3 where the client had already gone). The door-side cause is gone. The streaming error was still reaching sessions in that window from a different cause, headroom answering concurrent streaming requests with a 202 queued reply after the hop opted sessions into mid-turn queueing; that is fixed in #443.
Activity
Mearman commentedon Oct 13, 2026
Observed on the replacement door (11.6.1, one process from its start): 2103 /v1/messages requests, no self-retire replacement, no further door start, and no hop failure with a client still waiting (3 where the client had already gone). The door-side cause is gone. The streaming error was still reaching sessions in that window from a different cause, headroom answering concurrent streaming requests with a 202 queued reply after the hop opted sessions into mid-turn queueing; that is fixed in #443.