Skip to content

st2 main does not pass its own test suite on macOS #255

Description

@myobie

ding::tests::deferred_delivery_backoff_bounds_short_lived_pty_attempts fails on macOS on plain main, with no branch or patch applied.

What I ran

On origin/main at e0a17d9, on Darwin 25.6.0, Apple Silicon:

  • Isolated, cargo test -p st2 --lib -- --exact ding::tests::deferred_delivery_backoff_bounds_short_lived_pty_attempts: 3 failures in 3 runs.
  • Full library suite, cargo test -p st2 --lib: 2 failures in 2 runs, and it is the only failing test both times.

So it is not flaky and not a parallelism artefact. It fails every time, alone or with the suite.

The assertion

assertion `left == right` failed: an unsafe composer must not respawn pty peek/send children every inbox poll
  left: 0
 right: 1

The test expects one spawn and observes none.

Why nobody has seen it

CI is ubuntu-latest only, so every green check on this repository proves Linux and says nothing about Darwin. I found this while running a branch locally, not from a failing check.

Why it is worth fixing

Part of this fleet runs macOS, and this is the delivery path. I do not know yet whether the test encodes a Linux-specific assumption or whether the product behaves differently on Darwin. Those have very different consequences, and I am not going to guess which it is.

I am not proposing a fix here, because I did not write this code. Reporting it so it is visible.

Related: I found two more Darwin-only failures in codex_app_server while folding #254, but those are on that branch rather than on main, and hetz.st2 is working them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:ciCI workflows, gates, and test infrastructure · Set: manualarea:dingDING delivery: inbox notice into a running agent · Set: manualorigin:agentFiled or primarily produced by an AI agent · Set: manualtype:bugSomething broken or a regression · Set: manual

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions