#4531·tabby

SIGILL on AMD Zen 4: llama-server selects libggml-cpu-icelake.so

Author: JasonLandbridgeCreated Aug 17, 2026Updated Aug 17, 2026

Summary

Tabby 0.32.0's llama-server crashes with SIGILL while loading the local embedding model on an AMD Ryzen 7 7800X3D (Zen 4). The dynamic CPU backend selected is libggml-cpu-icelake.so, which appears inappropriate for this CPU: Zen 4 does not expose AVX-512. This prevents Tabby from starting even with --device vulkan.

Environment

  • OS: Arch Linux
  • Package: tabbyml-vulkan-bin
  • Tabby: tabby 0.32.0
  • CPU: AMD Ryzen 7 7800X3D 8-Core Processor (Zen 4)
  • GPU/backend: AMD Radeon RX 9070 XT using RADV Vulkan
  • Vulkan: available; vulkaninfo detects the GPU successfully

Configuration

~/.config/tabbyml/tabbyml.env:

ini
TABBYML_SERVE_ARGS="--device vulkan"
TABBY_ROOT=/home/jason/.config/tabbyml
RUST_LOG=info

The embedding model is the default local Nomic-Embed-Text model.

Actual result

The user service repeatedly fails while loading the embedding model. coredumpctl reports:

Signal: 4 (ILL) si_code: ILL_ILLOPN
Command Line: /usr/lib/tabbyml/llama-server -m /home/jason/.config/tabbyml/models/TabbyML/Nomic-Embed-Text/ggml/model-00001-of-00001.gguf --cont-batching --port 30888 -np 4 --ctx-size 4096 -ngl 9999 --embedding --ubatch-size 4096

Relevant stack trace:

#0 ggml_backend_cpu_device_get_props (libggml-cpu-icelake.so + 0x149ee)
#1 llama_model::load_tensors (libllama.so + 0x1095a8)
#2 llama_model_load_from_file_impl
#3 llama_model_load_from_file
#4 common_init_from_params
#5 server_context::load_model
#6 main

llama-server --version also logs this backend selection:

load_backend: loaded Vulkan backend from /usr/lib/tabbyml/libggml-vulkan.so
load_backend: loaded CPU backend from /usr/lib/tabbyml/libggml-cpu-icelake.so

CPU flags include avx2, but do not include any avx512* flags.

Expected result

The CPU backend dispatcher should select a compatible backend for AMD Zen 4 (for example, a generic/Haswell-class backend when appropriate), and Tabby should start with Vulkan acceleration.

Related issues

This may be related to #3056 (llama-server <embedding> exited with status code -1), but this report includes a reproducible SIGILL core dump and identifies the selected icelake CPU backend.