Illegal instruction (core dumped) (SIGILL)
The program used a CPU instruction your processor doesn’t support — typically AVX/AVX2 in prebuilt binaries (TensorFlow, MongoDB 5+) on older or virtual CPUs.
Seen on:
Linux
Meaning
Builds compiled for newer CPU features crash with SIGILL on older CPUs, some VPS/virtualized CPUs that hide AVX, or Raspberry Pi/ARM variants. Also caused by running x86 binaries under incomplete emulation.
Common causes
- Binary requires AVX/AVX2 the CPU (or VM) doesn’t expose
- MongoDB 5+/TensorFlow prebuilt packages on old CPUs
- ARM build for a newer ARM revision
- Corrupted binary
⚡ Quick fix
- Check CPU flags: grep -o 'avx[^ ]*' /proc/cpuinfo | sort -u
- Use a build without AVX (older version or compile from source)
- Enable host CPU passthrough in the VM
Detailed fix by platform
Linux
- bash
grep -o -w 'avx\|avx2\|avx512f' /proc/cpuinfo | sort -u lscpu | grep -i 'model name\|flags' | head -2
How to diagnose
- CPU — Flags present?
- VM — CPU model exposed by hypervisor
- Binary — Version requirements
🔧 Still not fixed?
Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:
Similar errors
- 0xC0000005 The application was unable to start correctly (0xc0000005) / Exception code 0xc0000005 access violation
- 0xC0000142 The application was unable to start correctly (0xc0000142)
- built for iOS, linking for simulator Building for iOS Simulator, but linking in object file built for iOS, for architecture arm64
Most viewed in Linux
Other ways to find it
🧠 Still stuck? Analyze your error
Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.
Was this page helpful?
Report a correction or suggest an improvement
Last updated 7 Oct 2026