SIGILL on AMD Zen 4: llama-server selects libggml-cpu-icelake.so
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;
vulkaninfodetects the GPU successfully
Configuration
~/.config/tabbyml/tabbyml.env:
TABBYML_SERVE_ARGS="--device vulkan"
TABBY_ROOT=/home/jason/.config/tabbyml
RUST_LOG=infoThe 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 4096Relevant 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 mainllama-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.soCPU 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.
Source: TabbyML/tabby