Skip to content

Conversation

@qsctr
Copy link
Collaborator

@qsctr qsctr commented Dec 2, 2025

Brings in the changes from GaloisInc/mir-json#200 and GaloisInc/crucible#1654.

@qsctr qsctr requested a review from RyanGlScott December 2, 2025 18:22
@qsctr qsctr self-assigned this Dec 2, 2025
Copy link
Contributor

@RyanGlScott RyanGlScott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect (and hopefully CI will confirm) that you'll need to regenerate the vendored-in MIR JSON files in intTests and saw-python/tests/saw/test-files by running make regen-mir-blobs.

@RyanGlScott
Copy link
Contributor

Or... not? Somehow, this integration-tests job succeeded. I'm actually not sure how that is possible, as I would expect SAW to error if it tries to load MIR JSON files with an older schema...

@RyanGlScott
Copy link
Contributor

Oh, hah. This is because of an intended consequence of the changes in GaloisInc/crucible#1619. Previously, SAW would always reject any MIR JSON file whose schema version number doesn't match the expected version. Now, it only checks for version mismatches if the JSON file fails to parse. While the schema did change in the mir-json's 1.91.0 toolchain upgrade, it only changed in ways that are not visible in the particular MIR JSON files that are checked in as SAW test cases. Ugh.

@sauclovian-g
Copy link
Contributor

Ugh. That's convenient here but it's quite easy to imagine a scenario with an old file that parses successfully but incorrectly...

RyanGlScott added a commit to GaloisInc/crucible that referenced this pull request Dec 2, 2025
It is possible for a MIR JSON file to parse even if the schema version doesn't
match what is expected, as noticed in
GaloisInc/saw-script#2852 (comment). This
ensures that the schema version is checked regardless of whether parsing
succeeds or not.
@RyanGlScott
Copy link
Contributor

I've opened GaloisInc/crucible#1661 to fix this particular buglet.

@qsctr qsctr merged commit 4273bad into master Dec 4, 2025
37 checks passed
@qsctr qsctr deleted the rust-1.91 branch December 4, 2025 01:38
RyanGlScott added a commit that referenced this pull request Dec 4, 2025
This should have been regenerated to use `mir-json` schema version 6 as part of
the changes in #2852, but this was
accidentally left out due to the `test1980` not containing a Makefile. This
commit adds such a Makefile and regenerates the MIR JSON.
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.

4 participants