Public bug reported:

## Title

```
Hard LOCKUP in tick_do_update_jiffies64/timekeeper_lock from idle CPU on Meteor 
Lake (7.0.0-28-generic, PREEMPT lazy)
```

---

## Description

```
Twelve total-system freezes over three days on an HP ZBook Firefly 16 G11
(Intel Core Ultra / Meteor Lake-P). The display stops updating, no input
is possible, and the machine requires a hard power-off. In most cases nothing
reaches the journal at all; in three cases a panic record was captured via
efi_pstore.

Package: linux-image-7.0.0-28-generic 7.0.0-28.28
Ubuntu 26.04 (resolute)
Hardware: HP ZBook Firefly 16 inch G11 Mobile Workstation PC, SKU A6UG9UT#ABA
BIOS: W70 Ver. 01.09.02, 05/04/2026 (current — no newer SoftPaq published)
GPU: Intel Meteor Lake-P [8086:7dd5] rev 08 (i915) + NVIDIA RTX A500 (nvidia 
595.84)
22 logical CPUs

== Captured panic ==

watchdog: CPU3: Watchdog detected hard LOCKUP on cpu 3
CPU: 3 UID: 0 PID: 0 Comm: swapper/3 Kdump: loaded
Tainted: G W O 7.0.0-28-generic #28-Ubuntu PREEMPT(lazy)
RIP: 0010:native_queued_spin_lock_slowpath+0x301/0x370
Call Trace:
 <NMI>
 ...
 </NMI>
 native_queued_spin_lock_slowpath+0x301/0x370
 _raw_spin_lock_irqsave
 update_wall_time+0x1c
 tick_do_update_jiffies64
 tick_nohz_update_jiffies
 tick_irq_enter
 irq_enter_rcu
 sysvec_apic_timer_interrupt
 asm_sysvec_apic_timer_interrupt
 (idle) cpuidle_enter_state+0xca/0x700
 cpuidle_enter+0x30/0x50
 call_cpuidle+0x21/0x50
 cpuidle_idle_call+0x16b/0x1f0
 do_idle+0x94/0xf0
 cpu_startup_entry+0x29/0x30
 start_secondary+0x125/0x180
 common_startup_64+0x13e/0x141
Kernel panic - not syncing: Hard LOCKUP

An idle CPU takes a timer interrupt during cpuidle entry, attempts to acquire
timekeeper_lock in tick_do_update_jiffies64 -> update_wall_time with interrupts
disabled, and spins until the NMI watchdog fires.

A second, earlier pstore record shows a different failure mode: a repeating
"kernel BUG at kernel/entry/common.c:260" firing roughly every 16us until it
filled the pstore ring — a recursive fault in interrupt entry/exit state
validation, i.e. the same code path.

== Preceding warning ==

35-48 minutes before several (not all) freezes, this fires, always on an
idle CPU:

------------[ cut here ]------------
WARNING: kernel/workqueue.c:2351 at __queue_work.part.0+0x190/0x390, CPU#19: 
swapper/19/0
Call Trace:
 <IRQ>
 __queue_work+0x39/0xc0
 delayed_work_timer_fn+0x19/0x30
 call_timer_fn+0x30/0x170
 __run_timers+0x1af/0x2c0
 timer_expire_remote+0x52/0x90
 tmigr_handle_remote_cpu+0x10e/0x270
 tmigr_handle_remote_up+0x115/0x160
 tmigr_handle_remote+0xd5/0x140
 run_timer_softirq+0xeb/0x100
 </IRQ>

Decoding the faulting instruction bytes (48 8b 53 08 / 48 8d 43 08 / 48 39 c2 /
0f 84 ... / 0f 0b) with RBX = the work item and RAX = RBX+8 gives
list_empty(&work->entry) — i.e. WARN_ON_ONCE(!list_empty(&work->entry)) in
__queue_work: a delayed_work timer fired and tried to queue a work item that
was already queued. Reached via the hierarchical timer migration path
(tmigr_handle_remote_cpu -> timer_expire_remote), so an idle CPU running
another idle CPU's timers.

R14 (the workqueue pointer) was identical across separate WARN instances;
only the per-CPU pool differed.

== Why most freezes leave no trace ==

When only one CPU locks up, another survives to run the NMI watchdog and a
panic is recorded (3 of 12 cases). When all CPUs pile into the same spinlock
with interrupts disabled, no CPU is left to run the watchdog: no panic, no
journal, no pstore. This matches the observed evidence pattern.

In one freeze the system stayed partially alive for 36 minutes after the
display froze (audio continued, tracks advanced, processes launched), which
initially suggested a compositor hang. A gnome-shell liveness watchdog
polling org.freedesktop.DBus.Peer.Ping every 10s and recording
/proc/PID/stat utime/stime was added; across all subsequent freezes it
recorded zero stalls and logged a successful ping one second before the
journal stopped dead. The compositor is healthy at the moment of death.

== Investigation / things ruled out ==

- Clocksource: TSC selected, never marked unstable, TSC deadline timer 
available.
- Firmware SMI: turbostat --show SMI reads 0 on all CPUs across repeated 
samples.
- BIOS: on the newest published version (01.09.02); LVFS reports no update.
- GPU: no i915 errors, no GPU HANG, no reset, no wedge, no NVIDIA Xid.
- Memory: no pressure, zero swap used, no OOM kills.
- Userspace: compositor confirmed responsive at time of freeze (see above).
- Not the display pipeline: eDP panel reports PSR = no, Panel Replay = no.

== Workarounds tested ==

  kernel.timer_migration=0     Ineffective. 4 further WARNs fired after
                               setting it; froze after 55 minutes.

  nohz=off                     Eliminates the workqueue WARN completely
                               (0 across 4h02m vs 1-5 in comparable boots),
                               but the machine still froze. The WARN is a
                               correlate, not the cause.

  intel_idle.max_cstate=1      Effective. Approximately one week of uptime,
                               against a baseline of ~4 freezes/day and a
                               previous maximum uninterrupted run of 5h41m.
                               Costs significant idle power (C1E only).

Currently testing whether disabling only C10 (state3) via
/sys/devices/system/cpu/cpu*/cpuidle/state*/disable is sufficient, which
would allow C6 to be retained. Available states on this hardware are
POLL / C1E / C6 / C10.

The fact that max_cstate=1 resolves it while nohz=off does not points at
the deep C-state exit path rather than the timer migration hierarchy.

== Attachments ==

- pstore dmesg dumps (3), from /var/lib/systemd/pstore/
- full __queue_work WARN backtrace
```

---

## Attachments to add

```bash
ls ~/freeze-evidence/
ls /var/lib/systemd/pstore/*/001/dmesg.txt
```

Attach:
- `~/workqueue-warn.txt` (the `__queue_work` backtrace)
- `/var/lib/systemd/pstore/1785269998/001/dmesg.txt` (the hard lockup)
- `/var/lib/systemd/pstore/1785251564/001/dmesg.txt` (the entry/common.c BUG)

---

## Tags

```
kernel-bug resolute meteorlake regression-release
```

---

ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: linux-image-7.0.0-28-generic 7.0.0-28.28
ProcVersionSignature: Ubuntu 7.0.0-28.28-generic 7.0.12
Uname: Linux 7.0.0-28-generic x86_64
ApportVersion: 2.34.1-0ubuntu0.1
Architecture: amd64
AudioDevicesInUse:
 USER        PID ACCESS COMMAND
 /dev/snd/controlC0:  null       5502 F.... pipewire
                      null       5523 F.... wireplumber
 /dev/snd/seq:        null       5502 F.... pipewire
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Thu Aug  6 16:03:47 2026
InstallationDate: Installed on 2026-07-18 (19 days ago)
InstallationMedia: Ubuntu 26.04 "Resolute Raccoon" - Release amd64 (20260423.1)
MachineType: HP HP ZBook Firefly 16 inch G11 Mobile Workstation PC
ProcFB: 0 i915drmfb
ProcKernelCmdLine: BOOT_IMAGE=/vmlinuz-7.0.0-28-generic 
root=/dev/mapper/ubuntu--vg-ubuntu--lv ro 
crashkernel=2G-4G:320M,4G-32G:512M,32G-64G:1024M,64G-128G:2048M,128G-:4096M
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 05/04/2026
dmi.bios.release: 9.2
dmi.bios.vendor: HP
dmi.bios.version: W70 Ver. 01.09.02
dmi.board.name: 8CD1
dmi.board.vendor: HP
dmi.board.version: KBC Version 02.55.00
dmi.chassis.type: 10
dmi.chassis.vendor: HP
dmi.ec.firmware.release: 2.85
dmi.modalias: 
dmi:bvnHP:bvrW70Ver.01.09.02:bd05/04/2026:br9.2:efr2.85:svnHP:pnHPZBookFirefly16inchG11MobileWorkstationPC:pvrSBKPFV3:rvnHP:rn8CD1:rvrKBCVersion02.55.00:cvnHP:ct10:cvr:skuA6UG9UT#ABA:pfa103C_5336ANHPZBook:
dmi.product.family: 103C_5336AN HP ZBook
dmi.product.name: HP ZBook Firefly 16 inch G11 Mobile Workstation PC
dmi.product.sku: A6UG9UT#ABA
dmi.product.version: SBKPFV3
dmi.sys.vendor: HP
modified.conffile..etc.default.apport:
 # set this to 0 to disable apport, or to 1 to enable it
 # you can temporarily override this with
 # sudo service apport start force_start=1
 enabled=0
mtime.conffile..etc.default.apport: 2026-07-18T11:31:19.420061

** Affects: linux (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug resolute wayland-session

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2162991

Title:
  random crashes in ubuntu 26

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2162991/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to