fix: allow expected zkVM entrypoint warnings#2804
Open
peter941221 wants to merge 1 commit into
Open
Conversation
0be7600 to
0175817
Compare
Author
|
Rebased this onto current main and pushed 0175817. The diff is still just the one crate-level warning allow in crates/zkvm/entrypoint/src/lib.rs, and cargo check -p sp1-zkvm --lib passes on the refreshed head. |
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.
This PR suppresses expected warnings in the zkVM entrypoint crate so the current Succinct zkVM toolchain can compile test artifacts without hitting a warning-rendering ICE.
While preparing low-VRAM GPU benchmark evidence for the CUDA prover path, the test-artifacts build repeatedly failed before any benchmark could run.
The failure happened inside rustc +succinct 1.93.0-dev while emitting warnings from crates/zkvm/entrypoint/src/lib.rs. The observed panic was:
slice index starts at 16 but ends at 14
The query stack ended in check_mod_deathness / analysis for crate sp1_zkvm. The generated local ICE report path was:
crates/zkvm/entrypoint/rustc-ice-2026-05-20T14_55_26-8010.txt
This PR adds a crate-level allow for the warning categories emitted by this entrypoint crate:
dead_code
static_mut_refs
unused_imports
This is intentionally narrow. It does not change runtime code, proving logic, public APIs, or CUDA kernels.
Validated on a local RTX 5090 machine using the current branch from main commit 98a376e.
Command 1:
CARGO_BUILD_JOBS=1 SP1_SKIP_PROGRAM_BUILD=false cargo bench -p sp1-gpu-logup-gkr --bench gkr -- random:20
Result:
populate_circuit/random/core_2^20: 1.989 ms to 2.271 ms, mean 2.120 ms
prove/random/core_2^20: 112.32 ms to 117.77 ms, mean 113.80 ms
Command 2:
CARGO_BUILD_JOBS=1 SP1_SKIP_PROGRAM_BUILD=false cargo bench -p sp1-gpu-shard-prover --bench prove_trusted_evaluations -- random:20
Result:
prove_trusted_evaluations/random/core_2^20: 50.530 ms to 54.764 ms, mean 52.622 ms
This PR is not a performance optimization. It is a small build/benchmark enablement change. The value is that GPU prover microbenchmarks can complete and produce repeatable evidence instead of being blocked by warning emission in the current zkVM toolchain.