https://bugs.kde.org/show_bug.cgi?id=525885
Bug ID: 525885
Summary: System Monitor BarChart widget (cpucore) causes
plasmashell to peg CPU, only manifests while screen is
locked
Classification: Plasma
Product: plasmashell
Version First 6.7.5
Reported In:
Platform: Fedora RPMs
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: System Monitor widgets
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected], [email protected]
Target Milestone: 1.0
Title: System Monitor BarChart widget (cpucore) causes plasmashell to peg CPU,
only manifests while screen is locked
Component: plasma-systemmonitor (possibly kquickcharts)
Severity: normal (crash-adjacent - plasmashell eventually gets SIGKILL'd by its
own watchdog and restarts)
Environment:
- Fedora 44 (kernel 7.2.5-200.fc44.x86_64)
- plasma-workspace / kwin / plasma-desktop / kdeplasma-addons: 6.7.5-1.fc44
- kf6-filesystem / kf6-kquickcharts: 6.30.0-1.fc44
- qt6-qtbase: 6.11.2-2.fc44
- xorg-x11-drv-nvidia: 615.71.09-3.fc44
- Hardware: Razer Blade 16, hybrid Intel iGPU + NVIDIA dGPU, Wayland session
Summary:
plasmashell repeatedly enters a sustained high-CPU state (single core pegged,
sometimes 60-75% of total CPU-time-to-wall-clock ratio over 1-2 hour periods)
that only ever manifests while the screen is locked. It has recurred at least
half a dozen times since June 2026, including sessions where it ran for over an
hour before Plasma's internal watchdog SIGKILL'd and auto-restarted
plasmashell.
Steps to reproduce:
1. Add the System Monitor "CPU Cores" widget
(org.kde.plasma.systemmonitor.cpucore) to a panel.
2. Lock the screen (or let it auto-lock) and leave the machine idle for an
extended period.
3. Return and check CPU usage - plasmashell is pegged on one core, fans
audible.
Actual result:
A live gdb -p <plasmashell-pid> backtrace captured during one occurrence showed
the same stack repeated across multiple samples taken 3 seconds apart:
BarChart::onDataChanged() (libQuickCharts.so.1) -> SensorDataModel /
SensorDaemonInterface (libKSysGuardSensors.so.2) -> triggered by a D-Bus signal
from ksystemstats. Each redraw appears to re-trigger the handler in a tight
loop.
Expected result:
CPU usage stays low and bounded regardless of lock state, matching behavior
when unlocked.
Additional notes:
- Of three System Monitor widgets present (cpucore, net, memory), only cpucore
uses the BarChart visualization - net/memory use a different chart type -
narrowing suspicion to the BarChart component specifically.
- Working theory: this feedback loop may be present at a low level even while
unlocked but is normally throttled to ~60Hz by the compositor's frame callback
for visible surfaces; locking the screen likely removes that throttle for
occluded/backgrounded surfaces, letting the loop run unbounded.
- Workaround: removing the cpucore widget from the panel (or killing/restarting
plasmashell) stops the spin.
- systemd accounting shows this recurring since at least June 17, 2026, across
multiple Plasma point releases, ruling out a single-version regression.
--
You are receiving this mail because:
You are watching all bug changes.