Skip to content

Flaky CI tests: session-history E2E anchor, Windows git-info refresh, Windows setup-config lock timeout #829

Open

Description

@tt-a1i

Three tests failed intermittently in CI on 2026-10-14. In each case the code under test was untouched, and rerunning only the failed jobs passed. They block the required checks, so each flake costs a rerun before the next merge.

1. tests/web/session-history.e2e.ts:340: prefetched native history loads on upward reading without moving the visible anchor

2. Windows: tests/extensions/git-info/index.test.ts:30: automatic refresh with a spaced fixture path stays local until /pr explicitly requests GitHub data

3. Windows: tests/extensions/shared/setup-config.test.ts:661: a reused PID does not impersonate the dead lock owner

Also observed once today (same pattern, passed on rerun)

Suggested direction

For each test, fix the root cause: wait on the actual readiness signal instead of wall-clock time or a fixed timeout, and make lock-wait budgets scale on Windows. Don't just add retries or longer timeouts.

Activity

  1. 627150795 commented on Oct 14, 2026

    @627150795
    Contributor

    我来处理其中第 3 项:Windows 上 setup-config 锁等待超时及“重用 PID 不会冒充已退出锁持有者”的回归覆盖。范围仅限这条锁等待/所有权路径,不处理 session-history E2E 与 git-info 刷新两项。

  2. tt-a1i commented on Oct 14, 2026

    @tt-a1i
    CollaboratorAuthor

    Status update:

    • Fixed in test: fix root causes of two flaky tests (#829) #831
      • settings-appearance.e2e.ts:371 was a real store bug: an accepted restore was reported as unconfirmed whenever a concurrent snapshot refresh superseded its own. Locally it failed 4/16 before the fix and passed 16/16 after; a unit test covers it.
      • Windows git-info/index.test.ts:30 was a fixture cold start: the first exec of a freshly copied node.exe exceeded the 3 s Git budget. The fixture is now warmed up before timing.
      • CI on test: fix root causes of two flaky tests (#829) #831 passed 3 full runs, including the Windows jobs.
    • session-history.e2e.ts:340: superseded. The failing bottom-of-view assertion was replaced in feat(web): improve resource settings, usage and conversation reading #807 (b79bb1d), and 8/8 local repeats pass on main. Leave this open for now and close it if it doesn't recur.
    • Windows setup-config.test.ts:661: diagnosed, not fixed.
      • Stale-lock recovery needs the owner's process start time. On Windows, queryProcessStartedAt (extensions/shared/setup-config.ts) spawns powershell.exe -Command Get-Process with a 1 s execFile timeout.
      • A PowerShell cold start on a busy runner can exceed that budget. The query then returns undefined, processLiveness reports unknown, and recovery fails closed until the 5 s lock deadline expires.
      • This is also a product issue: on slow Windows machines, a stale lock may never be recovered. The fix needs a cheaper start-time source than spawning PowerShell, for example a native or wmic-free query with an appropriate budget, verified on Windows. I didn't change this without being able to verify it.
    • document-reading-state.spec.ts:234: not reproduced (0/15 local runs). Still open.
  3. tt-a1i commented on Oct 15, 2026

    @tt-a1i
    CollaboratorAuthor

    New flaky test, observed on Windows:

  4. tt-a1i commented on Oct 15, 2026

    @tt-a1i
    CollaboratorAuthor

    Another Windows UI flake, seen on main after #714 merged:

  5. tt-a1i commented on Oct 15, 2026

    @tt-a1i
    CollaboratorAuthor

    Another Windows UI flake, seen on main (c041b3e) when the job was rerun:

    • tests/web/workbar-session-position.spec.ts:577: "reattaches a Session's file position after a copied same-ID Session, releasing the old preview" (UI windows-latest Node 22.19.0) failed with TestingLibraryElementError: Unable to find role="button" and name "README.md". Run: https://github.com/openpi-dev/openpi/actions/runs/38764433340

    The same Windows UI job has now failed three times on one commit, each time on a different test, so the Windows UI suite looks generally timing-sensitive.

  6. tt-a1i commented on Oct 15, 2026

    @tt-a1i
    CollaboratorAuthor

    Another flake, this time in Linux Web E2E, seen on #722 after it was synced with main:

  7. tt-a1i commented on Oct 15, 2026

    @tt-a1i
    CollaboratorAuthor

    Another Windows timing flake, seen on main (4418140) after #722 merged:

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions