Skip to content

fix(cli): actionable remediation for chrome-headless-shell SIGTRAP on arm64 macOS [P2]#2078

Draft
miguel-heygen wants to merge 1 commit into
mainfrom
fix/chrome-headless-shell-arm64-macos26-v2
Draft

fix(cli): actionable remediation for chrome-headless-shell SIGTRAP on arm64 macOS [P2]#2078
miguel-heygen wants to merge 1 commit into
mainfrom
fix/chrome-headless-shell-arm64-macos26-v2

Conversation

@miguel-heygen

Copy link
Copy Markdown
Collaborator

Bug

On arm64 macOS the bundled chrome-headless-shell can crash with SIGTRAP (EXC_BREAKPOINT) at launch; the render then fails with no guidance. Reported darwin/arm64 macOS 26 (0.7.42); confirmed on an arm64 macOS 26.5.1 machine with 21 chrome-headless-shell trap crash reports in DiagnosticReports.

Why not bump the pinned version

Crashes were observed against builds newer than the current pin (CHROME_VERSION), so a bump is an unverified gamble with a repo-wide blast radius. Chose the lower-risk actionable-error path.

Fix

macosChromeCrashRemediation() (darwin+arm64-gated; reuses isTransientBrowserError from the engine, no duplicated regex) wired into handleRenderError after the Linux chromeLaunchRemediation check. Surfaces --docker / HYPERFRAMES_DOCKER_PLATFORM=linux/amd64 + HYPERFRAMES_BROWSER_PATH. CHROME_VERSION + Linux path untouched.

Tests

+7 (platform/arch gating + message). Full build + typecheck + oxfmt/oxlint clean.

… arm64 macOS

On arm64 macOS the bundled chrome-headless-shell can crash with SIGTRAP
(EXC_BREAKPOINT) at launch, and the render fails with no guidance. Confirmed
on an arm64 macOS 26.5.1 machine with 21 chrome-headless-shell trap crash
reports in DiagnosticReports, including crashes against builds NEWER than the
current pin, so bumping CHROME_VERSION is an unverified gamble with a
repo-wide blast radius. Surface an actionable error instead.

macosChromeCrashRemediation() (darwin+arm64-gated; reuses
isTransientBrowserError from the engine, no duplicated regex) wired into
handleRenderError after the Linux chromeLaunchRemediation check; surfaces the
--docker / HYPERFRAMES_DOCKER_PLATFORM=linux/amd64 and HYPERFRAMES_BROWSER_PATH
workarounds. CHROME_VERSION and the Linux path untouched. 7 tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant