Skip to content

Bump radiance: stop leaking Soar streams - #9203

Merged
myleshorton merged 1 commit into
mainfrom
fisk/radiance-soar-leak
Oct 22, 2026
Merged

myleshorton merged 1 commit into
mainfrom
fisk/radiance-soar-leak

Conversation

@myleshorton

@myleshorton myleshorton commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

This bumps radiance to 5bff222, which brings soar v0.2.4 and kindling 48c13b1 (getlantern/radiance#700). Together they fix a stream leak that permanently broke Soar on a long-running client.

What happened on 10.0.3-beta-10: one Windows client failed every Soar attempt about 1,800 times over two days with soar: too many streams.

  • A Soar round tripper holds one stream until a request uses it.
  • kindling dropped round trippers that connected after the race was decided, or that waited behind the winning request, without closing them.
  • Unbounded's signaling polls run every ~14 s, and Soar often loses those races after connecting, so each lost race leaked a stream.
  • After 64 leaks, every Soar dial failed instantly until the app restarted.

The fix has two halves, either of which stops the leak alone:

The new vcs.ref.head.revision attribute (#9183) is what pinned this to beta 10 and to one device. Once this ships, it will show whether that device and the rest of the fleet recover.

Changes

Only go.mod and go.sum change, after go mod tidy.

Verification

  • go build ./... passes.
  • CGO_ENABLED=1 go test -tags with_gvisor,with_quic,with_wireguard,with_utls,with_grpc ./... passes. These are CI's flags.

Pre-PR review (local Codex gate)

  • Rounds: 1. Final: CODEX GATE: verdict=approve critical=0 important=0 minor=0 reviewed=32
  • Exit: approve. Besides the diff, the reviewer read:
  • Fixed: none
  • Dismissed: none

🤖 Generated with Claude Code

https://claude.ai/code/session_01QQFpfCXs3JqrfyDuiGabF5

Summary by CodeRabbit

  • Chores
    • Updated supporting software components. No changes to user-facing features or behavior are included in this release.

radiance 5bff222 brings soar v0.2.4 and kindling 48c13b1
(getlantern/radiance#700). A round tripper that lost a race kept its
Soar stream open, so a client that kept losing short races eventually
failed every Soar attempt with "soar: too many streams" until restart.

The range also brings getlantern/radiance#698 (peer helper direct mode).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QQFpfCXs3JqrfyDuiGabF5
Copilot AI balanced review requested due to automatic review settings October 22, 2026 16:24
@coderabbitai

coderabbitai Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 132e5ce5-ec8c-42df-90ab-ecef096b06fe
📥 Commits

Reviewing files that changed from the base of the PR and between 652ed30 and 3b943a0.

⛔ Files ignored due to path filters: 1
  • go.sum is excluded by !**/*.sum
📒 Files selected for processing: 1
  • go.mod

Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review.

📝 Walkthrough

The module manifest updates the direct Radiance dependency and the indirect Kindling and Soar dependencies. No exported or public entities change.

Changes: Dependency updates

Layer / File(s) Summary
Update dependency versions
go.mod
The manifest updates Radiance and Kindling to newer pseudo-versions and Soar from v0.2.3 to v0.2.4.

Priority: ➖ Normal

Estimated code review effort: 1 (Trivial) | ~4 minutes

Change: Bug fix

Possibly related PRs

Suggested reviewers: atavism

Merge Risk: ⚪ Minimal · up to 3b943

No merge-blocking issue is identified in the dependency update.

Pre-merge checks: Passed 5
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly identifies the radiance dependency bump and its primary purpose: preventing leaked Soar streams.
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Full details: Docstring Coverage

Explanation

No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The bundled peer-authentication, credential-rotation, and heartbeat reconciliation changes warrant human review despite no concrete defects being identified.

No open issues 🎉

What changed in this PR

Updates Lantern’s Go dependencies to bring in fixes for leaked Soar streams that could disable Soar until the client restarted. The Radiance update also includes peer-helper direct-mode changes.

Changes:

  • Bumps Radiance from 25c0a61 to 5bff222, including peer pairing, rotation, and heartbeat reconciliation updates.
  • Updates Soar to v0.2.4 and Kindling to 48c13b1 to release unused streams and connections.
  • Refreshes the corresponding dependency checksums.
File Description
go.sum Updates checksums for Radiance, Kindling, and Soar.
go.mod Pins the updated Radiance and indirect dependency versions.

Review effort: Balanced

@myleshorton
myleshorton merged commit a3ebf8d into main Oct 22, 2026
19 checks passed
@myleshorton
myleshorton deleted the fisk/radiance-soar-leak branch October 22, 2026 16:48
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