Issues / #795

#795 Main engine strata.exe crashes with STATUS_ILLEGAL_INSTRUCTION (0xC000001D) on non-AVX-512 CPU - 20 WER crashes across v0.1.35/v0.1.38, fault offsets cluster in fixed code regions

open · @bjfr123321 · 2 comments · View on GitHub

Server & APINVIDIA / CUDAModels & quantsDocumentationWindows

Description

## Title

Main engine strata.exe crashes with STATUS_ILLEGAL_INSTRUCTION (0xC000001D) on non-AVX-512 CPU - 20 WER crashes across v0.1.35/v0.1.38, fault offsets cluster in fixed code regions

## Body

### Summary

The prebuilt Windows `strata.exe` crashes with `STATUS_ILLEGAL_INSTRUCTION` (0xC000001D) on a CPU without AVX-512. Over three days I collected **20 Windows Error Reporting crash reports**: every single one has exception code `c000001d` with the **faulting module being `strata.exe` itself**. The fault offsets cluster into a few fixed code regions per build, which points to unguarded non-AVX2 instructions in specific code paths rather than random memory corruption.

This looks like the same class of bug as #411/#419 (unguarded AVX-512 `vmovups zmm0` in the 0.1.32 `strata-vision.exe`, fixed in 0.1.33 by rebuilding portable) - but in the **main engine**, present in both 0.1.35 and 0.1.38.

### Environment

- CPU: Intel i9-13900KF (AVX2/FMA only, **no AVX-512** - fused off since 12th gen)
- GPU: NVIDIA RTX 4090 24 GB
- OS: Windows 11 (10.0.26200), 64 GB RAM
- Engine: official prebuilt, v0.1.35 (PE timestamp `6abf61e7`) then v0.1.38 (`6ac050de`)
- Models: Qwen3.8-Flash-Next GSQ-RCO abliterated GGUF, IQ2_XS and IQ3_S (self-built packs per repo README requirement), served via `serve/server.py`, long agent-style workloads (100K-230K token prompts)
- The engine itself prints `this CPU has no AVX-512: the expert kernels run on AVX-2` on every start - so the expert-kernel dispatch works; the crash sites are outside that path.

### Evidence: 20 WER reports, one identical signature

From `Report.wer` (WER signature fields: Sig[3] faulting module, Sig[6] exception code, Sig[7] exception offset):

| Local time                             | Engine build (PE ts) | Exception | Faulting module | Offset          |
| -------------------------------------- | -------------------- | --------- | --------------- | --------------- |
| 10-02 23:28                            | `6abf61e7` (0.1.35)  | c000001d  | strata.exe      | `+0x16c907`     |
| 10-03 01:11                            | `6abf61e7`           | c000001d  | strata.exe      | `+0x16c912`     |
| 10-03 01:35                            | `6abf61e7`           | c000001d  | strata.exe      | `+0x16cca5`     |
| 10-03 02:20 → 10-04 13:33 (12 crashes) | `6abf61e7`           | c000001d  | strata.exe      | **`+0x17e1c1`** |
| 10-04 17:15                            | `6ac050de` (0.1.38)  | c000001d  | strata.exe      | `+0x19afc5`     |
| 10-04 20:50                            | `6ac050de`           | c000001d  | strata.exe      | `+0x1873e2`     |
| 10-04 21:32                            | `6ac050de`           | c000001d  | strata.exe      | `+0x187442`     |
| 10-04 23:54                            | `6ac050de`           | c000001d  | strata.exe      | `+0x19c0e5`     |
| 10-04 23:59                            | `6ac050de`           | c000001d  | strata.exe      | `+0x19c124`     |

### Observations

- **v0.1.35**: 15 crashes, 4 distinct offsets - `+0x17e1c1` alone accounts for **12**.
- **v0.1.38**: 5 crashes, 5 distinct offsets. `+0x1873e2`/`+0x187442` (delta 0x60) and `+0x19c0e5`/`+0x19c124` (delta 0x3F) look like adjacent instructions inside the same function.
- Crashes happen both mid-request and between requests; the last completed request always shows healthy stats (normal decode expert hit rates, normal KV streaming). The engine dies without writing anything to its own log - no OOM message, no allocation failure, nothing.
- Happens with both IQ2_XS and IQ3_S models, so it is not quantization-specific.
- TROUBLESHOOTING attributes exit code 3221225501 to low RAM. The machine has 64 GB and crashes also occurred at moderate load; given the clustered offsets and the #411/#419 precedent, reaching an actually-illegal instruction seems the more likely direct cause - but I leave that judgment to you.
- Offsets are stable within a build, so I can run `cdb` and capture the exact faulting instruction bytes for any of these offsets if useful.

### Request

- Audit the prebuilt `strata.exe` (0.1.35/0.1.38) for non-portable instruction emission outside the expert-kernel dispatch - same policy that fixed `strata-vision.exe` in 0.1.33 - or add CPUID guards around the remaining paths.
- I'm happy to provide `cdb` instruction dumps for `+0x17e1c1` (0.1.35) and `+0x19c0e5`/`+0x19c124` (0.1.38), or to test a fixed build.

### Log excerpt

See attached `strata-issue-log-excerpt.txt` (last requests before the 10-04 23:59 crash; the engine log contains no error output at the crash point, which is itself notable).

[strata-issue-log-excerpt.txt](https://github.com/user-attachments/files/33029116/strata-issue-log-excerpt.txt)

Related on strata.com

Editorial links to help you install, pick models, or read release notes — not part of the upstream thread.