[P0] Pidfile/deploy race — new daemon exits silently while old binary keeps serving #35
Labels
No labels
prio_critical
prio_low
type_bug
type_contact
type_issue
type_lead
type_question
type_story
type_task
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lhumina_code/hero_shrimp#35
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
A new daemon whose start is rejected by a stale pidfile exits silently while the OLD binary keeps serving; readiness checks false-positive, so a bad deploy looks healthy.
Evidence
crates/hero_shrimp_server/src/rpc/pidfile.rs(takeover path).ARCHITECTURE_CLEANUP_PLAN.mddocuments this as severe; redeploy must work around it (kill via/proc/*/exe, clear pidfile+socket, verify socket-owner binary).Proposed fix
Fail loud on stale-pidfile takeover (log + non-zero exit or explicit force-takeover), and add a readiness check that verifies the socket owner's
/proc/<pid>/exeis the new (non-deleted) binary.Filed from a comparative audit of Hero Shrimp vs Qwen-Code / kimi-cli / picoclaw (2026-05-23). Severity in title: P0=correctness/trust, P1=reliability/UX, P2=cleanup.