Skip to content

fix(ci): raise AVM check-circuit per-tx timeout from 30s to 120s#24043

Draft
AztecBot wants to merge 1 commit into
nextfrom
cb/avm-check-circuit-timeout-fix-24039
Draft

fix(ci): raise AVM check-circuit per-tx timeout from 30s to 120s#24043
AztecBot wants to merge 1 commit into
nextfrom
cb/avm-check-circuit-timeout-fix-24039

Conversation

@AztecBot

Copy link
Copy Markdown
Collaborator

Problem

The nightly AVM Circuit Inputs Collection and Check workflow failed on next (run 27394504089). The GitHub job avm-check-circuit exited with code 124 (the SSM command surfaced the remote timeout exit code), and parallelize --halt now,fail=1 aborted the whole job on the first failing command.

Root cause

A single check-circuit command timed out — not a correctness failure:

FAILED: bb-avm avm_check_circuit -v --avm-inputs .../e2e_multiple_blobs/avm-circuit-inputs-tx-0x2636082f...bin (34s) (code: 124)

That tx produces a large AVM circuit. From its log:

Generating trace...                                   (mem: 825 MiB)   @ 04:55:22
Checking circuit... (mem: 3912 MiB)                                    @ 04:55:41   (~19s trace gen)
Running check (with skippable) circuit over 700560 rows.
timeout: sending signal TERM to command 'bash'                        @ 04:55:51

With the default ISOLATE resources (2 CPUs), trace generation (~19s) plus the check pass over ~700k rows exceeds the per-command TIMEOUT=30s, so timeout kills it. That 30s value has been in place unchanged since the feature was added (#18747) and was never tuned; the inline comment already anticipated exactly this ("transactions could need more CPU and MEM than we allocate by default ... they might start timing out").

Fix

Raise the per-command timeout from 30s to 120s in avm_check_circuit_cmds. The heaviest observed tx needs ~40s end-to-end at 2 CPUs, so 120s gives comfortable margin as circuits grow while staying under the 5-minute "test too slow" warning threshold.

CPUS is intentionally left at the default 2: parallelize runs num_cpus/2 jobs (96 on the 192-core CI box), so 2 CPUs per command already fully utilizes the machine. Bumping CPUS without changing the job count would oversubscribe the cores and get throttled back by CFS, providing no real speedup — a timeout bump is the correct, scheduler-consistent fix.

Testing

Scripted change to a nightly CI path; behavior can't be exercised in unit CI. The fix is a timeout increase only — the circuit itself passed its checks up to the kill point, it simply needed more wall time than the old budget allowed.


Created by claudebox · group: slackbot

@AztecBot AztecBot added ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR. labels Jun 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-draft Run CI on draft PRs. ci-no-fail-fast Sets NO_FAIL_FAST in the CI so the run is not aborted on the first failure claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant