Skip to content

fix(driver): do not crash on EPIPE after the client exits - #43499

Open
Pavel Feldman (pavelfeldman) wants to merge 1 commit into
microsoft:mainfrom
pavelfeldman:driver-stdout-epipe
Open

Pavel Feldman (pavelfeldman) wants to merge 1 commit into
microsoft:mainfrom
pavelfeldman:driver-stdout-epipe

Conversation

@pavelfeldman

Copy link
Copy Markdown
Member
  • runDriver() had no error listener on process.stdout, so a write after the client exited crashed the driver with EPIPE before it closed the browsers.
  • Ignore the error; the driver still exits gracefully when stdin closes.
  • Seen as flaky SI-005/SI-006 (browser process exit on client kill) in playwright-python on WebKit.

When a language binding exits while the driver still sends messages,
the write to stdout fails with EPIPE. Without an error listener the
driver crashes before it closes the browsers, so a launched browser
can outlive the client. Ignore the error; the driver still exits
gracefully when stdin closes.
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

3 flaky ⚠️ [chromium-library] › library/chromium/chromium.spec.ts:353 › CR-017 should produce network events, routing, and annotations for Service Worker `@chromium-playwright-x64-ubuntu24-64-core-node22`
⚠️ [firefox-library] › library/browsercontext-cookies-third-party.spec.ts:257 › CO-054 third party 'Partitioned;' cookies `@firefox-playwright-x64-ubuntu24-64-core-node22`
⚠️ [firefox-library] › library/browsercontext-cookies-third-party.spec.ts:470 › CO-058 top level 'Partitioned;' cookie and same origin iframe `@firefox-playwright-x64-ubuntu24-64-core-node22`

23577 passed, 712 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

5154 passed, 614 skipped


Merge workflow run.

This branch has not been deployed

No deployments
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.

2 participants