anomalyco / anomalyco/opencode

SIGILL (EXC_BAD_INSTRUCTION) crash when TUI starts over Termius/Android SSH on macOS 12 Intel

Open
#41,497 1 comment 0 reactions 1 assignee View on GitHub

@kommander is already working on this.

Since Aug 10, 2026.

Dominant language
TypeScript
Stars
209k
Forks
27.5k
PR merge metrics
PR metrics pending

Description

Summary

Running opencode (v1.18.16) crashes immediately with SIGILL (EXC_BAD_INSTRUCTION) when the interactive TUI starts over an SSH connection from the Termius app on Android. It works fine:

  • locally in Terminal.app,
  • over a plain ssh localhost TTY,
  • at any terminal size.

The crash is reproducible in both a plain SSH shell and inside tmux over the same Termius connection. It is a startup crash — the process dies before any log lines are written.

Environment
  • opencode 1.18.16 (Bun single binary, /Users/USER/.opencode/bin/opencode, 148 MB, x86_64)
  • macOS 12.7.6 (21H1320) on an Intel MacBookPro11,4 (i7-4770HQ)
  • Client: Termius on Android, SSH over Tailscale, TERM=xterm-256color, ~58x22 terminal
  • No tmux/opencode config involved; fresh session also crashes
Steps to reproduce
  1. From Termius on Android, SSH into the Mac (TERM=xterm-256color).
  2. Run opencode (also reproduced inside tmux).
  3. The process dies immediately with zsh: illegal hardware instruction.
Expected

The TUI starts and renders (as it does locally and over plain ssh).

Crash report

macOS crash reports (~/Library/Logs/DiagnosticReports/opencode-2026-08-10-13*.ips) all show the same signature:

exception: EXC_BAD_INSTRUCTION  signal: SIGILL
termination: Illegal instruction: 4
faultingThread: 0

crashed stack (main thread):
  opencode  (no symbol)   +57846957
  opencode  (no symbol)   +57809547
  opencode  (no symbol)   +17528424
  libsystem_platform.dylib  _sigtramp  +15869
  opencode  (no symbol)   +58597659
  ...

main image: x86_64, uuid 18601ead-261d-3873-a0a1-c9b95e96d94e

This looks like a JavaScriptCore (Bun) JIT code-generation crash on an old Intel macOS build, triggered only by a code path reached during TUI startup through the Termius terminal interaction. Happy to attach the full .ips files if useful.

Workarounds found
  • opencode serve / opencode web (headless, no TUI) works.
  • Plain ssh from another client (tested via ssh localhost) does not crash, so it appears specific to Termius's terminal capability responses.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.