Skip to content

Crash: null-unwrap panic in backend.kqueue.Loop.tick (io thread) — 4.21.4 / macOS 26.5.1 / M1 #52

Description

@Ni7e

Summary: Ghostex aborted on a Zig null-optional unwrap inside the kqueue event loop.

Environment

  • Ghostex 4.21.4 (build 42104)
  • macOS 26.5.1 (25F80)
  • Apple M1, 8 GB

Crash: EXC_CRASH (SIGABRT)abort() via Zig panic (unwrapNull).

Faulting thread (named io):

abort + 148
debug.defaultPanic + 1476
debug.FullPanic(defaultPanic).unwrapNull + 48
backend.kqueue.Loop.tick + 3196
Thread.PosixThreadImpl.spawn(...).entryFn + 376

Context: Process had run ~28 h through several sleep/wake cycles; low-power mode was active. Heavy multi-pane load at crash time:

  • Multiple Claude Code sessions open.
  • Multiple OpenCode sessions open.
  • Had just created a new git worktree and spawned an OpenCode session inside it.
  • Was sending input to another OpenCode session, asking it to edit a bead; it refused, saying it was in plan mode and could not.

Frequency: First crash I have ever had with Ghostex, and one of the rare times I was using git worktrees — so the worktree path may be worth a look.

The crash is on an io thread in backend.kqueue.Loop.tick, so a pane/PTY being created or torn down concurrently looks like a plausible trigger.

(Apple crash report trimmed to the relevant frames; happy to share the full incident ID privately if useful.)

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