flake: the Chrome e2e dApp signing prompt loses its page about one run in three under load #287
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Measured while wiring the suites into CI for #259.
script/test-e2ewas run six times against unmutatednextcode on this host, which is running many concurrent agent sessions. Two of the six failed, both identically, and a seventh run with an unrelated deliberate mutation hit the same fault ateth_signTypedData_v4. Nothing about the wallet changed between runs.The approval popup page is found,
#view-approve-signis resolved but still hidden, and then the page or context goes away underneath the wait rather than the view becoming visible. It is a race between the harness's wait and the approval window's lifecycle, not a timeout: the message is "has been closed", not "exceeded".The follow-on failure is not a second flake, it is the anti-vacuity guard doing its job — one approval never happened, so it counted two where three were signed:
Why this needs an owner now rather than later: #259 puts this suite on every push. A job that goes red about one run in three without a regression is the thing that teaches people to ignore red. That is why those jobs report rather than gate, and it is the single blocker to ever making
e2e-chromea required check.Not diagnosed further here, and deliberately not papered over — no retry wrapper, no longer timeout, no downgraded assertion. The right fix is to find what closes that page and wait on the right signal.
Reproduce:
make test-e2ein a loop on a loaded machine; expect roughly one failure in three, always in the#183dApp section.Second flake location observed, at a different step than this issue describes — either this issue widens or there are two.
CI
e2e / e2e-chromefailed atba7c5d7(#313) while its baseff3387dwas green:That is browser teardown during the blocklist connect step, not the dApp signing wait this issue documents. The same head rebuilt from scratch and run in the pinned container gave 52/52 including test 45, and the PR touches nothing in that path.
So the failure mode — the page going away under a click — is the same, but the step is not. Worth deciding whether the underlying cause is step-specific (something about the signing wait) or general to any step holding a page across an approval window, because that changes what a fix looks like.