deps: restore sing-box-minimal v1.12.21-lantern (Android bootstrap deadlock)#8678
Merged
myleshorton merged 1 commit intomainfrom Apr 17, 2026
Merged
deps: restore sing-box-minimal v1.12.21-lantern (Android bootstrap deadlock)#8678myleshorton merged 1 commit intomainfrom
myleshorton merged 1 commit intomainfrom
Conversation
PR #8655 ("Save last server location") accidentally downgraded sing-box-minimal from v1.12.21-lantern back to v1.12.19-lantern in go.mod during review churn. v1.12.21-lantern contains commit 9c79c311 ("fix: make initial remote rule-set fetch non-fatal"), which turns the Android bootstrap deadlock ("no available network interface" during initial rule-set fetch) from a fatal libbox startup error into a WARN + retry-after-start. Without it, nightly builds from main fail to connect on any smart-routing country (Macao, Bulgaria, etc.). Confirmed by comparing Freshdesk #172722 (broken, rule_set_remote.go:235, v1.12.19-lantern) with #172795 (working, rule_set_remote.go:113, v1.12.21-lantern). Same user, same device, same 9.0.25 version, same smart-routing-bg-common-direct fetch failure — only the sing-box-minimal version differs. The v9.0.25-beta-android tag was cut before #8655 merged, which is why Alexander's beta works while the nightly doesn't. `go mod tidy` also dropped stale go.sum entries for superseded radiance and lantern-box pseudo-versions and removed the unused getsentry/sentry-go indirect (left behind after #8665).
Contributor
There was a problem hiding this comment.
Pull request overview
Restores the sing-box-minimal replacement version to v1.12.21-lantern to address the Android bootstrap deadlock during the initial remote rule-set fetch, and cleans up module metadata from go mod tidy.
Changes:
- Update
go.modreplace directive to usegithub.com/getlantern/sing-box-minimal v1.12.21-lantern. - Update
go.sumaccordingly and drop stale sums for no-longer-referenced module versions (including removedsentry-goindirect entries).
Reviewed changes
Copilot reviewed 1 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| go.mod | Restores the sing-box replacement target to sing-box-minimal v1.12.21-lantern and removes an unused indirect requirement. |
| go.sum | Synchronizes sums with the restored dependency version and tidies out unused/stale entries. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
myleshorton
added a commit
that referenced
this pull request
Apr 17, 2026
Companion to #8678. The refactor branch still pins v1.12.19-lantern, which is missing the non-fatal-rule-set-fetch fix (sing-box-minimal 9c79c311, shipped in v1.12.21-lantern). Without it, Android builds from this branch hit the same bootstrap deadlock.
2 tasks
myleshorton
added a commit
that referenced
this pull request
Apr 17, 2026
Companion to #8678. The refactor branch still pins v1.12.19-lantern, which is missing the non-fatal-rule-set-fetch fix (sing-box-minimal 9c79c311, shipped in v1.12.21-lantern). Without it, Android builds from this branch hit the same bootstrap deadlock.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bumps
sing-box-minimalback tov1.12.21-lantern. This was the version onmainuntil #8655 "Save last server location" accidentally downgraded it tov1.12.19-lanternduring review churn.v1.12.21-lanterncontains9c79c311("fix: make initial remote rule-set fetch non-fatal"), which turns the Android bootstrap deadlock (`"no available network interface"` during initial rule-set fetch) from a fatallibboxstartup error into aWARN + retry-after-start. Without it, nightly builds frommainfail to connect on any smart-routing country.Diagnosis
Same user (Alexander, Bulgaria), same device (
28daebb937d60563), same9.0.25version, different builds:main, post-#8655)v1.12.19-lantern235(fetch() error path)ERROR Failed to start libbox service— tunnel never startsv9.0.25-beta-android(cut before #8655)v1.12.21-lantern113(StartContext warn)WARN initial rule-set fetch failed, will retry after start— tunnel starts cleanlySame
smart-routing-bg-common-directfetch failure in both logs; only the sing-box-minimal version differs.Follow-ups
getlantern/radiancePRs don't fail silently when disk is full #423 and Consider adding SPDY support to all proxies. #424 (Go-level rule-set pre-download) closed — redundant with the sing-box-minimal fix.getlantern/lantern-cloudMigrate from gost to gb #2595 retires thedns_ruleset_host_bypassfeature flag and its DNS bypass rule — verified empirically that routing rule-set hostnames todns_localdoes not help (sameno available network interfaceerror), since the problem is sing-box's dialer having no registered interfaces, not the DNS routing decision.go mod tidycleanupTidy also dropped stale
go.sumentries for supersededradianceandlantern-boxpseudo-versions and removed the unusedgetsentry/sentry-goindirect (left behind after #8665 "remove sentry").Test plan
go build ./...cleango mod tidyclean