vercel-labs / vercel-labs/dev3000
Illegal instruction (SIGILL) on Intel Pentium Gold - binary requires AVX
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 1.6k
- Forks
- 99
- Avg merge
- 20m
- Merged PRs (30d)
- 1
Description
Description
The d3k CLI crashes immediately with Illegal instruction (core dumped) on CPUs that lack AVX instruction set support. The pre-compiled @d3k/linux-x64 binary appears to be compiled with AVX/AVX2 instructions, which are not available on lower-end x86_64 processors.
Steps to Reproduce
- Install
dev3000on a machine with an Intel Pentium Gold (or similar CPU without AVX) - Run
d3k(or the binary directly) - Observe:
Illegal instruction (core dumped), exit code 132
Environment
- OS: Ubuntu 24.04.4 LTS (Noble Numbat)
- Kernel: 6.17.0-14-generic
- CPU: Intel Pentium Gold G6400 @ 4.00GHz (x86_64, no AVX/AVX2)
- Node.js: v22.14.0
- dev3000 version: 0.0.170
- @d3k/linux-x64 version: 0.0.170
Root Cause
The CPU flags on this machine include SSE4.1, SSE4.2, POPCNT, AES, but not AVX or AVX2. The Intel Pentium Gold G6400 (Comet Lake) does not support AVX.
The pre-compiled binary at @d3k/linux-x64/bin/dev3000 uses instructions beyond what this CPU supports, resulting in SIGILL.
Suggested Fix
Compile the Linux x64 binary targeting a baseline x86_64 instruction set (e.g., SSE4.2 or x86-64-v2) instead of requiring AVX/AVX2 (x86-64-v3). This would ensure compatibility with a wider range of x86_64 processors, including Intel Pentium, Celeron, and older Core series.
Alternatively, provide separate binaries for different x86-64 microarchitecture levels (v2, v3).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the build configuration and packaging for the @d3k/linux-x64 binary, then reproduce the d3k launch on a CPU without AVX support. Determine which compiler target introduces AVX instructions. Done means the Linux x64 binary runs on the reported Pentium Gold without SIGILL while preserving supported functionality.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript
- Domain
- build-system, cli
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100