Skip to content

ci(windows): diagnose flaky Runtime Host Local IPC startup failures #3237

Description

@M4n5ter

Summary

Windows GitHub-hosted runners intermittently fail Runtime Host startup checks on identical source trees. The failure moves between the dedicated Local IPC trust-boundary workflow and the installed CLI first-run smoke, while reruns of the same code pass.

This currently makes PR checks non-deterministic and the CLI smoke exposes only INTERNAL_STARTUP_FAILURE, deleting the isolated data root before the underlying Host diagnostic can be inspected.

Evidence

Observed on #3183:

  • Head bded591:
  • Empty retrigger commit 5da258d has the exact same Git tree (b6cad43ab27a6dee887b7285877a097a5e84b875) as bded591:
  • The failed CLI runner was windows-2025-vs2026 in westus; the immediately preceding successful Windows CLI run used the same image version in centralus.
  • The only base change between the two PR merge refs was fix(ui): restore usable scrolling for one-line code blocks #3170, limited to Desktop/UI scrolling and selection files; it did not touch Runtime Host control endpoints, ACL handling, or CLI startup.
  • The same contemporary main revision passed the dedicated Windows recovery workflow.

This rules out a deterministic #3183 code regression and points to a runner-sensitive Local IPC directory/ACL or startup race.

Expected outcome

  • A failed installed-CLI smoke prints or uploads the underlying Runtime Host diagnostic instead of only INTERNAL_STARTUP_FAILURE.
  • On Windows failure, capture the relevant storage/control paths, runner identity/region, directory owner and ACL state, and registration/service logs before the isolated root is deleted.
  • Determine why prepareStorageRootControlDirectory or the subsequent first-run recovery intermittently fails on windows-2025 hosted runners.
  • Stabilize the checks without weakening the Local IPC trust boundary or broadly retrying genuine product failures.

Reproduction status

Intermittent on GitHub-hosted Windows runners; not reproduced deterministically. Two identical PR trees produced disjoint failures in consecutive runs.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions