Skip to content

[Bug]: #39692

Closed
Closed

Description

@salbee17

Version

1.58.2

Steps to reproduce

  • playwright install chromium hangs silently with no output
  • Root cause: stale __dirlock file at ~/Library/Caches/ms-playwright/__dirlock
  • No error, no timeout, no hint about the lock — just a hang
  • DEBUG=pw:install also produces no output when this happens
  • macOS (Darwin 25.3.0), Playwright 1.58.2

Expected behavior

output that explains that a dirlock was found would be super helpful.

Actual behavior

It just hangs indefinitely.

Additional context

No response

Environment

System:
    OS: macOS 26.3.1
    CPU: (10) arm64 Apple M4
    Memory: 86.06 MB / 16.00 GB
  Binaries:
    Node: 24.9.0 - /opt/homebrew/bin/node
    npm: 11.6.0 - /opt/homebrew/bin/npm
  IDEs:
    VSCode: 1.105.0 - /usr/local/bin/code
    Claude Code: 2.1.76 - /opt/homebrew/bin/claude
  Languages:
    Bash: 3.2.57 - /bin/bash

Activity

  1. pavelfeldman commented on Mar 15, 2026

    @pavelfeldman
    Member

    Can't repro this and should not happen according to the code.

  2. salbee17 commented on Mar 15, 2026

    @salbee17
    Author

    It happened to me 3 times today, but thanks for the effort.

  3. mrecl-dlb commented on May 11, 2026

    @mrecl-dlb

    this is a reproducible case for me. Seems like __dirlock is the culprit. Downgrading to node@24 also helps which might be expected as playwright does not support node@26

      System:
        OS: macOS 26.4.1
        CPU: (16) arm64 Apple M4 Max
        Memory: 217.80 MB / 48.00 GB
      Binaries:
        Node: 26.1.0 - /Users/mrecl/.nvm/versions/node/v26.1.0/bin/node
        npm: 11.13.0 - /Users/mrecl/.nvm/versions/node/v26.1.0/bin/npm
        pnpm: 11.0.8 - /Users/mrecl/.nvm/versions/node/v26.1.0/bin/pnpm
      Languages:
        Bash: 3.2.57 - /bin/bash
      npmPackages:
        @playwright/test: ^1.55.1 => 1.59.1
    
    ❯ sudo DEBUG=pw:install pnpm  exec playwright install
    Password:
      pw:install downloading Chrome for Testing 147.0.7727.15 (playwright chromium v1217) - attempt #1 +0ms
    Downloading Chrome for Testing 147.0.7727.15 (playwright chromium v1217) from https://cdn.playwright.dev/builds/cft/147.0.7727.15/mac-arm64/chrome-mac-arm64.zip
      pw:install running download: +1ms
      pw:install -- from url: https://cdn.playwright.dev/builds/cft/147.0.7727.15/mac-arm64/chrome-mac-arm64.zip +0ms
      pw:install -- to location: /tmp/playwright-download-YFhjen/playwright-download-chromium-mac15-arm64-1217.zip +0ms
      pw:install -- response status code: 200 +1s
      pw:install -- is chunked: false +0ms
      pw:install -- total bytes: 173508376 +0ms
    165.5 MiB [====================] 100% 0.0s
      pw:install -- download complete, size: 173508376 +11s
      pw:install SUCCESS downloading Chrome for Testing 147.0.7727.15 (playwright chromium v1217) +1ms
      pw:install removing existing browser directory if any +0ms
      pw:install extracting archive +0ms
      < gave it ~3 hours and nothing more was printed >
    

    it also happens on linux CI when building a docker image

    ...
    #12 54.68 Setting up gstreamer1.0-plugins-bad:amd64 (1.26.2-3+deb13u1) ...
    #12 54.69 Processing triggers for dictionaries-common (1.30.10) ...
    #12 54.88 Processing triggers for libc-bin (2.41-12+deb13u2) ...
    #12 54.97 Downloading Chrome for Testing 147.0.7727.15 (playwright chromium v1217) from https://cdn.playwright.dev/builds/cft/147.0.7727.15/linux64/chrome-linux64.zip
    #12 56.32 |                                                                                |   0% of 170.4 MiB
    #12 56.64 |■■■■■■■■                                                                        |  10% of 170.4 MiB
    #12 56.79 |■■■■■■■■■■■■■■■■                                                                |  20% of 170.4 MiB
    #12 56.91 |■■■■■■■■■■■■■■■■■■■■■■■■                                                        |  30% of 170.4 MiB
    #12 57.04 |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                                |  40% of 170.4 MiB
    #12 57.16 |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                        |  50% of 170.4 MiB
    #12 57.28 |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                                |  60% of 170.4 MiB
    #12 57.41 |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                        |  70% of 170.4 MiB
    #12 57.54 |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■                |  80% of 170.4 MiB
    #12 57.66 |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■        |  90% of 170.4 MiB
    #12 57.79 |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■| 100% of 170.4 MiB
    Session terminated, killing shell... ...killed.
    WARNING: Timed out waiting for the build to finish
    ERROR: Job failed: execution took longer than 1h0m0s seconds
    
  4. mootari commented on May 24, 2026

    @mootari

    This appears to be an issue with yauzl in extractZip which is already fixed upstream: thejoshwolfe/yauzl#169

  5. serhalp commented on May 24, 2026

    @serhalp

    Pavel Feldman (@pavelfeldman) Can you please reopen this issue? This is completely blocking our CI on npmx: npmx-dev/npmx.dev#2783. Looks like Fabian Iwand (@mootari) has narrowed in on the cause and trivial fix 🙏🏼.

  6. serhalp commented on May 24, 2026

    @serhalp

    Fabian Iwand (@mootari) 🤔 wait #40724 seems to be a duplicate and it was fixed by #40747?

  7. mootari commented on May 24, 2026

    @mootari

    Philippe Serhal (@serhalp) Good catch, looks like it's already fixed 🎉

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions