vLLM's engine handshake made an untimed collective RPC that killed healthy single-DP engines
PR #57226, merged 2026-09-17T02:30Z, removes a blocking `collective_rpc` from vLLM's engine handshake. `EngineCoreProc._make_ready_response()` called `Executor.supports_draft_weight_updates()` with no timeout before `ready_event.set()`, while `__init__` waited on that event with a fixed 10-second timeout; at `data_parallel_size=1` the first expiry raised a bare `AssertionError` and killed an engine whose workers were all alive and idle, with the front end reporting the empty message `Failed core proc(s): {}`. Since the worker short-circuits to `False` whenever no weight-transfer config exists, the executor is now consulted only when weight transfer is actually configured. Observed on 8-GPU ROCm runs.
Source
↳ Follow the thread