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.)
Summary: Ghostex aborted on a Zig null-optional unwrap inside the kqueue event loop.
Environment
Crash:
EXC_CRASH (SIGABRT)—abort()via Zig panic (unwrapNull).Faulting thread (named
io):Context: Process had run ~28 h through several sleep/wake cycles; low-power mode was active. Heavy multi-pane load at crash time:
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
iothread inbackend.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.)