Repository navigation
Conversation
…are-libs#14463) ErrorStack::Display trims over-long traces by keeping a head slice ([..TRACE_LENGTH_CAP/2]) and a tail slice ([len - TRACE_LENGTH_CAP/2..]), using raw byte indices. Rust str slicing panics if an index isn't a char boundary, so any multi-byte UTF-8 character straddling either cut point panics the formatter. Trace content includes contract/VM-controlled strings (revert reasons, VM error attributes), so this is reachable from external input. Snap both cut points to char boundaries via floor_char_boundary / ceil_char_boundary helpers (the std equivalents are still unstable), mirroring the char-safe truncation already used by Cairo1RevertSummary. Add a regression test (head and tail cut-point cases) that places a 2-byte 'é' straddling each cut point; it panics on the old byte-slice code and passes on the fix. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…starkware-libs#14841) Add a runtime safety net in initialize_execution_context_with_runner_mode that rejects a Cairo 1 entry point whose builtins are not an ordered subsequence of the supported set (CAIRO1_SUPPORTED_BUILTINS, mirroring the OS SelectableBuiltins struct), right before they are handed to the Cairo runner. The Sierra compiler already enforces this at compile time; this check is a defensive guard at the point of use, rather than at declare/add_class time as in starkware-libs#14801. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
Integrate the Alliance RC.9 native fork and align the Cairo compiler/toolchain. Backport upstream UTF-8 error-stack handling, ordered builtin validation, and null empty-span decoding fixes. SHA-512 stays unsupported in Native to match this version of the VM and OS.
All 18 targeted Blockifier regressions pass. Blockifier and Starknet OS compile on Linux; the compiler-version check and OS, virtual OS, and aggregator program-hash checks pass. The empty-span deployment passes through both modern and deprecated OS syscall decoding; removing either fix reproduces the expected relocatable-pointer failure. Mainnet snapshot replay is still pending.
Preserves the existing dev/SNOS performance changes and supersedes the RC.6-only native pin from #5. Consumed by Madara starkware-libs#1306 and the matching SNOS candidate.