• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mxschmitt / playwright-go / 29544834853 / 1
79%
main: 79%

Build:
Build:
LAST BUILD BRANCH: codex/fix-page-frames-race
DEFAULT BRANCH: main
Ran 17 Jul 2026 12:45AM UTC
Files 62
Run time 4s
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

17 Jul 2026 12:14AM UTC coverage: 78.742% (+0.05%) from 78.688%
29544834853.1

Pull #625

github

alvarorichard
fix: guard pageImpl.frames with lock to fix data race in Page.Frames()

pageImpl.frames was written by the connection dispatch goroutine
(onFrameAttached/onFrameDetached) and read by user goroutines via
Page.Frames()/Page.Frame() with no synchronization. Frames() also
returned the internal slice without copying, so callers aliased
memory mutated by the event goroutine.

Guard p.frames with the sync.RWMutex already embedded via
channelOwner, mirroring the existing pattern in browser.go and
browser_context.go. Frames() now returns a copy under RLock, Frame()
iterates a locked snapshot, and onFrameAttached/onFrameDetached
mutate under Lock with Emit kept outside the critical section since
handlers run synchronously and may re-enter Page methods.

Adds a regression test that fails with multiple DATA RACE reports
under -race before this change and passes after.
Pull Request #625: fix: guard pageImpl.frames to prevent data race

8738 of 11097 relevant lines covered (78.74%)

1647.46 hits per line

Source Files on job ubuntu-latest-chromium - 29544834853.1
  • Tree
  • List 62
  • Changed 2
  • Source Changed 0
  • Coverage Changed 2
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 29544834853
  • 58f75306 on github
  • Prev Job for on fix/page-frames-data-race (#28387148315.9)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc