Skip to content

Fix the macOS flake of extent_separation.cpp: fail the wrong copy without a loop - #126

Merged
SwayamInSync merged 1 commit into
mainfrom
test/extent-separation-loop-free
Oct 29, 2026
Merged

SwayamInSync merged 1 commit into
mainfrom
test/extent-separation-loop-free

Conversation

@SwayamInSync

Copy link
Copy Markdown
Owner

Fix the macOS flake of extent_separation.cpp: on #122's macOS job, wrong_copy ended Unresolved [reason=solver.timeout] after its whole 120 s budget, where the test expects its certified failure (it takes 1.7 s on Linux). Its query is the one main builds; whether model search finds the counterexample through the loop invariant over a framed heap depends on the solver's search order, which varies from run to run (Z3 hashes some objects by address).

The function's point is that separating valid(p, n) extents does not hide a real failure: a copy that writes zeros must fail where a holds anything else. A copy of two cells shows the same without a loop, and its counterexample needs no search: wrong_copy now fails its postcondition in milliseconds, and the test passes.

The quantified loop invariants over memory keep their own false cases in the loop tests.

@SwayamInSync
SwayamInSync merged commit b45f024 into main Oct 29, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant