Illegal instruction 🐧 Linux

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

  1. Check CPU flags: grep -o 'avx[^ ]*' /proc/cpuinfo | sort -u
  2. Use a build without AVX (older version or compile from source)
  3. Enable host CPU passthrough in the VM

Detailed fix by platform

Linux

  1. bash
    grep -o -w 'avx\|avx2\|avx512f' /proc/cpuinfo | sort -u
    lscpu | grep -i 'model name\|flags' | head -2

How to diagnose

  1. CPU — Flags present?
  2. VM — CPU model exposed by hypervisor
  3. 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:

🧠 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.