Skip to content

v0.19.0+devnen.3 - fix os.sched_yield on Windows multi-worker

Latest

Choose a tag to compare

@devnen devnen released this 08 May 18:38

Fix AttributeError: module 'os' has no attribute 'sched_yield' on Windows multi-worker (TP>1 / PP>1).

vLLM 0.19's vllm/distributed/utils.py defined USE_SCHED_YIELD purely from sys.version_info, so on Python 3.11+/3.10.8+ Windows the sched_yield() wrapper called the missing os.sched_yield and crashed with AttributeError. The bug only fires on the multi-worker path (TP>1 / PP>1) via shm_broadcast.acquire_read's spin-wait, so single-card snapshots are unaffected.

Surfaced in devnen/qwen3.6-windows-server after +devnen.2's ipc->tcp swap let pp2_160k boots reach this code path. Reported in devnen/qwen3.6-windows-server#14.

Validated end-to-end on a 2x RTX 3090 box: pp2_160k boots cleanly, KV pool 169,344 tokens, all 3 coherence tiers pass, decode 41.4 tok/s (95% of documented 43.5).

sha256: 191df20692ad34a549e8a09c4a0efed63b2fca880c25082f591c675ace1a8b1f

This is a single-line behavior change. The fix matches the upstream-master code already inherited by the 0.20.0 Windows branch (v0.20.0+cu132.devnen.2 already has it).