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
[https://nvbugs/6336747][fix] Fail fast when executor worker stalls
* Why?
A stuck or disconnected executor worker left the proxy blocked
indefinitely: the request queue uses an unbounded send HWM with no
send timeout, so request_queue.put -> socket.send never returned once
the worker stopped draining, and the error monitor never tripped. In
CI this could surface as a ~1h hang ending in an opaque timeout kill.
The stall itself is non-deterministic and not yet root-caused.
* What?
Make the failure fast and legible instead:
- Bound request submission: poll the socket for send-readiness and
check worker liveness, raising RequestError if the worker has not
accepted the request within a timeout.
- Add a progress watchdog to the error monitor that marks the worker
stalled and aborts in-flight requests when no result arrives while
requests are outstanding.
- Honor the previously-ignored timeout in GenerationResult.result()
and bound the per-request wait in the VideoMME evaluator.
- On a detected stall, signal the worker (SIGUSR1/faulthandler) to
dump all thread stacks so the next occurrence is diagnosable.
This mitigates the hang and captures worker state; it does not fix
the underlying intermittent stall.
Signed-off-by: William Zhang <133824995+2ez4bz@users.noreply.github.com>
0 commit comments