SIGILL on Intel Celeron J3455 (no AVX/AVX2) in OpenCode 1.1.64; older revision works #9228

Open
opened 2026-02-16 18:11:57 -05:00 by yindo · 3 comments
Owner

Originally created by @tmcinerney on GitHub (Feb 13, 2026).

Originally assigned to: @Hona on GitHub.

Description

OpenCode crashes with SIGILL on Intel Celeron J3455 when launched via latest llm-agents.nix OpenCode package (1.1.64), but works when pinned to an older llm-agents.nix revision (884234d, OpenCode 1.1.48 era).

This appears to be a regression in binary CPU compatibility (likely instruction set assumptions), not config-specific.

CPU: Intel(R) Celeron(R) CPU J3455 @ 1.50GHz; lscpu flags do not include avx or avx2.

Plugins

opencode-gemini-auth@latest
(also reproduces before entering app logic; crash occurs immediately at process start)

OpenCode version

Failing: 1.1.64 (from github:numtide/llm-agents.nix#opencode)
Working: older revision github:numtide/llm-agents.nix/884234d#opencode (OpenCode 1.1.48 era)

Steps to reproduce

  1. On a machine with Intel Celeron J3455 (no AVX/AVX2), run:
    lscpu | grep -E "Model name|Flags"
    nix run github:numtide/llm-agents.nix#opencode -- --version
    
  2. Observe immediate crash:
    • Illegal instruction (core dumped)
    • exit code 132 (SIGILL)
  3. Run older pinned revision:
    nix run github:numtide/llm-agents.nix/884234d#opencode -- --version
    
  4. Older revision runs successfully on same host.

Screenshot and/or share link

CLI output:

Error: ... core dumped with SIGILL (4)
Illegal instruction (core dumped)

Operating System

NixOS (kernel 6.12.65), x86_64

Terminal

Nushell (also reproducible from bash)

Originally created by @tmcinerney on GitHub (Feb 13, 2026). Originally assigned to: @Hona on GitHub. ### Description OpenCode crashes with `SIGILL` on Intel Celeron J3455 when launched via latest `llm-agents.nix` OpenCode package (`1.1.64`), but works when pinned to an older `llm-agents.nix` revision (`884234d`, OpenCode `1.1.48` era). This appears to be a regression in binary CPU compatibility (likely instruction set assumptions), not config-specific. CPU: Intel(R) Celeron(R) CPU J3455 @ 1.50GHz; `lscpu` flags do not include `avx` or `avx2`. ### Plugins `opencode-gemini-auth@latest` (also reproduces before entering app logic; crash occurs immediately at process start) ### OpenCode version Failing: `1.1.64` (from `github:numtide/llm-agents.nix#opencode`) Working: older revision `github:numtide/llm-agents.nix/884234d#opencode` (OpenCode `1.1.48` era) ### Steps to reproduce 1. On a machine with Intel Celeron J3455 (no AVX/AVX2), run: ```bash lscpu | grep -E "Model name|Flags" nix run github:numtide/llm-agents.nix#opencode -- --version ``` 2. Observe immediate crash: - `Illegal instruction (core dumped)` - exit code `132` (`SIGILL`) 3. Run older pinned revision: ```bash nix run github:numtide/llm-agents.nix/884234d#opencode -- --version ``` 4. Older revision runs successfully on same host. ### Screenshot and/or share link CLI output: ``` Error: ... core dumped with SIGILL (4) Illegal instruction (core dumped) ``` ### Operating System NixOS (kernel `6.12.65`), x86_64 ### Terminal Nushell (also reproducible from bash)
yindo added the perfnix labels 2026-02-16 18:11:57 -05:00
Author
Owner

@tmcinerney commented on GitHub (Feb 13, 2026):

Workaround confirmed on this hardware:

nix run github:numtide/llm-agents.nix/884234d#opencode --

This older llm-agents.nix revision (OpenCode 1.1.48 era) runs successfully on the same host where latest (#opencode -> 1.1.64) crashes with SIGILL.

Environment:

  • CPU: Intel Celeron J3455 (no avx/avx2)
  • OS: NixOS x86_64
@tmcinerney commented on GitHub (Feb 13, 2026): Workaround confirmed on this hardware: ```bash nix run github:numtide/llm-agents.nix/884234d#opencode -- ``` This older `llm-agents.nix` revision (OpenCode `1.1.48` era) runs successfully on the same host where latest (`#opencode` -> `1.1.64`) crashes with `SIGILL`. Environment: - CPU: Intel Celeron J3455 (no `avx`/`avx2`) - OS: NixOS x86_64
Author
Owner

@github-actions[bot] commented on GitHub (Feb 13, 2026):


This issue appears to be a duplicate or closely related to existing issues about CPU instruction set compatibility. Please check:

  • #12512: SIGILL on Intel Xeon E3-1270 V2 (no AVX-512/AVX2 support)
  • #13282: OpenCode 1.1.59 crashes immediately on chat (Bun AVX crash)
  • #13379: Illegal Instruction on Ivy Bridge CPUs (AVX supported, AVX2 missing)
  • #12553: Windows: Installer should detect CPU capabilities and use baseline binary
  • #8744: Windows binary selection picks AVX version on non-AVX CPUs
  • #12642: Windows crash with illegal instruction on AMD FX-8350

These issues all stem from the same underlying problem: binary CPU compatibility and AVX/AVX2 instruction set assumptions. Consolidating discussion in one of the existing issues may help the maintainers address this regression more efficiently.

@github-actions[bot] commented on GitHub (Feb 13, 2026): --- This issue appears to be a duplicate or closely related to existing issues about CPU instruction set compatibility. Please check: - #12512: SIGILL on Intel Xeon E3-1270 V2 (no AVX-512/AVX2 support) - #13282: OpenCode 1.1.59 crashes immediately on chat (Bun AVX crash) - #13379: Illegal Instruction on Ivy Bridge CPUs (AVX supported, AVX2 missing) - #12553: Windows: Installer should detect CPU capabilities and use baseline binary - #8744: Windows binary selection picks AVX version on non-AVX CPUs - #12642: Windows crash with illegal instruction on AMD FX-8350 These issues all stem from the same underlying problem: binary CPU compatibility and AVX/AVX2 instruction set assumptions. Consolidating discussion in one of the existing issues may help the maintainers address this regression more efficiently.
Author
Owner

@Hona commented on GitHub (Feb 13, 2026):

so this is an issue with the numtide/llm-agents repo which is community managed. they need to pick the correct package for the current cpu not always use modern.

something e.g. will work for everyone (baseline always - but better is dynamic)

Image
@Hona commented on GitHub (Feb 13, 2026): so this is an issue with the [numtide/llm-agents](https://github.com/numtide/llm-agents.nix) repo which is community managed. they need to pick the correct package for the current cpu not always use modern. something e.g. will work for everyone (baseline always - but better is dynamic) <img width="1320" height="899" alt="Image" src="https://github.com/user-attachments/assets/cd92792d-1813-4649-817c-763f8c1a398e" />
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: anomalyco/opencode#9228