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

KarpelesLab / slirp / 23943364098
71%

Build:
DEFAULT BRANCH: master
Ran 03 Apr 2026 10:36AM UTC
Jobs 1
Files 17
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

03 Apr 2026 10:36AM UTC coverage: 79.889% (-0.4%) from 80.33%
23943364098

push

github

MagicalTux
Fix 8 bugs: deadlocks, protocol errors, missing EOF, stray packets

1. tcpConn sends packets outside mutex — fixes deadlock in Pipe
   scenarios where synchronous delivery re-enters handleOutbound.
   All packet sends now use queue+drain pattern (same as VirtualConn).
   Applied to handleOutbound, readFromRemote, flushSendQ, maintenanceLoop
   for both IPv4 and IPv6.

2. FIN now increments sSeq (consumes sequence number) — the client's
   ACK for our FIN is properly detected, closing the connection instead
   of waiting for the 2-minute idle timeout.

3. vclient Read() returns io.EOF after remote FIN when data drained —
   previously blocked forever because it only checked 'closed' flag.

4. Stack.Close() uses sync.Once — no longer panics on double call.

5. vclient FinWait1+FIN without ACK → Closing state (was CloseWait).
   Added tcpClosing state per RFC 793 simultaneous close.

6. Non-SYN packets to non-existent connections get RST instead of
   silently creating useless map entries.

7. net.Dial moved outside mutex — no longer blocks Stack maintenance.
   On dial failure, sends RST+ACK to client.

8. VirtualConn/VirtualConn6 send duplicate ACKs for out-of-order data,
   consistent with tcpConn behavior.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

131 of 193 new or added lines in 7 files covered. (67.88%)

6 existing lines in 2 files now uncovered.

2737 of 3426 relevant lines covered (79.89%)

11.73 hits per line

Uncovered Changes

Lines Coverage ∆ File
23
78.5
-0.15% tcp.go
17
73.03
1.8% tcp6.go
9
87.21
-1.28% vclient/tcp.go
7
63.64
-1.29% usernat.go
6
81.76
-3.35% ipv6.go

Coverage Regressions

Lines Coverage ∆ File
5
73.03
1.8% tcp6.go
1
78.5
-0.15% tcp.go
Jobs
ID Job ID Ran Files Coverage
1 23943364098.1 03 Apr 2026 10:36AM UTC 17
79.89
GitHub Action Run
Source Files on build 23943364098
  • Tree
  • List 17
  • Changed 7
  • Source Changed 7
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23943364098
  • 400475c7 on github
  • Prev Build on master (#23935651152)
  • Next Build on master (#23943906717)
  • Delete
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