cultcache-rs: the unlock-fault test tolerates a fork-exec duplicate of the lock descriptor (rs-unlock-fault-test-flake) #156

Merged
libby merged 2 commits from store-replace/unlock-fault-test-fork-race into main 2026-11-13 04:55:48 +00:00
Member

Cause of the run 1542 flake: the test faults the Unlock step, so release is left to the descriptor close, which frees the flock only when no duplicate of the open file description exists. a_write_that_fails_part_way spawns a child (fork-exec) on another test thread, and the child holds a duplicate until exec, so the try-lock sometimes returns LockContended. Reproduced 1 in 300 with both tests together, 0 in 300 alone; after the fix 0 in 1000. The test now retries a contended try-lock for up to two seconds; a lock never released still fails.

Spec variants:cut_spec:cut-cut-rs-unlock-fault-flake.r1, report .h1.

🤖 Generated with Claude Code

Cause of the run 1542 flake: the test faults the Unlock step, so release is left to the descriptor close, which frees the flock only when no duplicate of the open file description exists. a_write_that_fails_part_way spawns a child (fork-exec) on another test thread, and the child holds a duplicate until exec, so the try-lock sometimes returns LockContended. Reproduced 1 in 300 with both tests together, 0 in 300 alone; after the fix 0 in 1000. The test now retries a contended try-lock for up to two seconds; a lock never released still fails. Spec variants:cut_spec:cut-cut-rs-unlock-fault-flake.r1, report .h1. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
cultcache-rs: the unlock-fault test retries a try-lock held by a concurrent fork-exec (rs-unlock-fault-test-flake)
Some checks failed
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Has been cancelled
9eaa641822
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
cultcache-rs: the unlock-fault test comment names the shared lock of the faulted pull_all as the only one a fork can hold
All checks were successful
CultMesh portability and performance / ubuntu-latest reactive semantics and leases (pull_request) Successful in 19m44s
b22100e58d
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
libby merged commit 0e8a95ed07 into main 2026-11-13 04:55:48 +00:00
libby deleted branch store-replace/unlock-fault-test-fork-race 2026-11-13 04:55:48 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
GameCult/CultLib!156
No description provided.