From f7f7e7dce0c234cb2e5c2e52c0205c0039333f47 Mon Sep 17 00:00:00 2001 From: AztecBot Date: Thu, 6 Aug 2026 13:35:18 +0000 Subject: [PATCH 1/2] fix(ci): give root-rollup VK test a timeout budget that fits its runtime --- barretenberg/cpp/bootstrap.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/barretenberg/cpp/bootstrap.sh b/barretenberg/cpp/bootstrap.sh index 0c324d98db15..86b4bd8d1fbd 100755 --- a/barretenberg/cpp/bootstrap.sh +++ b/barretenberg/cpp/bootstrap.sh @@ -292,8 +292,11 @@ function test_cmds_native { prefix="$prefix:CPUS=8:MEM=16g" elif [[ "$test" == HonkRecursionConstraintTestWithoutPredicate/2.* ]]; then # Root rollup circuit (HonkRecursionTypesWithoutPredicate index 2, IsRootRollup=true): - # a ~6.35M-gate circuit whose VK generation is memory- and compute-heavy. - prefix="$prefix:CPUS=8:MEM=16g" + # a ~6.35M-gate circuit whose VK generation is memory- and compute-heavy. It peaks at + # ~19.2GiB RSS and, because parallelize runs nproc/2 jobs that each take HARDWARE_CONCURRENCY + # threads, its wall-time spreads ~5x with host load (102s..486s observed on a healthy 64-core + # runner). The default 600s budget leaves no headroom for the slow tail, so give it 20m. + prefix="$prefix:CPUS=8:MEM=20g:TIMEOUT=20m" elif [[ "$test" =~ ^(AcirAvmRecursionConstraint|ChonkKernelCapacity|AvmRecursiveTests|IPARecursiveTests|HonkRecursionConstraintTest|ChonkRecursionConstraintTest) ]]; then # IPARecursiveTests fails with 2 threads. prefix="$prefix:CPUS=4:MEM=8g" From 9f1c754751a8b72e3d7fbd755e5e34669ef6b7e5 Mon Sep 17 00:00:00 2001 From: AztecBot Date: Thu, 6 Aug 2026 14:52:10 +0000 Subject: [PATCH 2/2] update PR #25127 --- .../cpp/src/barretenberg/dsl/acir_format/test_class.hpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/barretenberg/cpp/src/barretenberg/dsl/acir_format/test_class.hpp b/barretenberg/cpp/src/barretenberg/dsl/acir_format/test_class.hpp index c227810051e4..1dbac0ccac72 100644 --- a/barretenberg/cpp/src/barretenberg/dsl/acir_format/test_class.hpp +++ b/barretenberg/cpp/src/barretenberg/dsl/acir_format/test_class.hpp @@ -688,9 +688,11 @@ template class TestClass { { AcirProgram program{ constraint_system, witness_values }; auto builder = create_circuit(program, Base::generate_metadata()); - num_gates = builder.get_num_finalized_gates_inefficient(); auto prover_instance = std::make_shared(builder); + // Constructing the ProverInstance finalizes the builder, so the gate count is available here + // without get_num_finalized_gates_inefficient()'s copy of the whole circuit. + num_gates = builder.get_num_finalized_gates(); vk_from_witness = std::make_shared(prover_instance->get_precomputed()); // Validate the builder