Skip to content

test: the Connection closed. cascade after a stalled browser file is unreproduced #178

Description

@AlexJeffcott

Summary

polly#177 reported that once one browser-tier file times out, every later file
fails with Connection closed. — one stall turning 5 healthy files into 5
failures. The fix for it landed on fix/177-modal-render-loop unverified
against that symptom
, because the symptom did not reproduce.

What is known

The runner now gives each file its own browser context, bounds teardown at 5s,
and relaunches the browser if browser.connected is false
(tools/test/src/browser/run.ts). scripts/e2e-browser-runner-stall.ts proves
healthy files run either side of three deliberately stalled ones, and asserts
the output contains no Connection closed.

What is not known

Whether that is the mechanism that produced the original cascade. Two
whole-tier runs of the eal repro were attempted with a stalled chat.browser.tsx
in the middle; both times the later files ran normally on the old code, so the
cascade never occurred and the fix was never exercised against it.

Readings from those attempts:

Attempt Result
eal whole tier, POLLY_BROWSER_TIMEOUT_MS=10000 61 passed, 1 failed — chat timed out, all 8 other files ran
eal whole tier, second attempt same

The original report used a 300000ms timeout, so a long-held wedged renderer may
be a necessary condition — a page spinning at 100% CPU for 5 minutes is a
different load on the browser process than one spinning for 10 seconds.

Next step

Reproduce with POLLY_BROWSER_TIMEOUT_MS=300000 against a build with the
polly#177 Modal defect restored, and watch whether the browser process dies. If
it does, confirm the relaunch path recovers; if the cascade cannot be produced
at all, close this and treat the isolation work as a standing guard.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions