Repository navigation
Conversation
…32235) A TERM that reached the watchdog outside `wait -n` (trap ran during logs_size or the loop head) only signalled the child group; a step that ignores TERM kept the watchdog looping until the idle limit, so the self-test saw exit 124 instead of 143 and a >8s "grace" time. The trap now records `termed`, so the loop honours it on its next pass. The self-test also slept a fixed 0.7s before sending TERM and timed the deadline rows across settle sleeps and pgrep. It now waits on state (the step's marker file and the watchdog's tick sleep) and stops the clock at the exit. No row is removed or loosened. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
§13.11 rung 1 — quorum shadow verdict Shadow mode: this records a verdict and merges nothing. A refusal |
Member
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
idle_watchdog.sh --self-testfailed twice in CI job 122420732235 (workspace-test shard 2/4, run on #6438) while the intel runner was heavily loaded (load ~97 on 32 cores):TERM exits 143: got '124'within grace: got 0What raced
wait -n(for example duringlogs_size), the loop kept going, so a step that ignores TERM ran on to the idle limit and the watchdog exited 124 instead of 143. That also pushed the grace row past its 8 s bound. The trap now setstermed, and the loop checks it on the next pass.pgrepcalls.No rows were removed or loosened, and the 8 s bounds are unchanged.
Evidence
yesloaders, load 40–115 on 32 cores): the first 20-run set went 19/20 and exposed a third clock race in the timeout-deadline row, which this PR also fixes. After that fix, 20/20 at load 70–78. A cosmeticseq→{1..1200}change came after that set and was checked with a single passing run only.exit 143toexit 142turns the "exits 143" row red. Removingkill -KILLturns the "KILLed after grace" rows red. Both were reverted.cargo fmt --all -- --checkis clean.bashrs lintexits 0 with 0 errors.This file runs inside a CI shard, so treat the change as gate content: it needs a quorum and a non-author sign-off before arming. Auto-merge is not armed.
🤖 Generated with Claude Code