[Bug 296263] i915kms fence hang / libggml vulkan offload test failure

From: <bugzilla-noreply_at_freebsd.org>
Date: Thu, 25 Jun 2026 03:54:52 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296263

            Bug ID: 296263
           Summary: i915kms fence hang / libggml vulkan offload test
                    failure
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: adrian@freebsd.org

hi!

Here's a fun one:

if I build the libggml test suite and run it on my i915 system, I get a fun
fence hang at the same spot in the test backend ops test suite. That's testing
that the cpu versions and the vulkan versions are doing the same thing.

to reproduce:

# kldload i915kms
# cd /path/to/ports/misc/ggml
# make clean && make test

The kernel log:

```
Fence expiration time out i915-drmn0:test-backend-ops[108326]:806d8!
Fence expiration time out i915-drmn0:test-backend-ops[108326]:806da!
pid 73596 (test-backend-ops), jid 0, uid 1001: exited on signal 11 (core
dumped)
Fence expiration time out i915-drmn0:test-backend-ops[100836]:806d8!
Fence expiration time out i915-drmn0:test-backend-ops[100836]:806da!
pid 73891 (test-backend-ops), jid 0, uid 1001: exited on signal 11 (core
dumped)
```

the end of the test log (for test-backend-ops):

```
  MUL_MAT_ID(type_a=f16,type_b=f32,n_mats=16,n_used=16,b=0,m=32,n=1024,k=16):
OK
  MUL_MAT_ID(type_a=f16,type_b=f32,n_mats=2,n_used=2,b=0,m=32,n=8192,k=64): OK
  MUL_MAT_ID(type_a=f16,type_b=f32,n_mats=16,n_used=16,b=0,m=50,n=200,k=64): OK
  MUL_MAT_ID(type_a=f16,type_b=f32,n_mats=16,n_used=16,b=1,m=32,n=1024,k=16):
OK
  MUL_MAT_ID(type_a=f16,type_b=f32,n_mats=2,n_used=2,b=1,m=32,n=8192,k=64): OK
  MUL_MAT_ID(type_a=f16,type_b=f32,n_mats=16,n_used=16,b=1,m=50,n=200,k=64): OK
  MUL_MAT_ID(type_a=f16,type_b=f32,n_mats=1,n_used=1,b=0,m=8,n=16,k=1): OK
 
MUL_MAT_ID_FUSION(type_a=f16,type_b=f32,n_mats=16,n_used=16,b=0,m=32,n=32,k=32,o=3,mul=0):
OK
[MUL_MAT_ID] ERR = 811.394667045 > 0.000500000 sentinel mismatch: sent_0
sentinel mismatch: sent_1 sentinel mismatch: sent_2 sentinel mismatch: sent_3  
MUL_MAT_ID(type_a=mxfp4,type_b=f32,n_mats=32,n_used=2,b=0,m=2880,n=32,k=2880):
FAIL
[MUL_MAT_ID] ERR = 98.921193076 > 0.000500000  
MUL_MAT_ID(type_a=f32,type_b=f32,n_mats=4,n_used=1,b=0,m=512,n=1,k=256): 
<end of output>
Test time = 429.51 sec
```

I'm not sure where in the fun mess of libggml, freebsd, linuxkpi, drm, etc this
bug lies, but it sure be nice figure out what can cause hangs like this.

Kernel boot info:

```
CPU: Intel(R) Core(TM) i5-10500 CPU @ 3.10GHz (3100.00-MHz K8-class CPU)
  Origin="GenuineIntel"  Id=0xa0653  Family=0x6  Model=0xa5  Stepping=3
 
Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
 
Features2=0x7ffafbff<SSE3,PCLMULQDQ,DTES64,MON,DS_CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,TSCDLT,AESNI,XSAVE,OSXSAVE,AVX,F16C,
RDRAND>
  AMD Features=0x2c100800<SYSCALL,NX,Page1GB,RDTSCP,LM>
  AMD Features2=0x121<LAHF,ABM,Prefetch>
```

Ports tree version:

```
commit 135741412e9fe53270e9078d14f71066a2aecaa6 (HEAD -> main, origin/main,
origin/HEAD)
Author: Charlie Li <vishwin@FreeBSD.org>
Date:   Wed Jun 24 17:18:38 2026 -0300
```

DRM:

```
drm-66-kmod-6.6.25.1600018_10  Direct Rendering Manager (DRM) GPU drivers
```

VGA:

```vgapci0@pci0:0:2:0:     class=0x030000 rev=0x03 hdr=0x00 vendor=0x8086
device=0x9bc8 subvendor=0x1043 subdevice=0x1532
    vendor     = 'Intel Corporation'
    device     = 'CometLake-S GT2 [UHD Graphics 630]'
    class      = display
    subclass   = VGA
```

FreeBSD head version (20260610): 

```
commit 9d10b4d2c9e86d8f6ff1b654f468381a4a4cad6d
Author: Aleksandr Rybalko <ray@FreeBSD.org>
Date:   Mon Jun 8 17:32:05 2026 +0300
```

-- 
You are receiving this mail because:
You are the assignee for the bug.