You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: browserType.launchServer() ignores the timeout option and can hang forever #43819
(the hook only runs under test). We hit this in production with Firefox: a launch that hung never settled, so our controller blocked until it restarted.
Expected behavior
The call rejects with Timeout 5000ms exceeded., as browserType.launch() does. Without timeout it should use the documented 180000 ms default.
Actual behavior
The call never times out. BrowserServerLauncherImpl.launchServer (packages/playwright-core/src/browserServerImpl.ts) works out launchOptions.timeout but calls controller.run(...) without it. #36455 moved launch timeouts onto ProgressController.run(task, timeout) and added the argument in remote/playwrightServer.ts, but missed this call site.
Additional context
I have a one-line fix (pass launchOptions.timeout to controller.run) plus a test modeled on BT-012 should handle timeout. I'd be happy to open a PR if you approve.
Hi, I'm the Playwright bot. I reproduced this and verified a fix.
Reproduced on Chromium, Firefox and WebKit on Linux at deb7e86201e26cb4a8e25191fce5ef2f7a28aa87 (1.65.0-next). launchServer() calculates the timeout but does not pass it to the progress controller. Passing that value restores the timeout. The existing launch-timeout test now checks server launches too.
The release check confirms the regression in 1.54.0, introduced by #36455; the same check passes on 1.53.2.
Condensed reproduction
The hook requires the repository's test environment (PWTEST_UNDER_TEST=1).
Without the fix, the server launch succeeds after the six-second hook instead of rejecting at five seconds. The check closes that server so that the failed test does not leave it running.
Server timeout assertion fails on all three; direct launch timeout works
Same checkout with the fix
Chromium, Firefox, WebKit
Timeout assertion passes on all three
Both browsertype-launch.spec.ts and browsertype-launch-server.spec.ts pass with the fix: 77 passed, 1 existing skip. The without/with-fix check was repeated before handoff. npm run build and npm run flint pass.
Activity
github-actions commentedon Oct 31, 2026
github-actions commentedon Oct 31, 2026
Hi, I'm the Playwright bot. I reproduced this and verified a fix.
Reproduced on Chromium, Firefox and WebKit on Linux at
deb7e86201e26cb4a8e25191fce5ef2f7a28aa87(1.65.0-next).launchServer()calculates the timeout but does not pass it to the progress controller. Passing that value restores the timeout. The existing launch-timeout test now checks server launches too.The release check confirms the regression in 1.54.0, introduced by #36455; the same check passes on 1.53.2.
Condensed reproduction
The hook requires the repository's test environment (
PWTEST_UNDER_TEST=1).Without the fix, the server launch succeeds after the six-second hook instead of rejecting at five seconds. The check closes that server so that the failed test does not leave it running.
What I ran
All runs were headless on Linux.
deb7e86201e26cb4a8e25191fce5ef2f7a28aa87Both
browsertype-launch.spec.tsandbrowsertype-launch-server.spec.tspass with the fix: 77 passed, 1 existing skip. The without/with-fix check was repeated before handoff.npm run buildandnpm run flintpass.Draft PR: #43826
Triaged on Linux by the Playwright bot - agent run