Skip to content

Flaky on macos-latest: 3044 owner-lifetime host does not answer get_protocol_info within 10s #3289

Open

Description

@code-yeongyu

Summary

On macos-latest, the CI job "RPC supervisor exit" can fail in test/suite/regressions/3044-rpc-owner-lifetime.test.ts because the spawned host does not answer get_protocol_info within 10 s. Cleanup then refuses the PID whose command changed.

Evidence

Expected

The owner-lifetime regression is deterministic on macos-latest: a slow runner extends the wait instead of failing on a fixed 10 s protocol-info deadline. And when the host does not start, cleanup reports the real cause instead of refusing changed process.

Hypothesis (unverified)

The 10 s get_protocol_info deadline is tight for a cold host start on a loaded macos-latest runner. #3054 fixed a different race in the same test (pid liveness at exit-pipe close).

Acceptance

  • No timing-only failures across repeated macos-latest runs of the job (e.g. 10 consecutive green runs).
  • A host that never answers fails with a clear startup-timeout message, and cleanup does not mask it.

Activity

  1. code-yeongyu commented on Oct 22, 2026

    @code-yeongyu
    OwnerAuthor

    Recurred on main at fafcfee, CI run https://github.com/code-yeongyu/senpi/actions/runs/39754103857, job macOS combined, step "Supervisor owner, normal-stop and compiler regressions" (2 failed, 26 passed):

    • 3044-rpc-owner-lifetime.test.ts > exits within the bound after owner normal exit: spawned RPC socket host did not answer get_protocol_info within 10000ms, then cleanup's refusing changed process.
    • 3045-owner-review.test.ts > starts an unowned host without opening an owner watcher even when watches are exhausted: missing ready after 20 s.

    Same symptom as this issue. The neighbouring main CI runs passed this step on macOS: 811267c (08:51Z), c2f7c6f (10:16Z), 2f4501b (10:32Z). The fafcfee change (#3951, frontier stable prefix) does not touch RPC host code.

  2. code-yeongyu commented on Oct 27, 2026

    @code-yeongyu
    OwnerAuthor

    Another occurrence on the 'macOS combined' check (macos-26-arm64 hosted runner) for #4374 at 6e92045 (merge ref 3a7c135): test/suite/regressions/3044-rpc-owner-lifetime.test.ts > RPC owner lifetime > does not exit early when live: "spawned RPC socket host did not answer get_protocol_info within 10000ms", followed by "refusing changed process" in cleanup. #4374 does not touch the RPC host, supervisor or owner-lifetime code; the same head passed 23,701/23,701 tests in a full local run. Job: https://github.com/code-yeongyu/senpi/actions/runs/40431984015/job/121951674535

  3. code-yeongyu commented on Oct 27, 2026

    @code-yeongyu
    OwnerAuthor

    Another occurrence, local Linux/macOS review run of senpi#4374 at 45f7408 (a merge of main into the PR; the delta touches neither the RPC host nor its startup path): test/suite/regressions/3044-rpc-owner-lifetime.test.ts:55 failed once with "spawned RPC socket host did not answer get_protocol_info within 10000ms" while the host's load average was ~40 on 18 cores; the same file passed 8/8 when re-run alone right after. Same load-sensitive 10 s deadline.

  4. added a commit that references this issue on Oct 27, 2026
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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions