chore(bb): refresh pinned Chonk IVC inputs to fix nightly debug build --ci-refresh-chonk#23924
Open
AztecBot wants to merge 2 commits into
Open
chore(bb): refresh pinned Chonk IVC inputs to fix nightly debug build --ci-refresh-chonk#23924AztecBot wants to merge 2 commits into
AztecBot wants to merge 2 commits into
Conversation
Collaborator
Author
|
Pinned Chonk inputs refreshed to |
… --ci-refresh-chonk ## What Refreshes the pinned Chonk IVC inputs (`barretenberg/cpp/scripts/chonk-inputs.hash`) so the **Nightly Debug Build** goes green again. This PR carries the `ci-refresh-chonk` label **and** a `--ci-refresh-chonk` head-commit marker. PR CI's post-action (`ci_update_chonk_inputs.sh`) regenerates the pinned inputs, uploads the new tarball to S3, verifies the smallest flow through `ChonkPinnedIvcInputsTest.AllPinnedFlows`, and pushes a follow-up commit replacing the placeholder hash in this PR with the freshly-pinned value. **Do not merge until that follow-up commit lands** — the hash here is a `0000…` placeholder until then. Supersedes the earlier closed-unmerged refresh attempt #23744; the pin is still at the 2026-05-21 value (`209dde8e69a27c9f`), so the nightly has stayed red. ## Root cause Nightly debug build run [27085031299](https://github.com/AztecProtocol/aztec-packages/actions/runs/27085031299) failed in: ``` FAILED: barretenberg/cpp/scripts/run_test.sh bbapi_tests ChonkPinnedIvcInputsTest.AllPinnedFlows (code: 1) ``` The failure is on circuit 10/10 (`hiding_kernel`) of the `deploy_ecdsar1+sponsored_fpc` pinned flow: ``` Pub inputs offset mismatch: 669 vs 673 Commitment mismatch: Q_M, Q_C, Q_L, Q_R, Q_O, Q_4, Q_5, Q_ARITH, Q_SORT, ... C++ exception: Assertion failed: (kernel_return_data_match) Reason: kernel_return_data mismatch: proof contains { 0x183227397098d014..., 0x0 } but kernel_calldata commitment is { 0x..01, 0x..02 } ``` The `hiding_kernel` circuit's public-input layout changed (offset 669 → 673, plus selector-commitment changes), so the **precomputed VK and proof baked into the pinned `ivc-inputs.msgpack` are stale**. The reconstructed `kernel_return_data` from the stale public inputs reads a sentinel `{1, 2}` (the BN254 generator, i.e. an empty databus column) instead of the real return-data commitment, tripping the consistency check. That check is `BB_ASSERT_DEBUG(kernel_return_data_match, ...)` at `barretenberg/cpp/src/barretenberg/chonk/chonk.cpp:169` — a **debug-only** assertion compiled out of release/PR CI. Only the nightly *debug* build exercises it, which is why the stale pin slips past merge-queue CI. The pin was last bumped 2026-05-21. Circuit-affecting barretenberg changes have since landed on `next` without `ci-refresh-chonk`, most notably: - #23484 *fix: harden batch chonk verifier* — adds an independent batched-SRS MSM check in `IPA::batch_reduce_verify` (`commitment_schemes/ipa/ipa.hpp`); the IPA verifier lives inside the hiding kernel, which accounts for the new public inputs and changed selector commitments. - #23615 *feat: optimize sumcheck in ECCVM and Translator*. ## Fix Regenerate and re-pin the Chonk inputs via the standard `ci-refresh-chonk` flow (this PR). No source changes are needed — the pinned fixtures just need to track the current circuits. ## Follow-up (separate) Because the assertion is debug-only, circuit changes can stale the pin with no PR-CI signal, and refresh PRs have repeatedly been opened and closed without landing. Worth deciding whether `chonk_inputs.sh check` should exercise the pinned-flow IVC with debug asserts at PR time (or whether the nightly should hard-block), so this is caught before it reaches the nightly. Tracking separately. --- *Created by [claudebox](https://claudebox.work/v2/sessions/1bec730eb3623e82) · group: `slackbot`*
30b93a1 to
5423cc3
Compare
Generated by ci-refresh-chonk. Only the pinned Chonk input hash is committed here; the immediate follow-up CI run is skipped intentionally. --ci-skip
Collaborator
Author
|
Pinned Chonk inputs refreshed to |
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.
What
Refreshes the pinned Chonk IVC inputs (
barretenberg/cpp/scripts/chonk-inputs.hash) so the Nightly Debug Build goes green again.This PR carries the
ci-refresh-chonklabel and a--ci-refresh-chonkhead-commit marker. PR CI's post-action (ci_update_chonk_inputs.sh) regenerates the pinned inputs, uploads the new tarball to S3, verifies the smallest flow throughChonkPinnedIvcInputsTest.AllPinnedFlows, and pushes a follow-up commit replacing the placeholder hash in this PR with the freshly-pinned value. Do not merge until that follow-up commit lands — the hash here is a0000…placeholder until then.Supersedes the earlier closed-unmerged refresh attempt #23744; the pin is still at the 2026-05-21 value (
209dde8e69a27c9f), so the nightly has stayed red.Root cause
Nightly debug build run 27085031299 failed in:
The failure is on circuit 10/10 (
hiding_kernel) of thedeploy_ecdsar1+sponsored_fpcpinned flow:The
hiding_kernelcircuit's public-input layout changed (offset 669 → 673, plus selector-commitment changes), so the precomputed VK and proof baked into the pinnedivc-inputs.msgpackare stale. The reconstructedkernel_return_datafrom the stale public inputs reads a sentinel{1, 2}(the BN254 generator, i.e. an empty databus column) instead of the real return-data commitment, tripping the consistency check.That check is
BB_ASSERT_DEBUG(kernel_return_data_match, ...)atbarretenberg/cpp/src/barretenberg/chonk/chonk.cpp:169— a debug-only assertion compiled out of release/PR CI. Only the nightly debug build exercises it, which is why the stale pin slips past merge-queue CI.The pin was last bumped 2026-05-21. Circuit-affecting barretenberg changes have since landed on
nextwithoutci-refresh-chonk, most notably:IPA::batch_reduce_verify(commitment_schemes/ipa/ipa.hpp); the IPA verifier lives inside the hiding kernel, which accounts for the new public inputs and changed selector commitments.Fix
Regenerate and re-pin the Chonk inputs via the standard
ci-refresh-chonkflow (this PR). No source changes are needed — the pinned fixtures just need to track the current circuits.Follow-up (separate)
Because the assertion is debug-only, circuit changes can stale the pin with no PR-CI signal, and refresh PRs have repeatedly been opened and closed without landing. Worth deciding whether
chonk_inputs.sh checkshould exercise the pinned-flow IVC with debug asserts at PR time (or whether the nightly should hard-block), so this is caught before it reaches the nightly. Tracking separately.Created by claudebox · group:
slackbot