Skip to content

[Bug]: Windows installer hangs indefinitely after Playwright Chromium download reaches 100% #84614

Description

@Annaabdullayeva

Bug Description

On Windows, the Hermes installer can hang indefinitely during the Playwright browser installation step.
The download reaches 100%, but Playwright then stalls while extracting the downloaded ZIP archive. The Hermes installer remains running without reporting success or failure.
The issue occurred for both:
Chrome for Testing / Chromium 145.0.7632.6
Chrome Headless Shell 145.0.7632.6
The downloaded ZIP archives were complete and valid. Extracting the same archives manually with Windows tar.exe completed successfully in less than one second.

Steps to Reproduce

Start Hermes-Setup.exe on Windows 11.
Allow the installer to install the repository, Python dependencies, and Node.js dependencies.
Wait for the Playwright browser installation step.
Observe the Chromium download reaching 100%.
Wait for the extraction phase to complete.
On the affected system, the installer remains stuck after the download reaches 100%.

Expected Behavior

After the Playwright browser download reaches 100%, the archive should be extracted successfully, an installation-complete marker should be written, and the Hermes installer should continue to the desktop dependency and finalization stages.
If extraction fails or stops making progress, the installer should report a clear error and exit instead of waiting indefinitely.

Actual Behavior

The installer remains running indefinitely after the download reaches 100%.
For Chromium:
Downloading Chrome for Testing 145.0.7632.6
100% of 172.8 MiB
The target directory remained partially populated:
%LOCALAPPDATA%\ms-playwright\chromium-1208
Only a few files were created, including:
145.0.7632.6.manifest
ABOUT
D3DCompiler_47.dll
D3DCompiler_47.dll was created with size 0 bytes, and INSTALLATION_COMPLETE was never written.
The same behavior occurred for Chrome Headless Shell after its download reached 100%.
There was no useful error message. The Playwright child process remained alive, but file I/O stopped and the target directory did not grow for more than ten minutes.
The downloaded ZIP itself was valid:
Chromium archive entries: 308
Headless Shell archive entries: 290
Windows tar.exe extracted both archives successfully
Chromium manual extraction time: approximately 0.8 seconds
Headless Shell manual extraction time: approximately 0.7 seconds
As a workaround, manually extracting the archives into the expected Playwright directories and creating INSTALLATION_COMPLETE allowed Hermes installation to continue successfully.

Affected Component

Setup / Installation

Messaging Platform (if gateway-related)

No response

Debug Report

no need

Operating System

Windows 11 Enterprise, build 26200

Python Version

3.11.9

Hermes Version

0.20.0

Additional Logs / Traceback (optional)

Relevant log output:
[OK] Browser tools dependencies installed
-> Installing browser engine (Playwright Chromium)...
Downloading Chrome for Testing 145.0.7632.6
100% of 172.8 MiB
The installer then stopped producing output while the Playwright extraction process remained alive.
The same issue occurred with:
Chrome Headless Shell 145.0.7632.6
100% of 108.8 MiB
Additional findings:
Node.js: v24.16.0
npm: 11.17.0
Playwright: 1.58.2
Available disk space: approximately 586 GB
System Chrome was installed, but Playwright uses its own Chrome for Testing archive
Manual extraction with Windows tar.exe succeeded
After manually extracting both browser archives and writing INSTALLATION_COMPLETE, Hermes completed installation successfully

Root Cause Analysis (optional)

No response

Proposed Fix (optional)

No response

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Medium — degraded but workaround existsarea/install-updateInstaller, updater, packaging, wheels, doctorbugduplicateThis issue or pull request already existsplatform/windowsNative Windows-specific behavior or breakagesweeper:risk-platform-windowsSweeper risk: may break or behave differently on native Windowstool/browserBrowser automation (CDP, Playwright)type/bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions