• Stefy Lanza (nextime / spora )'s avatar
    runpod: a pid is not a process identity in a container (v0.2.99) · 7b87efd7
    Stefy Lanza (nextime / spora ) authored
    The root cause under the last three fixes. The pod registry recorded
    os.getpid() and both readers skipped an entry whose pid matched ours as "our
    own, the local pool handles it". Inside a container the engine comes up as the
    SAME pid on every boot — 74, on the production host — so after a restart the
    previous container's pod read as ours and was skipped by both
    find_shared_pod (nothing to adopt) and sibling_is_provisioning (nothing
    booting). The warm path then rented another A40 beside the one already running.
    Three restarts this afternoon, three extra A40s, each billing until it was
    terminated by hand.
    
    Entries now carry a per-process nonce and identity is that. The pid is still
    recorded, and an entry written before the nonce falls back to comparing it,
    which is the old behaviour and no worse.
    
    test_a_surviving_pods_token_is_remembered_across_a_restart simulated the new
    process by monkeypatching os.getpid — the very thing that does not change. It
    patches the nonce now, which is why it failed on this commit and passes on it.
    Co-Authored-By: 's avatarClaude Opus 5 <noreply@anthropic.com>
    7b87efd7
Name
Last commit
Last update
codai Loading commit data...
docs Loading commit data...
packaging Loading commit data...
samples Loading commit data...
tests Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.dockerignore Loading commit data...
.gitignore Loading commit data...
AI.PROMPT Loading commit data...
CODERAI_API_DOCUMENTATION.md Loading commit data...
CoderAI.gif Loading commit data...
DISTRIBUTION.md Loading commit data...
LICENSE.md Loading commit data...
MULTIMODAL_CAPABILITIES.md Loading commit data...
MULTIMODAL_UI_EXAMPLES.md Loading commit data...
README.md Loading commit data...
REQUEST-geoclip-embeddings.md Loading commit data...
REQUEST-vpr-embeddings.md Loading commit data...
amdgpu-coredump-05000.bin Loading commit data...
build-oci.sh Loading commit data...
build.ps1 Loading commit data...
build.sh Loading commit data...
coderai Loading commit data...
coderai-broker-implementation-reference.md Loading commit data...
coderai-integration.md Loading commit data...
commands Loading commit data...
osxbuild.sh Loading commit data...
package-oci.sh Loading commit data...
package-tarball.sh Loading commit data...
requirements-crisperwhisper.txt Loading commit data...
requirements-h3.txt Loading commit data...
requirements-longcat-train.txt Loading commit data...
requirements-longcat.txt Loading commit data...
requirements-melotts.txt Loading commit data...
requirements-nemo.txt Loading commit data...
requirements-nvidia.txt Loading commit data...
requirements-ocr-paddle.txt Loading commit data...
requirements-ocr.txt Loading commit data...
requirements-pyannote.txt Loading commit data...
requirements-surya.txt Loading commit data...
requirements-vllm.txt Loading commit data...
requirements-vulkan.txt Loading commit data...
requirements.txt Loading commit data...
run-oci.sh Loading commit data...
smoke-test-oci.sh Loading commit data...
todo.md Loading commit data...