Skip to content

Probe a musl RID and nothing else for the head - #50

Merged
SimonCropp merged 1 commit into
mainfrom
simon/silly-antonelli-5f42ff
Oct 10, 2026
Merged

SimonCropp merged 1 commit into
mainfrom
simon/silly-antonelli-5f42ff

Conversation

@SimonCropp

Copy link
Copy Markdown
Owner

HeadLocator.Rids() yielded the framework's own RID and then a synthesised linux-{arch}. On Alpine the first is linux-musl-x64, which is not shipped, and the second is linux-x64, the glibc head, so Find returned an apphost that cannot start on musl. The launcher started it detached, waited 15 seconds and printed "The tray did not answer on port N within 15 seconds", instead of the immediate "No BuildMonitor head for linux-musl-x64 under ...".

A musl RID now yields itself alone, so Find returns null and the launcher reports the missing head. This is the guard DiffEngine has in BundledViewerDirectory.Rids, and the one NativeResolver is getting for the native library.

  • HeadLocator.Rids() delegates to a new Rids(string runtimeIdentifier) that stops after the exact RID when it contains -musl-.
  • The class summary claimed a musl machine already missed; it now describes the exception the code makes.
  • HeadLocatorTests gains MuslProbesItsOwnRidAndNothingElse (linux-musl-x64, linux-musl-arm64) and OtherRidsStillFallBackToTheSynthesisedRid.

Tested with the HeadLocatorTests filter on Windows: 6 passed. Not run on an Alpine machine.

HeadLocator tried the framework's own RID and then linux-{arch}, which is the glibc head, so on Alpine the probe that was meant to miss found an apphost that cannot start. The launcher started it, waited 15 seconds and reported a tray that did not answer, rather than that there is no head for linux-musl-x64. A musl RID now yields itself alone, as NativeResolver and DiffEngine's resolver do.
@SimonCropp
SimonCropp merged commit 642285b into main Oct 10, 2026
9 checks passed
@SimonCropp
SimonCropp deleted the simon/silly-antonelli-5f42ff branch October 10, 2026 22:18
@SimonCropp SimonCropp added this to the 1.0.4 milestone Oct 10, 2026
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.

1 participant