Skip to content

Regression: Launching Firefox with MS Playwright Times Out #33229

@OIRNOIR

Description

@OIRNOIR

Upon updating to Deno v2.7.12, launching Firefox within Playwright has started to hang, eventually timing out with an exception. Rolling back to v2.7.11 resolves the issue. By trying different canary builds, I can determine that the issue was introduced in commit daeaf3c.

Minimal reproduceable example:

deno.json:

{
  "imports": {
    "playwright": "npm:playwright@^1.59.1"
  }
}

poc.ts:

import playwright from "playwright";

const browser = await playwright.firefox.launch({
        headless: true
});

console.log("Browser started successfully! Closing in 10 seconds...");

setTimeout(async () => {
        await browser.close();
}, 10000)

Ensure playwright is installed on your system: npx playwright install (not deno x; install script doesn't like deno for some reason)

Run: deno run -A ./poc.ts

Expected Behavior (v2.7.11 and before):

  • Browser starts
  • "Browser started successfully! Closing in 10 seconds..." is logged.
  • The program exits successfully in 10 seconds.

Actual behavior (Regression in v2.7.12):

  • Browser hangs
  • Nothing is logged for a while
  • After 3 minutes (180000ms), the program crashes with the following error:
error: Uncaught (in promise) TimeoutError: browserType.launch: Timeout 180000ms exceeded.
Call log:
  - <launching> /home/oirnoir/.cache/ms-playwright/firefox-1511/firefox/firefox -no-remote -headless -profile /tmp/playwright_firefoxdev_profile-mGZsu7 -juggler-pipe -silent
  - <launched> pid=6570
  - [pid=6570][err] *** You are running in headless mode.
  - [pid=6570][err] JavaScript warning: resource://services-settings/Utils.sys.mjs, line 116: unreachable code after return statement
  - [pid=6570][out] console.warn: services.settings: Ignoring preference override of remote settings server
  - [pid=6570][out] console.warn: services.settings: Allow by setting MOZ_REMOTE_SETTINGS_DEVTOOLS=1 in the environment
  - [pid=6570][out]
  - [pid=6570][out] Juggler listening to the pipe
  - [pid=6570][err] JavaScript warning: resource://gre/modules/UpdateService.sys.mjs, line 4026: unreachable code after return statement

This behavior is reproduceable on both Debian 13 and Arch Linux systems.

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions