# Illegal instruction (core dumped) (SIGILL)

**Code:** `Illegal instruction` · **Category:** Linux · **Seen on:** Linux

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.

## 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

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/linux/illegal-instruction-core-dumped)
