gerritdevriese/kzones

External Display Hard Lockup

Opened this issue · 7 comments

Describe the bug
I have plasma6 enabled with Wayland on NixOS and have tried the following on Solus Linux as well. This issue does not occur on X11 plasma 6 or plasma 5.

The below steps causes a full hard display lockup that requires a hard reboot (press and hold power button). I've observed that the processes continue running in the background (e.g. audio from video continues playing) even while the display, mouse, and keyboard (not even caps/num lock work) are completely frozen. Sysrq commands also do not function in this state.

To Reproduce

  1. Use wayland. This does not occur in x11.
  2. Install kzones kwin script
  3. Attach external display to laptop. I am using an HDMI cable.
  4. Disable all other displays in kde using "Display Configuration"
  5. Unplug HDMI cable from laptop.
  6. Plug HDMI cable back in. (You may need to repeat steps 5 and 6 up to 2 times especially if this is done right after boot)
  7. Attempt to drag an existing window or open a new window and drag it. Specifically dragging the window is what causes the hard lockup.

Expected behavior
No hard lockup

System information (please complete the following information):

  • KZones version: 0.9
  • Plasma version: Tested across the following versions 6.0.5, 6.1.5, 6.2.0
  • Wayland or X11: Wayland only issue

Additional context
Initially reported as a KDE bug. Ref https://bugs.kde.org/show_bug.cgi?id=494619

I can confirm that I'm experiencing the same issue. The system locks up completely when attempting to drag a window after reattaching the HDMI cable, and a hard reboot is required to recover.

System Information:

  • Distro: Fedora 40
  • Plasma Version: 6.2.1
  • Graphics Platform: Wayland
  • KZones Version: 0.8

Does anyone have any logs they can share?

Also, a user plugin should never be able to crash the desktop environment in my opinion, but it can, and I had to add a lot of workarounds in the past to prevent crashes like these on Wayland. But in this case I don't have any idea what could be causing this.

I don't have have a second monitor to test, so all help is welcome!

Unfortunately, its hard to obtain logs because the system is in a completely frozen state. Where would the logs be? I may be able to see if ssh server still works during the lockup.

Here are the journal entries from the moment the HDMI cable for the external monitor was detached and reattached, and a window was dragged, causing the DE to freeze completely.

Systemd Journal
Oct 19 17:29:52 kactivitymanagerd[2948]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_followupreminder_agent[3335]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 kdeconnectd[3212]: 2024-10-19T17:29:52 qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_control[3260]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_maildir_resource[3340]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 xdg-desktop-portal-kde[2992]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_contacts_resource[3334]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_unifiedmailbox_agent[3347]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_newmailnotifier_agent[3345]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_akonotes_resource[3332]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_maildispatcher_agent[3341]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 polkit-kde-authentication-agent-1[2990]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 kwalletd6[2448]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_imap_resource[3338]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 maliit-keyboard[2775]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_archivemail_agent[3333]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_imap_resource[3337]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_sendlater_agent[3346]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_indexing_agent[3339]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_mailfilter_agent[3342]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_mailmerge_agent[3343]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 DiscoverNotifier[3772]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 kalendarac[3774]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_migration_agent[3344]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 akonadi_google_resource[3336]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 konsole[4057]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 kded6[2868]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 plasmashell[2911]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 org_kde_powerdevil[2991]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:29:52 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:29:52 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:29:52 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:29:52 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:29:52 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:29:52 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:29:52 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:29:52 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:29:52 plasmashell[2911]: file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:238:17: Unable to assign [undefined] to bool
Oct 19 17:29:52 plasmashell[2911]: file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:370:21: Unable to assign [undefined] to bool
Oct 19 17:29:52 systemd[1]: Started dbus-:1.3-org.kde.powerdevil.backlighthelper@3.service.
Oct 19 17:29:52 audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=dbus-:1.3-org.kde.powerdevil.backlighthelper@3 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Oct 19 17:29:52 org_kde_powerdevil[2991]: Sleep event. connector=card1-eDP-1, dref not set
Oct 19 17:29:52 org_kde_powerdevil[2991]: Delaying 6 seconds to avoid a false disconnect/connect sequence...
Oct 19 17:29:59 org_kde_powerdevil[2991]: DRM connectors with newly disconnected displays: card0-HDMI-A-2
Oct 19 17:29:59 org_kde_powerdevil[2991]: Removing connected display, drm_connector: card0-HDMI-A-2, dref Display_Ref[bus /dev/i2c-18]
Oct 19 17:30:01 kwin_wayland[2679]: kwin_scene_opengl: 0x500: GL_INVALID_ENUM error generated. Invalid <face>.
Oct 19 17:30:01 kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Framebuffer memory not appropriate for scanout
Oct 19 17:30:01 kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Framebuffer memory not appropriate for scanout
Oct 19 17:30:01 kwin_wayland[2679]: kwin_scene_opengl: Invalid framebuffer status:  "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"
Oct 19 17:30:01 kwin_wayland[2679]: kwin_scene_opengl: 0x502: GL_INVALID_OPERATION error generated. <image> and <target> are incompatible
Oct 19 17:30:01 kwin_wayland[2679]: kwin_scene_opengl: Invalid framebuffer status:  "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"
Oct 19 17:30:01 kwin_wayland[2679]: kwin_wayland_drm: Failed to create framebuffer: Invalid argument
Oct 19 17:30:01 kwin_wayland[2679]: kwin_wayland_drm: Failed to create framebuffer: Invalid argument
Oct 19 17:30:01 org_kde_powerdevil[2991]: Emitting DDCA_Display_Status_Event( 459.338:  DDCA_EVENT_DPMS_AWAKE, card1-eDP-1, dref: Display_Ref[NULL], io_path:/dev/i2c-10]
Oct 19 17:30:01 org_kde_powerdevil[2991]: Executed 1 registered callbacks.
Oct 19 17:30:01 org_kde_powerdevil[2991]: Emitting DDCA_Display_Status_Event( 466.338:  DDCA_EVENT_DISPLAY_DISCONNECTED, card0-HDMI-A-2, dref: Display_Ref[bus /dev/i2c-18], io_path:/dev/i2c-18]
Oct 19 17:30:01 org_kde_powerdevil[2991]: Executed 1 registered callbacks.
Oct 19 17:30:01 org_kde_powerdevil[2991]: Sleep event. connector=card1-eDP-1, dref not set

