Skip to content

[GSD-13267] [BMG B50] 26.27.39122.12 causes SIGSEGV during SYCL inference; rollback to 26.22 fixes it #971

Description

@vrwallace

Summary

After upgrading the Intel Level Zero/OpenCL runtime on Ubuntu 24.04, llama.cpp SYCL inference on an Intel Arc Pro B50 began crashing with SIGSEGV during prompt evaluation. Model loading, GPU offload, context allocation, warm-up, and HTTP server startup all succeeded. Downgrading the compute runtime and matching IGC packages immediately restored inference without rebooting.

Hardware and OS

  • GPU: Intel Arc Pro B50, PCI ID 8086:e212, subsystem 8086:1114
  • Kernel driver: xe
  • OS: Ubuntu 24.04, x86_64
  • Kernel: 7.0.0-28-generic #28~24.04.1-Ubuntu
  • oneAPI DPC++ compiler: 2026.1.1

Failing versions

  • intel-opencl-icd 26.27.39122.12-1~24.04~ppa1
  • libze-intel-gpu1 26.27.39122.12-1~24.04~ppa1
  • libigc2 2.38.3-3~24.04
  • libigdfcl2 2.38.3-3~24.04

These packages came from ppa:kobuk-team/intel-graphics on 2026-08-12.

Working versions / confirmed fix

  • intel-opencl-icd 26.22.38646.7-1~24.04~ppa1
  • libze-intel-gpu1 26.22.38646.7-1~24.04~ppa1
  • libigc2 2.36.5-1~24.04
  • libigdfcl2 2.36.5-1~24.04

Downgrading all four packages fixed the problem immediately. The same server binary, model, flags, and kernel were used before and after the downgrade. No reboot was needed between the failing and successful tests.

Reproduction

Workload: llama.cpp SYCL server, GGUF Gemma 4 12B Q4_K, all 49 layers offloaded to the B50 through Level Zero.

Relevant flags:

--ubatch-size 512 --no-mmap --mlock -ngl 99 -c 16384 --parallel 1

Environment:

ONEAPI_DEVICE_SELECTOR=level_zero:0
GGML_SYCL_DEVICE=0
ZES_ENABLE_SYSMAN=1
SYCL_PI_LEVEL_ZERO_USE_IMMEDIATE_COMMANDLISTS=1

With 26.27/IGC 2.38.3, even a minimal 17-token chat prompt crashed. The final application log lines were:

slot update_slots: ... task.n_tokens = 17
slot update_slots: ... prompt processing progress, n_tokens = 13, batch.n_tokens = 13, progress = 0.764706

The client then received an empty HTTP response and systemd recorded:

Main process exited, code=killed, status=11/SEGV

The failure was also reproduced after a completely fresh llama.cpp rebuild using oneAPI 2026.1.1, ruling out a stale binary or old CMake cache.

After rollback to 26.22/IGC 2.36.5, the identical 17-token request completed normally and generated 18 tokens. A larger approximately 1,380-token prompt had previously crashed at token 864 with the failing runtime.

Expected behavior

SYCL prompt evaluation should complete as it did with compute runtime 26.22 and IGC 2.36.5.

Please let me know what additional Level Zero or IGC diagnostics would be useful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    OS: LinuxIssue specific to Linux distributions (Ubuntu, Fedora, RHEL, etc.)Type: BugGeneral bug report, unexpected behavior or crashType: RegressionPreviously working functionality is now broken

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions