Bug 512444

Summary: 100 % CPU used by kwin_wayland and plasmashell when screen is locked (sometimes application are also killed…)
Product: [Plasma] kwin Reporter: Julien Delquié <julien.dlq>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: REPORTED ---    
Severity: normal CC: kdedev, rocketraman
Priority: NOR    
Version First Reported In: 6.5.3   
Target Milestone: ---   
Platform: Gentoo Packages   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Julien Delquié 2025-11-21 18:25:20 UTC
SUMMARY

Regularly, when session is locked, and screens are in powersaving mode, after a while, kwin_wayland and plasmashell are using both 100 % CPU, until I unlock screen.

Sometimes, also it randomly kills applications like Firefox, Thunderbird, Signal, sometimes not, sometimes all of them, sometimes only one or two of them.

STEPS TO REPRODUCE
1. Use a plasma session with Wayland
2. Lock Screen
3. Wait for screens to enter in powersaving mode

OBSERVED RESULT

Nearly 100 % CPU for kwin_wayland and plasmashell

EXPECTED RESULT

No 100 % CPU for kwin_wayland and plasmashell

SOFTWARE/OS VERSIONS

Operating System: Gentoo Linux 2.18
KDE Plasma Version: 6.5.3
KDE Frameworks Version: 6.20.0
Qt Version: 6.10.1
Kernel Version: 6.17.8-gentoo-dist (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-9700K CPU @ 3.60GHz
Memory: 32 Gio of RAM (31.3 Gio usable)
Graphics Processor: AMD Radeon RX 7800 XT

ADDITIONAL INFORMATION

I have a little alias to lock or unlock session from an ssh connection to the corresponding computer that have this issue.
What I have observed is that only unlocking is necessary to « stop » de 100 % CPU of kwin_wayland and plasmashell, I mean, using this alias does not wake screens from powersaving mode, but only unlock or lock screen. So I assume the issue is not related to screens powersaving mode, but I’m not 1000% sure.

Unfortunately it will not « definitively stop » this issue.
After a while (and sometimes it’s only 30 seconds or even less…) the issue is back again.

And this issue happens before 6.5.3, I don’t remember when it started. I didn’t managed to have time before, so I create this bug only now. Please, forgive me for this.
Comment 1 Julien Delquié 2025-11-21 18:32:32 UTC
Also, I observed this in journalctl --user, every 13 seconds:
nov. 21 19:26:25 pasokon.taniere.lan kwin_wayland[1525]: kwin_core: KWin::LayerShellV1Window doesn't support setting ma
ximized state                                                                                                          
nov. 21 19:26:25 pasokon.taniere.lan kwin_wayland[1525]: kwin_core: KWin::LayerShellV1Window doesn't support setting fu
llscreen state                                                                                                         
nov. 21 19:26:25 pasokon.taniere.lan thunderbird[5035]: [Parent 5035, Main Thread] WARNING: Couldn't map window 0x7fb5c
2db8160 as subsurface because its parent is not mapped.: 'glib warning', file /var/tmp/portage/mail-client/thunderbird-
145.0/work/thunderbird-145.0/toolkit/xre/nsSigHandlers.cpp:201                                                         
nov. 21 19:26:25 pasokon.taniere.lan firefox[1769287]: [Parent 1769287, Main Thread] WARNING: Couldn't map window 0x7f807264c760 as subsurface because its parent is not mapped.: 'glib warning', file /var/tmp/portage/www-client/firefox-145.0.1/work/firefox-145.0.1/toolkit/xre/nsSigHandlers.cpp:201
nov. 21 19:26:25 pasokon.taniere.lan thunderbird[5035]: Couldn't map window 0x7fb5c2db8160 as subsurface because its parent is not mapped.
nov. 21 19:26:25 pasokon.taniere.lan firefox[1769287]: Couldn't map window 0x7f807264c760 as subsurface because its parent is not mapped.
nov. 21 19:26:26 pasokon.taniere.lan kded6[2005]: xsettingsd: Reloading configuration
nov. 21 19:26:26 pasokon.taniere.lan kded6[2005]: xsettingsd: Loaded 16 settings from /home/loup/.config/xsettingsd/xsettingsd.conf
nov. 21 19:26:26 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874105] Removing connected display on bus 7
nov. 21 19:26:26 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874105] Emitting DDCA_Display_Status_Event[91355.213:  DDCA_EVENT_DISPLAY_DISCONNECTED, card0-DP-1, dref: DDCA_Display_Ref[17399], io_path:/dev/i2c-7, ddc working: false]
nov. 21 19:26:26 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874105] Starting 1 callback threads
nov. 21 19:26:26 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874105] libddcutil callback thread 0x7fcec0127820 started
nov. 21 19:26:26 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874105] Started 1 event callback thread(s)
nov. 21 19:26:26 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874181] Invoking callback function 0x7fcf0138f450 for event DDCA_Display_Status_Event[91355.213:  DDCA_EVENT_DISPLAY_DISCONNECTED, card0-DP-1, dref: DDCA_Display_Ref[17399], io_path:/dev/i2c-7, ddc working: false] in this thread [1874181]
nov. 21 19:26:26 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874181] Callback function 0x7fcf0138f450 for event DDCA_Display_Status_Event[91355.213:  DDCA_EVENT_DISPLAY_DISCONNECTED, card0-DP-1, dref: DDCA_Display_Ref[17399], io_path:/dev/i2c-7, ddc working: false] complete
nov. 21 19:26:27 pasokon.taniere.lan kwin_wayland[1525]: kwin_core: KWin::LayerShellV1Window doesn't support setting maximized state
nov. 21 19:26:27 pasokon.taniere.lan kwin_wayland[1525]: kwin_core: KWin::LayerShellV1Window doesn't support setting fullscreen state
nov. 21 19:26:27 pasokon.taniere.lan firefox[1769287]: [Parent 1769287, Main Thread] WARNING: Couldn't map window 0x7f807264c760 as subsurface because its parent is not mapped.: 'glib warning', file /var/tmp/portage/www-client/firefox-145.0.1/work/firefox-145.0.1/toolkit/xre/nsSigHandlers.cpp:201
nov. 21 19:26:27 pasokon.taniere.lan firefox[1769287]: [Parent 1769287, Main Thread] WARNING: Couldn't map window 0x7f807264c760 as subsurface because its parent is not mapped.: 'glib warning', file /var/tmp/portage/www-client/firefox-145.0.1/work/firefox-145.0.1/toolkit/xre/nsSigHandlers.cpp:201
nov. 21 19:26:27 pasokon.taniere.lan firefox[1769287]: Couldn't map window 0x7f807264c760 as subsurface because its parent is not mapped.
nov. 21 19:26:27 pasokon.taniere.lan thunderbird[5035]: [Parent 5035, Main Thread] WARNING: Couldn't map window 0x7fb5c2db8160 as subsurface because its parent is not mapped.: 'glib warning', file /var/tmp/portage/mail-client/thunderbird-145.0/work/thunderbird-145.0/toolkit/xre/nsSigHandlers.cpp:201
nov. 21 19:26:27 pasokon.taniere.lan thunderbird[5035]: [Parent 5035, Main Thread] WARNING: Couldn't map window 0x7fb5c2db8160 as subsurface because its parent is not mapped.: 'glib warning', file /var/tmp/portage/mail-client/thunderbird-145.0/work/thunderbird-145.0/toolkit/xre/nsSigHandlers.cpp:201
nov. 21 19:26:27 pasokon.taniere.lan firefox[1769287]: Couldn't map window 0x7f807264c760 as subsurface because its parent is not mapped.
nov. 21 19:26:27 pasokon.taniere.lan thunderbird[5035]: Couldn't map window 0x7fb5c2db8160 as subsurface because its parent is not mapped.
nov. 21 19:26:27 pasokon.taniere.lan thunderbird[5035]: Couldn't map window 0x7fb5c2db8160 as subsurface because its parent is not mapped.
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874105] Adding connected display with bus 7
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874105] Emitting DDCA_Display_Status_Event[91356.458:  DDCA_EVENT_DISPLAY_CONNECTED, card0-DP-1, dref: DDCA_Display_Ref[17400], io_path:/dev/i2c-7, ddc working: true]
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874105] Starting 1 callback threads
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874105] libddcutil callback thread 0x7fcec00f5af0 started
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874105] Started 1 event callback thread(s)
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874217] Invoking callback function 0x7fcf0138f450 for event DDCA_Display_Status_Event[91356.458:  DDCA_EVENT_DISPLAY_CONNECTED, card0-DP-1, dref: DDCA_Display_Ref[17400], io_path:/dev/i2c-7, ddc working: true] in this thread [1874217]
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874217] Callback function 0x7fcf0138f450 for event DDCA_Display_Status_Event[91356.458:  DDCA_EVENT_DISPLAY_CONNECTED, card0-DP-1, dref: DDCA_Display_Ref[17400], io_path:/dev/i2c-7, ddc working: true] complete
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [  1790] Quiescing libddcutil API...
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [  1790] Quiesce libddcutil API complete
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [  1790] Display redetection starting.
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874104] recheck thread terminating because watch thread terminated
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [  1790] Watch thread terminated.
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [  1790] Watching for display connection changes, resolved watch mode = Watch_Mode_Xevent, poll loop interval = 100 millisec
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [  1790]                                          extra_stabilization_millisec: 0,  stabilization_poll_millisec: 100
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [  1790] libddcutil recheck thread 0x555756edc970 started
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [  1790] libddcutil watch thread 0x55575847d510 started
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [  1790] Display redetection finished.
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [  1790] Unquiescing libddcutil API...
nov. 21 19:26:27 pasokon.taniere.lan org_kde_powerdevil[1790]: [1874220] (dw_recheck_displays_func) Recheck interval: Sleeping for 200 milliseconds