Repository navigation
lab_t27b_ratchet: the usize scratch arrays start at zero, so the t27b interpreter reads no byte that was never written - #11136
Merged
Conversation
… interpreter reads no byte that was never written (Closes #11131) t27b test --check on the spec printed MISMATCH the_ratchet_equals_the_pythons_checker_on_every_case: jit Ok(1), interpreter Fault("8-byte read at stack+0x6ff8 of bytes never written") and 1 JIT/interpreter mismatch, which made the t27b-native-ratchet of every PR read jit/interp mismatch 1. Nine [3]usize scratch arrays were declared with no value; they are now [0, 0, 0]. After the change t27b test --check exits 0 with no mismatch (the interpreter runs 1824 runtime asserts, it stopped at 794 before) and the 14 tests pass. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… interpreter reads no byte that was never written (Closes #11131) Merge of master plus sealing, gates run on the merged tree with t27c from master: tests clean with vacuous passes 0, seal --verify MATCH, tri types ratchet CLEAN, dupe_scan failure set a subset of master's. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Contributor
9 of 12 tasks
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.
Closes #11131
lab_t27b_ratchet: the usize scratch arrays start at zero, so the t27b interpreter reads no byte that was never written
Gates run on the merged tree (t27c from master): 1 spec(s) with tests clean and vacuous passes 0, seal --verify MATCH, tri types ratchet CLEAN, dupe_scan failure set a subset of master's (inherited red).
TEST specs/lab/lab_t27b_ratchet.t27 tests=[14] fail=[0] vacuous=[0]
SEAL specs/lab/lab_t27b_ratchet.t27 :: all hashes MATCH
TYPES RATCHET: CLEAN
DUPE failing=0 extra-vs-master=[]
Cause and measurement (issue #11131). On master,
t27b test specs/lab/lab_t27b_ratchet.t27 --checkprintedMISMATCH the_ratchet_equals_the_pythons_checker_on_every_case: jit Ok(1), interpreter Err(Fault("8-byte read at stack+0x6ff8 of bytes never written"))and1 JIT/interpreter mismatches; the interpreter had run 794 runtime asserts when it stopped. The spec declares nine[3]usizescratch arrays (sp,d,bsp,lsp,dsp) with no value; they are now[0, 0, 0]. After the change the same command exits 0 with no mismatch, the interpreter runs 1824 runtime asserts and the 14 tests pass. A probe that initialised one array at a time still mismatched for each of the nine, so the read is not in a single one; the change takes all nine.No Rust and no t27b change: the fix is in the spec, as the issue's FR-002 asks. The t27b interpreter's refusal of a read-before-write is the right behaviour and is left as it is.
🤖 Generated with Claude Code