• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Warning: This build has drifted.
The coverage report for this pull request build may be inaccurate because its base commit is no longer the HEAD of its target branch.
This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

    • Learn more: For more information on this, see Tracking coverage changes for pull request builds.
    • Fix now: For a quick fix, rebase this PR at GitHub. Your next report should be accurate.
    • Prevent going forward: To avoid this issue with future PRs, see these Recommended CI Configurations.
New Repo Setting:
INCLUDE COVERAGE % WITH WARNINGS ABOUT DRIFTED BUILDS?

Enabling this setting will include a (potentially inaccurate) coverage % with warning messages in status updates for drifted builds.

Adjust setting

playwright-community / playwright-go / 28143967425 / 1
79%
main: 79%

Build:
Build:
LAST BUILD BRANCH: roll/v1.61.1
DEFAULT BRANCH: main
Ran 25 Jun 2026 03:28AM UTC
Files 58
Run time 2s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

25 Jun 2026 03:01AM UTC coverage: 76.207% (-0.03%) from 76.233%
28143967425.1

Pull #602

github

mxschmitt
fix: prevent jsonPipe deadlock that hung remote connections

The remote-connection transport (jsonPipe) delivered incoming messages into
a bounded channel (buffer 10) from the outer connection's dispatch goroutine.
When more than 10 messages queued before the inner connection drained them,
that blocking send stalled the dispatch goroutine — which is also the only
goroutine that delivers replies. Any in-flight Send() awaiting a reply then
blocked forever.

This surfaced as a flaky hang in TestShouldUploadAFolderRemote: streaming
files to a remote server produces a burst of write/close responses plus async
page events, occasionally exceeding the buffer and deadlocking until the test
timeout. Reproduced deterministically by shrinking the buffer to 1; goroutine
dump showed the dispatch goroutine blocked on 'chan send' at jsonPipe while the
test goroutine blocked on 'chan receive' in jsonPipe.Send.

Replace the bounded channel with an unbounded, order-preserving queue drained
by Poll(), so the dispatch goroutine never blocks. Add unit tests covering the
non-blocking guarantee, ordering, blocking Poll, close, and drain-before-close.
Pull Request #602: fix: prevent jsonPipe deadlock that hung remote connections

7716 of 10125 relevant lines covered (76.21%)

692.42 hits per line

Source Files on job macos-latest-webkit - 28143967425.1
  • Tree
  • List 58
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 28143967425
  • e0cf9843 on github
  • Prev Job for on pr/jsonpipe-deadlock (#28136695452.8)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc