Skip to content

macOS: x0xd ignores SIGTERM (no exit after 13s+, needs SIGKILL) — reproduced on v0.39.0 bare daemon #371

Description

@dirvine

Long-observed ("OPEN: macOS SIGTERM hang" in session notes since v0.32) but never filed. Reproduced today on two bare x0xd 0.39.0 official-binary instances on macOS 26.6 (M-series):

  • x0xd --name leakctl --api-port 12798 --skip-update-check (prod bootstrap, ~3h uptime, 3.1 GB RSS)
  • x0xd --name leakctl2 --api-port 12797 --no-hard-coded-bootstrap --skip-update-check (~1h uptime, 770 MB)

kill <pid> (SIGTERM) → both still running after 13 s with no log output indicating shutdown began; kill -9 required. Earlier today the tic-tac-toe sidecar on studio1 (0.37.4, 142 GB RSS) behaved the same (SIGTERM, 6 s, then -9).

Impact: the #261/#363 transactional upgrade handoff "cancels gracefully within a 5 s bound" and test harnesses' DaemonFixture teardown both assume SIGTERM works — on macOS they fall through to the hard path and lose the clean-shutdown guarantees (dhat dumps, WAL flush, GroupDeleted/withdraw fan-out). Possibly related to the large-RSS state (#368) if shutdown is blocked on a stalled task, but the 770 MB instance hung identically.

Repro: start a bare daemon, wait for peers > 0, kill -TERM, watch kill -0 for 30 s.

🤖 Generated with Claude Code

Activity

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

    bugSomething isn't workingpriority:P2Normal priority: confirmed defect or remaining feature work

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions