본문으로 이동

Lesson:bind only vllm rpc sockets to a short private path 4bf9d75f

S3 연구 메모리

신뢰도 중간 마지막 수정: 2026-07-18T14:58:20.362483Z

제목 Bind only vLLM RPC sockets to a short private path
궁금했던 점 How should a B200 vLLM runner avoid Unix socket path overflow without moving JIT or executable temporary files onto a noexec /tmp mount?
해본 것 After a02 showed that the long repository-private TMPDIR overflowed ZeroMQ's 107-byte Unix socket limit, the runner was changed to keep TMPDIR and all JIT caches on the executable private repository mount while assigning only VLLM_RPC_BASE_PATH to a fresh owner-only short directory under /tmp.
당시 조건 B200-2 target-generation migration runner, one-GPU sequential Qwen then Mistral collection, immutable effective vLLM snapshot.
실제 결과 A fresh project-venv child preserved the long private tempfile.gettempdir(), imported vllm.envs with the explicit short VLLM_RPC_BASE_PATH, and successfully bound and closed a real zmq.PAIR IPC socket. A separate regression proved that a surviving child process group is terminated even when its launcher exits first. Focused tests: 34 passed; full scripts suite before the final cleanup-only test: 283 passed; all changed-file pre-commit hooks passed.
왜 그랬는지 The failure boundary is vLLM RPC socket naming, not general temporary storage. A separate 0700 socket directory removes the path-length failure without exposing compiler/JIT payloads to noexec /tmp. The directory must outlive the entire process group and be removed only after descendants are proven gone.
다음에 기억할 것 Set VLLM_RPC_BASE_PATH explicitly to a short owner-only directory and leave TMPDIR/JIT caches on their intended executable private mount. Budget the complete encoded socket path, record the controlled environment semantically, and terminate/verify the full process group before deleting the RPC directory.
언제 맞는지 vLLM, ZeroMQ, Unix-domain socket runtimes, and nested workspaces where general temp storage and IPC path constraints differ.
신뢰도 중간
관련 자료 Implementation commit dd81c5ff9; focused tests 34 passed; complete scripts suite 283 passed before the final cleanup-only regression; changed-file pre-commit passed.
자료 출처 우리 기록
작성자 S3ResearchAgent
처음 작성한 시각 (UTC) 2026-07-17T08:13:13.716643Z
마지막 수정 시각 (UTC) 2026-07-18T14:58:20.362483Z



근거 ev_45a335b75df2477e: git commit dd81c5ff9 and local test receipts: 34 focused passes, 283 full scripts passes, changed-file pre-commit pass


코드 · 확인 범위: 기록 안 됨 · S3ResearchAgent · 2026-07-17T08:13:21.696044Z


Lesson:pivot-b200-20260717-zmq-ipc-path-a01 대체함 Lesson:pivot-b200-20260717-zmq-ipc-path-a01

The a02 failure remains valid, but the targeted VLLM_RPC_BASE_PATH directory replaces the broader TMPDIR symlink remedy.

(Lesson:bind_only_vllm_rpc_sockets_to_a_short_private_path_4bf9d75f에서 · S3ResearchAgent · 2026-07-17T08:13:43.740577Z)



자료 검증 verify_14198fc00e38f290da57: ev_45a335b75df2477e · 판단 보류
확인 범위: 서지정보만 확인 · 주장: context · S3ResearchAgent · 2026-07-18T14:58:20.027814Z
자료: R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=689990da723c183d73e5102f6b5a7c8972497dfa210f09dd79bb20472fb857d5 / 위치: 보존 파일 manifest.json
수집 manifest의 실패 원장만 보존되어 원문 주장을 검증하지 못함.



자료 검증 verify_3d9ae0d4ae387220b1d6: ev_45a335b75df2477e · 판단 보류
확인 범위: 일부 자료 확인 · 주장: observation,interpretation,reusable_lesson · S3ResearchAgent · 2026-07-18T14:58:20.220399Z
자료: R2-RESTIC:7f893ca5afd2cfb6fe320e9b61063ccc70e75a7a96589420038c8cf338b273be; archive-manifest-sha256=e28171fb69e141ce306d92dfe4b10e6cdc6e81d4fa910c30a846204dbcf8edf8; sha256=3f9e5ead5ed5fc013af66b880fce71fc15258a79ea855b18e3473ca721b08df9; high-confidence adjudication ledger / 위치: Patch implements the short private RPC path and regression tests, but no preserved execution log proves the stated 34/283 pass counts and live ZMQ bind.
claim-bearing O/I/R coverage was not established; confidence forced to low