Unverified theory left over from the debugging session: in Windows thread-mode, hivemind Runtime waits on pool pipes via multiprocessing.connection.wait, which on Windows is subject to the WaitForMultipleObjects limit (max 63 handles). A 35-block server has 35 forward + 35 backward pools + 1 merged inference pool = 71 pipes; if the runtime ever waits on all of them in one call it should raise or misbehave.
The observed 35-block startup hang turned out to be a stale hivemind wheel instead, and the theory was never tested post-fix (all validation used 17-18-block servers). Test: start a >31-block server on Windows (tiny checkpoint is fine, e.g. a 35-layer synthesized model), confirm it reaches Started and serves inference. If it fails, chunk the wait or multiplex pipes in the win32 patch.
馃 Generated with Claude Code
Unverified theory left over from the debugging session: in Windows thread-mode, hivemind Runtime waits on pool pipes via
multiprocessing.connection.wait, which on Windows is subject to the WaitForMultipleObjects limit (max 63 handles). A 35-block server has 35 forward + 35 backward pools + 1 merged inference pool = 71 pipes; if the runtime ever waits on all of them in one call it should raise or misbehave.The observed 35-block startup hang turned out to be a stale hivemind wheel instead, and the theory was never tested post-fix (all validation used 17-18-block servers). Test: start a >31-block server on Windows (tiny checkpoint is fine, e.g. a 35-layer synthesized model), confirm it reaches Started and serves inference. If it fails, chunk the wait or multiplex pipes in the win32 patch.
馃 Generated with Claude Code