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

ooni / netem / 38313030455
84%
main: 84%

Build:
Build:
LAST BUILD BRANCH: fix-gvisor-stack-close
DEFAULT BRANCH: main
Ran 12 Oct 2026 09:51PM UTC
Jobs 1
Files 28
Run time 1min
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

12 Oct 2026 09:33PM UTC coverage: 83.654% (+0.03%) from 83.621%
38313030455

Pull #52

github

aagbsn
fix: destroy the GVisor stack on Close

gvisorStack.Close only closed netem's own channel: the GVisor stack's endpoints, protocol
workers and timers kept running, so every closed host leaked about one goroutine per CPU,
plus the stack's buffers, for the life of the process. Tests that create many topologies,
such as probe-cli's netemx QA scenarios run with -race -count=N, accumulated gigabytes.

Close now calls stack.Destroy() after closing the channel. Closing the channel first makes
WriteNotify return at once, so GVisor cannot block on it while the teardown aborts
endpoints. A closed stack also fails new dials at once instead of timing out.

Tested with the new gvisor_test.go (160 goroutines leaked by 5 closed topologies before,
none after), go test -race ./..., and probe-cli's netemx, webconnectivityqa,
webconnectivitylte, telegram, whatsapp and signalclient tests against this tree.
Pull Request #52: fix: destroy the GVisor stack on Close

7 of 7 new or added lines in 1 file covered. (100.0%)

2 existing lines in 1 file now uncovered.

2523 of 3016 relevant lines covered (83.65%)

0.88 hits per line

Coverage Regressions

Lines Coverage ∆ File
2
79.46
-1.79% router.go
Jobs
ID Job ID Ran Files Coverage
1 0 - 38313030455.1 12 Oct 2026 09:51PM UTC 28
83.65
GitHub Action Run
Source Files on build 38313030455
  • Tree
  • List 28
  • Changed 3
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #52
  • PR Base - main (#29426834759)
  • Delete
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