Crash tests fail with the Chromium sandbox on Linux
维护者通常 1 天内回复
@microsoft-playwright-automation 已经在做这个了。
开始于 2026年11月13日。
- #44102 来自 @microsoft-playwright-automation —— 未关闭
评估
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 新手友好度
- 30/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- github-actions, playwright, typescript
- 领域
- ci-cd, testing, testing-qa
调研方向
Start with tests/mcp/crash.spec.ts and the sandbox flags in packages/playwright-core/src/tools/mcp/config.ts; compare the failing MCP tests with the passing CDP crash test in tests/mcp/cli-cdp.spec.ts. Run the crash tests on Linux Chrome with --no-sandbox to test the reported hypothesis, then investigate the renderer crash event and revisit the skips in tests/mcp/crash.spec.ts and tests/library/page-event-crash.spec.ts. Done means the cause is identified and the skips match the condition that requires them.
由索引模型根据 Issue 内容生成。
描述
The page crash event does not arrive when Chrome runs with the Chromium sandbox on Linux. This is an inference from the bot results below. No run has tested Chrome on Linux with only the sandbox changed.
Failing tests
The three tests in tests/mcp/crash.spec.ts fail on the ubuntu-latest - chrome MCP job in every run on main since 12 November (13 of 13 runs).
ubuntu-latestmoved from theubuntu-24.04image toubuntu-26.04on 12 November. The file skips these tests onubuntu24.04with the reason "never dispatches the crash event" (crash.spec.ts#L22). That skip does not apply on Ubuntu 26.04.- Last job on
ubuntu-24.04, tests skipped: https://github.com/microsoft/playwright/actions/runs/43144624249/job/130939423022 - First job on
ubuntu-26.04, Chrome, tests fail: https://github.com/microsoft/playwright/actions/runs/43278840376/job/131394396446 - Same run, Chromium, tests pass: https://github.com/microsoft/playwright/actions/runs/43278840376/job/131394396707
- Latest failed job: https://github.com/microsoft/playwright/actions/runs/43347870985/job/131631484897
The crash event never arrives:
1) [chrome] › tests/mcp/crash.spec.ts:31:3 › crash recovery › reports the navigation error, then resets and logs the crash
Error: Test timeout of 30000ms exceeded
47 | expect(log).toContain('Page crashed and was reset to about:blank.');
> 48 | }).toPass();
2) [chrome] › tests/mcp/crash.spec.ts:58:3 › crash recovery › lists only one tab
Test timeout of 30000ms exceeded.
Error: Not connected
3) [chrome] › tests/mcp/crash.spec.ts:79:3 › crash recovery › marks non-current crashed tab in the tab list
Test timeout of 30000ms exceeded.
Error: Not connected
In tests 2 and 3, page.waitForEvent('crash') after page.goto('chrome://crash') does not resolve.
Why the sandbox
On Linux, the MCP server starts --browser=chrome with the sandbox on and --browser=chromium with the sandbox off (config.ts#L235-L242). The library starts all browsers with the sandbox off.
Crash tests on the Linux MCP bots, main, 6 to 13 November:
| Test | Browser | Started by | Sandbox | Ubuntu 26.04 | Ubuntu 24.04 |
|---|---|---|---|---|---|
mcp/crash.spec.ts (3 tests) |
Chrome stable | MCP server | on | 0 of 13 passed | skipped |
mcp/crash.spec.ts (3 tests) |
Chromium | MCP server | off | 13 of 13 passed | skipped |
attach via cdp with a crashed page |
Chrome stable | library | off | 13 of 13 passed | 47 of 47 passed |
attach via cdp with a crashed page |
Chromium | library | off | 13 of 13 passed | 48 of 48 passed |
attach via cdp with a crashed pageruns in the same job with the same Chrome stable. It navigates tochrome://crash, waits for thecrashevent, and passes. Thus the Chrome build is not the cause.- That test also passed on Ubuntu 24.04 with Chrome and with Chromium. Thus the Ubuntu version is probably not the cause, and the
ubuntu24.04skip names the wrong condition. - Chrome on macOS and Windows passes
mcp/crash.spec.tswith the sandbox on. Only Linux has the problem.
Skips to examine again
tests/mcp/crash.spec.ts#L22: skip onubuntu24.04, added in #40617.tests/library/page-event-crash.spec.ts#L40: the same skip for Chromium onubuntu24.04, added in #40156. The library runs with the sandbox off, so this skip does not agree with the sandbox explanation. It is possibly out of date, or specific to theplaywright-x64-ubuntu24-64-coremachines.
Next steps
- Run
tests/mcp/crash.spec.tswith--no-sandboxon the Linux Chrome bot to confirm that the sandbox is the cause. - Replace the
ubuntu24.04skips with the correct condition. - Find why a sandboxed Chrome on Linux does not report the renderer crash. The job reports have no browser output or MCP server output.
- 主要语言
- TypeScript
- 星标
- 99.7k
- 派生
- 6.8k
- 平均合并
- 16 小时 10 分钟
- 30 天内合并 PR
- 301
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
microsoft/playwright 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 82/100
microsoft/playwright#44109 ·
维护者通常 1 天内回复
-
agent-triage
难度 5/5 一周以上 新手友好度 45/100
microsoft/playwright#44103 · 2 条评论 ·
维护者通常 1 天内回复
-
[MCP]: --extension --background: noDefaults skips focus emulation, hidden tabs get no rAF and clicks time out可能已有人在做 @microsoft-playwright-automation 今天认领。 未关闭agent-triage
难度 4/5 3-5 天 新手友好度 25/100
microsoft/playwright#44096 · 2 条评论 ·
维护者通常 1 天内回复
-
api review feedback Nov 11th, 2026可能已有人在做 @luizpaulo-antunes 于 1 天前认领。 未关闭
难度 3/5 1-2 天 新手友好度 70/100
microsoft/playwright#44062 · 1 条评论 ·
维护者通常 1 天内回复
-
[Bug]: page.evaluate in Chromium never settles when its argument nests 60 objects deep可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭agent-triage
难度 4/5 3-5 天 新手友好度 25/100
microsoft/playwright#44060 · 5 条评论 ·
维护者通常 1 天内回复
查看 microsoft/playwright 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 78/100
pieterjanscheir/belgica#201 ·
维护者通常 1 天内回复
-
accessibility
难度 2/5 1-3 小时 新手友好度 66/100
numerique-gouv/lasuite-landingpage#311 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 75/100
oxc-project/tsgolint#1362 ·
维护者通常 1 天内回复
-
bug external xai
难度 2/5 1-3 小时 新手友好度 72/100
langchain-ai/langchain#41854 ·
维护者通常 1 天内回复
-
ready-for-agent
难度 1/5 1-3 小时 新手友好度 72/100
nemchik/biome-plugin-suitescript#137 ·
维护者通常 1 天内回复