Skip to content

test: flag e2e_p2p_duplicate_proposal_slash as flake under pipelining#23515

Merged
alexghr merged 1 commit into
merge-train/spartanfrom
cb/946d20d52830
May 22, 2026
Merged

test: flag e2e_p2p_duplicate_proposal_slash as flake under pipelining#23515
alexghr merged 1 commit into
merge-train/spartanfrom
cb/946d20d52830

Conversation

@AztecBot
Copy link
Copy Markdown
Collaborator

Summary

Add .test_patterns.yml entry to flag e2e_p2p/duplicate_proposal_slash > slashes validator who sends duplicate proposals as a flake. Hit on http://ci.aztec-labs.com/930ddc9ede87059f and dequeued PR #23344 from the merge queue.

This is the same race family as #23501 — under pipelining the slasher's offense recording loses to the test's wait timeout.

Investigation

Failure: TimeoutError: Timeout awaiting duplicate proposal offense at retryUntil (yarn-project/foundation/src/retry/index.ts:90) from duplicate_proposal_slash.test.ts. The test triggers a duplicate checkpoint proposal from validator-1, advances time, and polls the slasher for a DUPLICATE_PROPOSAL offense. The offense never appears within the wait window and the test exits with code: 1 after 226 s.

Surrounding log signal: the run shows committee attestation collection timing out one slot earlier (AttestationTimeoutError: Timeout collecting attestations for slot 14: 2/3) under pipelining, so the duplicate-proposal slot's gossip path is degraded around the same window the test is polling.

Why a specific entry? The blanket src/e2e_p2p/.*\.test\.ts pattern with flake_group_id: e2e-p2p-epoch-flakes already covers this file, but only up to the group threshold of 4. On this PR the threshold was already consumed by other p2p flakes (sentinel_status_slash.parallel was FLAKED in the same run), so this failure escalated to FAILED and dequeued the merge train. Adding a specific entry with error_regex lets this exact failure mode be tolerated independently of the group threshold, matching #23501's approach for attested_invalid_proposal.

Follow-up

Proper source fix is on the slasher / p2p side, parallel to the work in spl/fix-ha-full-equivocation-check: ensure the duplicate-proposal detector sees both gossip arrivals even when committee attestation collection for the same slot is stalling. This patch is the quick unblock.

Test plan

  • Flake regex matches the observed TimeoutError: Timeout awaiting duplicate proposal offense from the failure
  • CI continues to run e2e_p2p/duplicate_proposal_slash.test.ts; failures now alert palla on #aztec3-ci instead of failing the build

Created by claudebox · group: slackbot

@AztecBot AztecBot added the claudebox Owned by claudebox. it can push to this PR. label May 22, 2026
@alexghr alexghr marked this pull request as ready for review May 22, 2026 20:03
@AztecBot AztecBot changed the base branch from next to merge-train/spartan May 22, 2026 20:05
@AztecBot AztecBot changed the base branch from merge-train/spartan to next May 22, 2026 20:23
@AztecBot AztecBot changed the base branch from next to merge-train/spartan May 22, 2026 20:23
@alexghr alexghr merged commit 5e90b3f into merge-train/spartan May 22, 2026
33 of 35 checks passed
@alexghr alexghr deleted the cb/946d20d52830 branch May 22, 2026 20:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

claudebox Owned by claudebox. it can push to this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants