Skip to content

fix(e2e): deflake duplicate_proposal_slash by targeting offense type directly#23370

Draft
AztecBot wants to merge 1 commit into
merge-train/fairiesfrom
claudebox/fix-fairies-add-crate
Draft

fix(e2e): deflake duplicate_proposal_slash by targeting offense type directly#23370
AztecBot wants to merge 1 commit into
merge-train/fairiesfrom
claudebox/fix-fairies-add-crate

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

Failing test on merge-train/fairies CI (run 26031248895, log http://ci.aztec-labs.com/1779103559110764):

FAILED (6b20f775668168e9): src/e2e_p2p/duplicate_proposal_slash.test.ts (309s)
  TimeoutError: Timeout awaiting duplicate proposal offense
  at duplicate_proposal_slash.test.ts:254:30

The merge-train/fairies branch only differs from next by three unrelated shell-script files (bootstrap.sh, spartan/scripts/install_deps.sh, yarn-project/aztec/scripts/add_crate.sh), so the failure is a flake.

The test previously did two sequential waits:

  1. awaitOffenseDetected — wait up to 16 slots for any offense on honestNode1.
  2. retryUntil — wait an additional 4 slots for a DUPLICATE_PROPOSAL offense across all nodes.

If a non-duplicate offense surfaces first on honestNode1, step (1) returns immediately and step (2) gets only 4 slots (96s) to find the duplicate-proposal entry. If the slasher's offenses-collector hasn't flushed it through within that window, the retry times out even though the duplicate eventually appears.

This collapses the two-stage wait into a single retryUntil that targets DUPLICATE_PROPOSAL directly with the full combined budget (20 slots), removing the race.

Investigation gist: https://gist.github.com/AztecBot/d6767ac7756f40cfc9e52157c8664ca1

ClaudeBox log: https://claudebox.work/s/a9d0c3aa5622d671?run=1

@AztecBot AztecBot added ci-draft Run CI on draft PRs. claudebox Owned by claudebox. it can push to this PR. labels May 18, 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. 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