Skip to content

launcher-state-isolation: a silent pwsh reads as the readers disagreeing, and 'the readers agree' prints after a FAIL #1738

Open

Description

@christianparpart

launcher-state-isolation went red on Linux-gcc-release-arm64 in PR #1737 (job 123011905020, run 40743694086, merge commit 90ee651). The same check passed on the previous run of that branch, and Stats.cpp was unchanged between the two runs.

What the log shows

Every launcher-state-readers-agree comparison failed the same way: the bash reader's rows are on the left, and the PowerShell side is empty:

FAIL launcher-state-readers-agree: the two readers of Stats.cpp disagree on posix
     | 1,2c1
     | < XDG_STATE_HOME|
     | < HOME|/.local/state
     | ---
     | >
...
   the readers agree on 3 file(s) x 2 platform(s)

All six pairs are empty on the pwsh side. That includes the planted fixtures, whose answers do not depend on the tree. So the one pwsh -Command call in scripts/check-launcher-state-isolation.sh (~line 785) returned no N:-prefixed line at all. Either pwsh failed to start or run, or it printed only an error.

Two defects in the check (not in the subject)

  1. An instrument failure is reported as a disagreement between the readers. The check reads "pwsh answered nothing" exactly like "the readers disagree", and whatever pwsh printed (2>&1) is discarded. That collapses two states. Per metrics-and-observability.md, an instrument that did not answer is its own outcome, and its output should be shown.
  2. the readers agree on 3 file(s) x 2 platform(s) is printed unconditionally, right after the six FAIL lines.

Inferred, not measured

Why pwsh was silent on that runner is unknown, because its output was thrown away. Fixing (1) is what would answer that.

Activity

  1. christianparpart commented on Oct 29, 2026

    @christianparpart
    MemberAuthor

    Seen again on Linux-gcc-release-arm64, run 40841430042 (job 123340173376, PR #1740). This time the pwsh child's exit status was 139, a SIGSEGV: FAIL launcher-state-ps-seam: the PowerShell self-test did not report its cases (exit 139). So at least one of these "silent pwsh" readings is pwsh crashing on the arm64 runner, not returning nothing. The FIX here should name a crash (an exit status of 128 or above) separately from silence.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    status/needs-triageNot yet typed or assigned an areatype/bugBehaves incorrectly against its stated contract

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions