Source: linux
Version: 6.12.94-1
Severity: important
X-Debbugs-Cc: [email protected]

Dear Maintainer,

Subject: i915 kernel BUG when freeing GEM object (Xorg, xfwm4 compositor, hard 
lock)

Package: src:linux
Version: 6.12.94-1
Severity: important

Hi,

I’m seeing reproducible hard lockups on Debian 13 (trixie) with the
stock 6.12.94+deb13-amd64 kernel when running Xfce with the Xfwm4
compositor enabled on a System76 Serval WS laptop (Intel iGPU + NVIDIA dGPU).

Symptom
=======

Roughly once per session (sometimes more), the system suddenly freezes:

- The *mouse cursor still moves* on screen.
- *Keyboard input stops working completely* (no response to any keys,
  including Ctrl+Alt+Fx to switch VTs, and SysRq combos).
- The only way out is a hard power-off via holding the power button.

On the next boot, the previous boot’s journal shows a kernel BUG in the
i915 driver called from Xorg.

System
======

- Debian GNU/Linux 13 (trixie)
- Kernel versions installed:
  - 6.12.94+deb13-amd64 (linux-image-6.12.94+deb13-amd64 6.12.94-1)
  - 6.1.0-50-amd64 (linux-image-6.1.0-50-amd64 6.1.176-1)
- Currently running when the bug occurs:

  uname -a
  ----------
- Linux muricanthus 6.12.94+deb13-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.94-1 
(2026-06-20) x86_64 GNU/Linux

- Hardware:

  lspci | grep -Ei 'vga|3d|display'
  ---------------------------------
  OUTPUT OF `lspci` HERE

This is a System76 Serval WS laptop with both Intel iGPU and NVIDIA dGPU.
The logs below show the X server (Xorg) using the Intel stack with the
modesetting/i915 drivers.

- Desktop: Xfce
- Xfwm4 compositor:

  xfconf-query -c xfwm4 -p /general/use_compositing
  -------------------------------------------------
  true

Proprietary NVIDIA modules are also loaded (so the kernel is tainted P,O,E),
but the crash trace is in i915 and drm_gem code.

Crash trace
===========

From the previous boot (journalctl -b -1), around the time of the freeze:

  journalctl -b -1 --since "2026-07-05 19:05" --until "2026-07-05 19:15"
  ----------------------------------------------------------------------

  Jul 05 19:09:13 muricanthus kernel: perf: interrupt took too long (3138 > 
3127), lowering kernel.perf_event_max_sample_rate to 63500
  Jul 05 19:09:46 muricanthus kernel: BUG: unable to handle page fault for 
address: 0000000000800018
  Jul 05 19:09:46 muricanthus kernel: #PF: supervisor write access in kernel 
mode
  Jul 05 19:09:46 muricanthus kernel: #PF: error_code(0x0002) - not-present page
  Jul 05 19:09:46 muricanthus kernel: PGD 0 P4D 0
  Jul 05 19:09:46 muricanthus kernel: Oops: Oops: 0002 [#3] PREEMPT SMP NOPTI
  Jul 05 19:09:46 muricanthus kernel: CPU: 31 UID: 0 PID: 2027 Comm: Xorg 
Tainted: P      D    OE      6.12.94+deb13-amd64 #1  Debian 6.12.94-1
  Jul 05 19:09:46 muricanthus kernel: Tainted: [P]=PROPRIETARY_MODULE, [D]=DIE, 
[O]=OOT_MODULE, [E]=UNSIGNED_MODULE
  Jul 05 19:09:46 muricanthus kernel: Hardware name: System76 Serval WS/Serval 
WS, BIOS 2023-09-19_16ef69c 09/15/2023
  Jul 05 19:09:46 muricanthus kernel: RIP: 0010:_raw_spin_lock_irqsave+0x27/0x50
  Jul 05 19:09:46 muricanthus kernel: Code: 90 90 90 f3 0f 1e fa 0f 1f 44 00 00 
53 9c 58 0f 1f 40 00 48 89 c3 fa 0f 1f 44 00 00 65 ff 05 98 a4 72 52 31 c0 ba 
01 00 00 00 <f0> 0f b1 17 75 09 48 89 d8 5b c3 cc cc cc cc 89 c6 e8 a3 08 00 00
  Jul 05 19:09:46 muricanthus kernel: RSP: 0018:ffffd22206b3bb20 EFLAGS: 
00010046
  Jul 05 19:09:46 muricanthus kernel: RAX: 0000000000000000 RBX: 
0000000000000206 RCX: 0000000080400030
  Jul 05 19:09:46 muricanthus kernel: RDX: 0000000000000001 RSI: 
0000000000000000 RDI: 0000000000800018
  Jul 05 19:09:46 muricanthus kernel: Call Trace:
  Jul 05 19:09:46 muricanthus kernel:  <TASK>
  Jul 05 19:09:46 muricanthus kernel:  i915_drm_client_remove_object+0x35/0xc0 
[i915]
  Jul 05 19:09:46 muricanthus kernel:  i915_gem_free_object+0x17/0x60 [i915]
  Jul 05 19:09:46 muricanthus kernel:  drm_gem_object_release_handle+0x59/0xb0 
[drm]
  Jul 05 19:09:46 muricanthus kernel:  drm_gem_handle_delete+0x5d/0xa0 [drm]
  Jul 05 19:09:46 muricanthus kernel:  drm_ioctl_kernel+0xad/0x100 [drm]
  Jul 05 19:09:46 muricanthus kernel:  drm_ioctl+0x277/0x4d0 [drm]
  Jul 05 19:09:46 muricanthus kernel:  __x64_sys_ioctl+0x94/0xc0
  Jul 05 19:09:46 muricanthus kernel:  do_syscall_64+0x87/0x1b0
  Jul 05 19:09:46 muricanthus kernel:  entry_SYSCALL_64_after_hwframe+0x76/0x7e
  Jul 05 19:09:46 muricanthus kernel: RIP: 0033:0x7fc1d8d3e91b
  ...
  Jul 05 19:09:46 muricanthus kernel: note: Xorg[2027] exited with irqs disabled
  Jul 05 19:09:46 muricanthus kernel: note: Xorg[2027] exited with 
preempt_count 1

After this, the system was effectively unresponsive (no VT switch, no SysRq 
keys),
and I had to hold the power button to force a reboot.

Repro / pattern
===============

- Using Xfce with xfwm4 compositor enabled:

  xfconf-query -c xfwm4 -p /general/use_compositing
  -------------------------------------------------
  true

- Xorg is using the modesetting/i915 stack (see Xorg.0.log; can provide full 
log on request).
- Running normal desktop workloads (web browser, PyTorch/transformers app using 
NVIDIA GPU).
- After some time (tens of minutes to hours), the BUG above appears and the 
machine hard-freezes.

I have also seen similar freezes on Debian 12 with xfwm4 compositor enabled, 
but there I did not capture the kernel BUG trace.

Next steps / questions
======================

- Is this a known regression in the i915 driver in the 6.12.94 Debian kernel?
- Are there any recommended workarounds besides disabling xfwm4 compositing or 
downgrading to the 6.1.0-50-amd64 kernel?
- I can test:
  - Running with xfwm4 compositing disabled on 6.12.94.
  - Running with 6.1.0-50-amd64 on the same hardware.
  - Providing full dmesg, Xorg.0.log and additional traces as needed.

Thank you for looking into this.

-- System Information:
Debian Release: 13.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 6.12.94+deb13-amd64 (SMP w/32 CPU threads; PREEMPT)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, 
TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Reply via email to