Oct 19 17:30:02 kactivitymanagerd[2948]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 xdg-desktop-portal-kde[2992]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 kwalletd6[2448]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_followupreminder_agent[3335]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_mailfilter_agent[3342]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_akonotes_resource[3332]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 polkit-kde-authentication-agent-1[2990]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_control[3260]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_newmailnotifier_agent[3345]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 kdeconnectd[3212]: 2024-10-19T17:30:02 qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_maildir_resource[3340]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 kded6[2868]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_contacts_resource[3334]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_indexing_agent[3339]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_unifiedmailbox_agent[3347]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 maliit-keyboard[2775]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 DiscoverNotifier[3772]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 kalendarac[3774]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_maildispatcher_agent[3341]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_imap_resource[3337]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_migration_agent[3344]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_mailmerge_agent[3343]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_sendlater_agent[3346]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_google_resource[3336]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 konsole[4057]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_imap_resource[3338]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 plasmashell[2911]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_archivemail_agent[3333]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:02 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:02 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:02 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:02 kwin_wayland[2679]: kwin_core: XCB error: 147 (BadOutput), sequence: 734, resource id: 1330, major code: 140 (RANDR), minor code: 30 (SetOutputPrimary)
Oct 19 17:30:02 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:02 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:02 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:02 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:02 plasmashell[2911]: file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:238:17: Unable to assign [undefined] to bool
Oct 19 17:30:02 plasmashell[2911]: file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:370:21: Unable to assign [undefined] to bool
Oct 19 17:30:02 org_kde_powerdevil[2991]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 plasmashell[2911]: kf.plasma.quick: Exposed with no visual parent. Window positioning broken.
Oct 19 17:30:02 plasmashell[2911]: The cached device pixel ratio value was stale on window update.  Please file a QTBUG which explains how to reproduce.
Oct 19 17:30:02 plasmashell[2911]: The cached device pixel ratio value was stale on window update.  Please file a QTBUG which explains how to reproduce.
Oct 19 17:30:02 xdg-desktop-portal-kde[2992]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 kwalletd6[2448]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 maliit-keyboard[2775]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 kactivitymanagerd[2948]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 kdeconnectd[3212]: 2024-10-19T17:30:02 qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_contacts_resource[3334]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_akonotes_resource[3332]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_indexing_agent[3339]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_followupreminder_agent[3335]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_control[3260]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 kded6[2868]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_maildispatcher_agent[3341]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_maildir_resource[3340]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 polkit-kde-authentication-agent-1[2990]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_migration_agent[3344]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_imap_resource[3337]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_mailfilter_agent[3342]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_mailmerge_agent[3343]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_imap_resource[3338]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_newmailnotifier_agent[3345]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_unifiedmailbox_agent[3347]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_archivemail_agent[3333]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_sendlater_agent[3346]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 akonadi_google_resource[3336]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 kalendarac[3774]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 DiscoverNotifier[3772]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:02 konsole[4057]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:03 org_kde_powerdevil[2991]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:03 plasmashell[2911]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:03 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:03 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:03 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:03 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:03 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:03 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:03 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:03 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:03 plasmashell[2911]: file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:238:17: Unable to assign [undefined] to bool
Oct 19 17:30:03 plasmashell[2911]: file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:370:21: Unable to assign [undefined] to bool
Oct 19 17:30:03 plasmashell[2911]: The cached device pixel ratio value was stale on window update.  Please file a QTBUG which explains how to reproduce.
Oct 19 17:30:03 plasmashell[2911]: The cached device pixel ratio value was stale on window update.  Please file a QTBUG which explains how to reproduce.
Oct 19 17:30:05 org_kde_powerdevil[2991]: stabilized_connector_names required 2 extra calls to get_sysfs_drm_connector_names()
Oct 19 17:30:05 akonadi_newmailnotifier_agent[3345]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 maliit-keyboard[2775]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_maildir_resource[3340]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 kded6[2868]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_followupreminder_agent[3335]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_akonotes_resource[3332]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 kwalletd6[2448]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_contacts_resource[3334]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 xdg-desktop-portal-kde[2992]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 polkit-kde-authentication-agent-1[2990]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_unifiedmailbox_agent[3347]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_indexing_agent[3339]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_imap_resource[3338]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_control[3260]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 kactivitymanagerd[2948]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_mailmerge_agent[3343]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 kdeconnectd[3212]: 2024-10-19T17:30:05 qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_sendlater_agent[3346]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_mailfilter_agent[3342]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 DiscoverNotifier[3772]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 kwin_wayland[2679]: kwin_core: XCB error: 147 (BadOutput), sequence: 822, resource id: 1334, major code: 140 (RANDR), minor code: 30 (SetOutputPrimary)
Oct 19 17:30:05 akonadi_google_resource[3336]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_archivemail_agent[3333]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_maildispatcher_agent[3341]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 kalendarac[3774]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 plasmashell[2911]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 konsole[4057]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_imap_resource[3337]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 akonadi_migration_agent[3344]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:05 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:05 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:05 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:05 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:05 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:05 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:05 plasmashell[2911]: kde.plasmashell: requesting unexisting screen available rect -1
Oct 19 17:30:05 plasmashell[2911]: file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:238:17: Unable to assign [undefined] to bool
Oct 19 17:30:05 plasmashell[2911]: file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:370:21: Unable to assign [undefined] to bool
Oct 19 17:30:05 org_kde_powerdevil[2991]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Oct 19 17:30:05 plasmashell[2911]: kf.plasma.quick: Exposed with no visual parent. Window positioning broken.
Oct 19 17:30:05 plasmashell[2911]: The cached device pixel ratio value was stale on window update.  Please file a QTBUG which explains how to reproduce.
Oct 19 17:30:05 plasmashell[2911]: The cached device pixel ratio value was stale on window update.  Please file a QTBUG which explains how to reproduce.
Oct 19 17:30:07 org_kde_powerdevil[2991]: Emitting DDCA_Display_Status_Event( 468.340:  DDCA_EVENT_DPMS_ASLEEP, card1-eDP-1, dref: Display_Ref[NULL], io_path:/dev/i2c-10]
Oct 19 17:30:07 org_kde_powerdevil[2991]: Executed 1 registered callbacks.
Oct 19 17:30:07 org_kde_powerdevil[2991]: Emitting DDCA_Display_Status_Event( 471.700:  DDCA_EVENT_DISPLAY_CONNECTED, card0-HDMI-A-2, dref: Display_Ref[NULL], io_path:/dev/i2c--1]
Oct 19 17:30:07 org_kde_powerdevil[2991]: Executed 1 registered callbacks.
Oct 19 17:30:07 org_kde_powerdevil[2991]: Display redetection starting.
Oct 19 17:30:07 org_kde_powerdevil[2991]: Watch thread terminated.
Oct 19 17:30:09 org_kde_powerdevil[2991]: Watch thread started
Oct 19 17:30:09 org_kde_powerdevil[2991]: Display redetection finished.
Oct 19 17:30:10 kwin_wayland[2679]: kwin_scene_opengl: 0x500: GL_INVALID_ENUM error generated. Invalid <face>.
Oct 19 17:30:10 kwin_wayland[2679]: kwin_scene_opengl: Invalid framebuffer status:  "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"
Oct 19 17:30:10 kwin_wayland[2679]: kwin_scene_opengl: 0x502: GL_INVALID_OPERATION error generated. <image> and <target> are incompatible
Oct 19 17:30:10 kwin_wayland[2679]: kwin_scene_opengl: Invalid framebuffer status:  "GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT"
Oct 19 17:30:10 kwin_wayland[2679]: kwin_wayland_drm: Failed to create framebuffer: Invalid argument
Oct 19 17:30:10 kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Framebuffer memory not appropriate for scanout
Oct 19 17:30:10 kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Framebuffer memory not appropriate for scanout
Oct 19 17:30:10 kwin_wayland[2679]: kwin_wayland_drm: Failed to create framebuffer: Invalid argument
Oct 19 17:30:10 org_kde_powerdevil[2991]: dh=Display_Handle[i2c-18: fd=36], Replacing adjusted sleep multiplier 0.50 with 1.00 for SE_POST_WRITE or SE_POST_SAVE_SETTINGS
Oct 19 17:30:11 org_kde_powerdevil[2991]: Sleep event. connector=card1-eDP-1, dref not set
Oct 19 17:30:13 org_kde_powerdevil[2991]: Emitting DDCA_Display_Status_Event( 478.152:  DDCA_EVENT_DPMS_ASLEEP, card1-eDP-1, dref: Display_Ref[NULL], io_path:/dev/i2c-10]
Oct 19 17:30:13 org_kde_powerdevil[2991]: Executed 1 registered callbacks.

Oct 19 17:30:15 systemd[1]: dbus-:1.3-org.kde.powerdevil.backlighthelper@3.service: Deactivated successfully.
Oct 19 17:30:15 audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=dbus-:1.3-org.kde.powerdevil.backlighthelper@3 comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
Oct 19 17:30:22 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:22 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
...
IT KEEPS REPEATING UNTIL
...
Oct 19 17:30:31 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:31 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:31 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:31 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
Oct 19 17:30:31 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:31 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:31 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:32 kwin_wayland[2679]: kwin_scene_opengl: 0x2: GL_INVALID_OPERATION in glDrawBuffers(unsupported buffer GL_BACK_LEFT)
Oct 19 17:30:32 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:32 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:32 kwin_wayland[2679]: This plugin does not support setting window masks
Oct 19 17:30:32 kwin_wayland[2679]: kwin_wayland_drm: Pageflip timed out! This is a kernel bug

In the journal, this line

kwin_wayland_drm: Pageflip timed out! This is a kernel bug

suggests it being a kernel bug, so I searched around and found this relevant bug report Window drag causes "Pageflip timed out! This is a kernel bug" , which eventually leads to kwin_wayland_drm: Pageflip timed out! This is a kernel bug.

At this point, it seems like an upstream issue to me, but the people there are still investigating, so not 100% sure

Hi, any updates?

Just adding that I am experiencing this as well. I am on CachyOS. I have similar logs as posted by @asmj1108 right before the freeze there are a bunch of these repeating:
Dec 23 11:34:44 siren kwin_wayland[1387]: kwin_scene_opengl: 0x502: GL_INVALID_OPERATION error generated. Dec 23 11:34:44 siren kwin_wayland[1387]: This plugin does not support setting window masks Dec 23 11:34:44 siren kwin_wayland[1387]: This plugin does not support setting window masks Dec 23 11:34:44 siren kwin_wayland[1387]: This plugin does not support setting window masks

More info:

  • I am not on a laptop, but I do have 2 displays connected.
  • one of my displays is not always on and enabled in kde display settings. but either way, this will seem to occur, I will try to track more closely now that i know it is this script.
  • The lock up seems to always occur when I go to grab a window with the mouse. The pointer freezes and whole system freezes, and I have to hard reboot.

Hopefully this can get fixed! This is an absolutely excellent script and precisely what i was looking from after moving to Gnome from KDE. I used the TilingShell extension, and this one you've made is super close to that. Assuming this issue gets fixed, I have a few feature requests I can drop here, and also happy to support (as I did TilingShell!)
Thank you!