Skip to content

Fix tutorial platform launcher hangs with newer .NET patches - #8592

Closed
boblangley wants to merge 1 commit into
masterfrom
fix/quickstart-servicecontrol-roll-forward
Closed

boblangley wants to merge 1 commit into
masterfrom
fix/quickstart-servicecontrol-roll-forward

Conversation

@boblangley

Copy link
Copy Markdown
Member

The quickstart can hang at “Waiting for ServiceControl to be available” even when a newer .NET 10 patch is installed. The current Particular.PlatformSample 4.* dependency bundles ServiceControl, Audit, and Monitoring with runtime configurations that require exactly .NET 10.0.11 and disable roll-forward. Those processes exit on a machine with only 10.0.13, while the launcher suppresses their errors and continues waiting.

Set DOTNET_ROLL_FORWARD=LatestPatch before launching the tools in quickstart and message replay, the two tutorials using this package major. The child processes inherit this setting, allowing newer patches of the required major/minor runtime while preserving the minimum patch requirement. The quickstart's tools remain disabled until the existing tutorial step enables them.

Addresses the quickstart startup report. The host roll-forward documentation describes the LatestPatch policy.

Validation:

  • Built both tutorial solutions with no warnings or errors: quickstart in Release and message replay in its available Debug configuration.
  • Reproduced the original quickstart hang without the setting, using an isolated runtime installation with .NET 10.0.13 and ASP.NET Core 10.0.13, with 10.0.11 absent.
  • Ran both real launchers with the fix: ServiceControl, Audit, Monitoring, and ServicePulse returned HTTP 200. Loaded-module checks confirmed all three ServiceControl processes used 10.0.13. RavenDB used its separate .NET 8 runtime (8.0.32).
  • Tested all three unmodified package runtime configurations: LatestPatch accepts 10.0.13 and still rejects the older 10.0.3 runtime.
  • docstool test --no-version-check and git diff --check passed.

Runtime and launcher smoke tests ran on macOS arm64; Windows was not tested locally. This is a tutorial-level mitigation for the bundled runtime policy. A .NET 10 runtime older than the required 10.0.11 can still leave the package launcher waiting silently; that behavior needs an upstream change. Embedded RavenDB separately requires .NET 8.0.28 or later; this change does not alter that prerequisite.

@boblangley

boblangley commented Oct 23, 2026 •

Copy link
Copy Markdown
Member Author

Withdrawing this and moving the fix to PlatformSample: Particular/Particular.PlatformSample#687.

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