Repository navigation
build: the lock test clears an inherited EIGS_TREE_LOCK_HELD (#1940) - #1970
Merged
Merged
Conversation
The Makefile exports EIGS_TREE_LOCK_HELD=1 so that recursive makes skip the tree lock. tools/make_lock_check.sh, run from inside a make recipe (`make precheck` reaches its selftests row), inherited that flag. Every make the test started then ran unlocked, and case 1 failed: "the second make ran while the first held the tree". CI runs the selftests directly, not under make, so this never showed there; R1.7's local precheck train found it. The test controls the lock itself, so it unsets the flag at the top. Case 3 still sets it explicitly for the one make that needs it. Measured: 8/8 with the flag unset, and now 8/8 with EIGS_TREE_LOCK_HELD=1 inherited, which was 0/8 before. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KC99CmwatKssQYggkBCgwF
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
InauguralPhysicist
added a commit
that referenced
this pull request
Oct 26, 2026
Record D2 seven-probe/six-amendment boundary, D3 measured two invariants and11change rows, D4 direct constant-pool witness; all51 final MAP tier observations green. N6 shortest writer and N14/T1 sites covered by actual C/ASan/freestanding/fulltrain gates. Corpus retains full raw/comparer evidence without changing counts or normalizing differences;12 ownership/capture helpercontrols green. Cost comparison remains byte-strict by default; N6 opt-in calibrated6positive/15negativecontrols. Consumer candidate-call census16repos recorded. Final acceptance counts appended after complete train. Continuation 3 gate maintenance: apply main PR #1970's exact comment and unset EIGS_TREE_LOCK_HELD after ROOT in tools/make_lock_check.sh. Entire script blob matches #1970: c0afa51. Train #2 under make inherited the recursive-lock bypass and failed case 1, 0/8 cases passed. The selftest now clears it; case 3 still sets it explicitly. Requested public selftest rows in /tmp/es-r17-checkpoints, actual rc=0: make-lock selftest: 8/8 passed calibration: cases=54 as-expected=54 unexpected=0 All six clean-apply/tree/manifest checkpoint proofs and refreshed bundle extraction recorded in continue3-checkpoint-proof.json. The post-check amendment changes commit metadata only; tested trees are identical. Source fingerprint: 596b197d7775d094297d85265323f5ee14b8c8df73d76287843f612fa3c97152 Final acceptance counts: phase2-check: tier=off examined=111 rows tag_fail=111 branch_pass=111 vacuous=0 tag_timeout=0 tag_signal=0; tier=default examined=111 rows tag_fail=111 branch_pass=111 vacuous=0 tag_timeout=0 tag_signal=0; tier=osr examined=111 rows tag_fail=111 branch_pass=111 vacuous=0 tag_timeout=0 tag_signal=0; tier=trace examined=105 rows tag_fail=105 branch_pass=105 vacuous=0 tag_timeout=0 tag_signal=0; phase2-check: PASS phase2-ci: phase2-check: PASS; phase2-lib-diff: range=[-3, 110] modules=78 importable=66 functions=889 via_reexport=95 no_params=24 calls=281423 examined=281423 unexamined=0 both_ok=124575 both_raise=156668 improved=0; phase2-lib-diff: N4 source_functions=28 exported_functions=19 calls=4631 both_ok=2500 changed_functions=11; phase2-lib-diff: listed_functions=13 undeclared=0 stale=0 PASS; phase2-ci: PASS (through=R1.7) full-release-make-test: RESULTS: 4606/4606 passed, 0 failed, 10 skipped extensions-suite: RESULTS: 4850/4850 passed, 0 failed, 5 skipped lib-diff: phase2-lib-diff: range=[-3, 110] modules=78 importable=66 functions=889 via_reexport=95 no_params=24 calls=281423 examined=281423 unexamined=0 both_ok=124575 both_raise=156668 improved=0; phase2-lib-diff: N4 source_functions=28 exported_functions=19 calls=4631 both_ok=2500 changed_functions=11; phase2-lib-diff: listed_functions=13 undeclared=0 stale=0 PASS corpus-adjudication: Corpus adjudicated: 54 differences traced to R1.7 behavior/registration; sole expected runaway timeout; no other crash/timeout. replay-diff: replay_diff: OK (267 programs record+replay; 27 at the documented boundary; 0 nondeterministic; 1 ledgered) jit-diff: jit_diff: OBS examined=783 denied=13; jit_diff: OK (267 programs x {jit, osr} vs the interpreter; suite-env completed=16; OBS examined=783 denied=13; 32 arms adjudicated; 2 ledgered) cost-measure: phase2-cost: source=codspeed.yml workloads=15 tiers=2 undeclared_max=+0.3% declarations=30 stale_below_max=0.5 logs=/tmp/phase2-cost-rul4mqfr; phase2-cost: output_compare=n6-text (exact values/bits, exact integer digits, Python repr); phase2-cost: n6-text workload=tests/bench_idxset.eigs tier=jit changed_tokens=1; phase2-cost: n6-text workload=tests/bench_idxset.eigs tier=off changed_tokens=1; phase2-cost: workloads=15 rows=30 over_declared_max=0 stale_declarations=0 PASS Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KC99CmwatKssQYggkBCgwF
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.
Refs #1940.
The bug:
tools/make_lock_check.shinheritedEIGS_TREE_LOCK_HELD=1when run from inside a make recipe (make precheckreaches its selftests row). Every make it started ran unlocked, and case 1 failed. CI runs the selftests directly, so it never showed there; R1.7's local precheck train found it.The fix: the test unsets the flag at the top. Case 3 still sets it explicitly for its one make.
Measured: 8/8 with the flag unset, and now 8/8 with it inherited, where it was 0/8. Shellcheck is clean.
🤖 Generated with Claude Code
https://claude.ai/code/session_01KC99CmwatKssQYggkBCgwF