SUMMARY An unknown notification is inexplicably freezing my Plasma shell; logs attached Plasma is totally and indefinitely freezing when I receive this notification. I can't find similar problems by searching the element that I suspect causes the bug on the Internet. It happens frequently, 0 to 2 times a day and it is really frustrating and annoying since it forces me to stop without saving any process currently running on the machine. STEPS TO REPRODUCE 1. Use KDE Plasma. 2. Receive an undetermined notification. OBSERVED RESULT KDE Plasma is eternally freezing and I have to terminate my session through the console on another tty. I can control the desktop with my mouse and my keyboard, but the visual output is frozen so I can't see what I'm doing. When it happens, the notification received is just black, like an empty window with composition disabled, and approximately 2 seconds after, the freeze occurs. I checked the logs with journactl every time it happened to see if particular messages are redundant, and there are. I copy-pasted under ADDITIONAL INFORMATION the lines wrote in the logs when the bug occurs. EXPECTED RESULT Plasma should not freeze like this. SOFTWARE/OS VERSIONS Linux kernel: 6.0.12-arch1-1 KDE Plasma Version: KDE Plasma 5.26.4 KDE Frameworks Version: 5.101.0 Qt Version: 5.15.17 ADDITIONAL INFORMATION Logs associated to the bug: déc. 12 22:40:23 AHRC-PC plasmashell[6979]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x559b74765360) QQmlContext(0x559b7180d0e0) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml") déc. 12 22:40:23 AHRC-PC plasmashell[6979]: Could not find the Plasmoid for Plasma::FrameSvgItem(0x559b74765360) QQmlContext(0x559b7180d0e0) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml") déc. 12 22:40:23 AHRC-PC plasmashell[6979]: file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationItem.qml:222:21: QML SelectableLabel: Binding loop detected for property "implicitWidth" déc. 12 22:40:23 AHRC-PC plasmashell[6979]: file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationItem.qml:222:21: QML SelectableLabel: Binding loop detected for property "implicitWidth" déc. 12 22:40:23 AHRC-PC plasmashell[6979]: file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationItem.qml:222:21: QML SelectableLabel: Binding loop detected for property "implicitHeight"
Happens to me as well. Distribution: Void Linux Linux kernel: 5.15.82_1 KDE Plasma Version: KDE Plasma 5.26.3 KDE Frameworks Version: 5.100.0 Qt Version: 5.15.17 DE/server/GPU: Plasma on kwin-x11 on amdgpu It seems some threaded condition variable is never signalled (race condition?) when a QExposeEvent is fired after the notification is created and shown: #0 __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55a5ccf36924) at futex-internal.c:57 #1 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55a5ccf36924, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87 #2 0x00007fbbd2b0f6db in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55a5ccf36924, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139 #3 0x00007fbbd2b11e90 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55a5ccf368d0, cond=0x55a5ccf368f8) at pthread_cond_wait.c:503 #4 ___pthread_cond_wait (cond=cond@entry=0x55a5ccf368f8, mutex=mutex@entry=0x55a5ccf368d0) at pthread_cond_wait.c:618 #5 0x00007fbbd2ffa03b in QWaitConditionPrivate::wait (deadline=..., deadline=..., this=0x55a5ccf368d0) at thread/qwaitcondition_unix.cpp:146 #6 QWaitCondition::wait (this=<optimized out>, mutex=0x55a5cc68fac8, deadline=...) at thread/qwaitcondition_unix.cpp:225 #7 0x00007fbbd4ba9c1a in QSGThreadedRenderLoop::polishAndSync (this=this@entry=0x55a5c8a59380, w=w@entry=0x7fbbc001e740, inExpose=inExpose@entry=true) at ../../../qtbase/include/QtCore/../../src/corelib/kernel/qdeadlinetimer.h:68 #8 0x00007fbbd4baade2 in QSGThreadedRenderLoop::handleExposure (this=0x55a5c8a59380, window=<optimized out>) at scenegraph/qsgthreadedrenderloop.cpp:1374 #9 0x00007fbbd3615fc5 in QWindow::event (this=0x55a5cd30d3e0, ev=<optimized out>) at kernel/qwindow.cpp:2450 #10 0x00007fbbd3eff20f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55a5cd30d3e0, e=0x7fffba3572e0) at kernel/qapplication.cpp:3637 #11 0x00007fbbd31d699a in QCoreApplication::notifyInternal2 (receiver=0x55a5cd30d3e0, event=0x7fffba3572e0) at kernel/qcoreapplication.cpp:1064 #12 0x00007fbbd360b1dd in QGuiApplicationPrivate::processExposeEvent (e=0x7fbbc0025c80) at kernel/qguiapplication.cpp:3261 #13 0x00007fbbd35de7bc in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169 #14 0x00007fbbce96131a in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105 #15 0x00007fbbd134bb2b in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #16 0x00007fbbd134bdd8 in ?? () from /usr/lib/libglib-2.0.so.0 #17 0x00007fbbd134be8f in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #18 0x00007fbbd322e5cf in QEventDispatcherGlib::processEvents (this=0x55a5c8421f60, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #19 0x00007fbbd31d533b in QEventLoop::exec (this=this@entry=0x7fffba357550, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69 #20 0x00007fbbd31dd5d0 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #21 0x00007fbbd35fd3ac in QGuiApplication::exec () at kernel/qguiapplication.cpp:1870 #22 0x00007fbbd3eff185 in QApplication::exec () at kernel/qapplication.cpp:2829 #23 0x000055a5c78fb8c9 in main (argc=<optimized out>, argv=0x7fffba357680) at ../shell/main.cpp:233 (gdb) f 10 #10 0x00007fbbd3eff20f in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55a5cd30d3e0, e=0x7fffba3572e0) at kernel/qapplication.cpp:3637 3637 kernel/qapplication.cpp: No such file or directory. (gdb) p *e $1 = {_vptr.QEvent = 0x7fbbd3b8a540 <vtable for QExposeEvent+16>, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fbbd339f1c0 <qt_meta_stringdata_QEvent>, data = 0x7fbbd339ec00 <qt_meta_data_QEvent>, static_metacall = 0x0, relatedMetaObjects = 0x0, extradata = 0x0}}, d = 0x0, t = 206, posted = 0, spont = 1, m_accept = 1, reserved = 0} PLASMA LOG TAIL Could not find the Plasmoid for Plasma::FrameSvgItem(0x55a5ca4878f0) QQmlContext(0x55a5c9a42820) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml") Could not find the Plasmoid for Plasma::FrameSvgItem(0x55a5ca4878f0) QQmlContext(0x55a5c9a42820) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml") file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationItem.qml:221:21: QML SelectableLabel: Binding loop detected for property "implicitWidth" file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationItem.qml:221:21: QML SelectableLabel: Binding loop detected for property "implicitWidth" file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationItem.qml:221:21: QML SelectableLabel: Binding loop detected for property "implicitHeight" file:///usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/ExpandedRepresentation.qml:162: TypeError: Cannot read property 'text' of null file:///usr/share/plasma/plasmoids/org.kde.plasma.networkmanagement/contents/ui/ConnectionItem.qml:45:32: QML Action: Accessible must be attached to an Item file:///usr/share/plasma/plasmoids/org.kde.plasma.networkmanagement/contents/ui/ConnectionItem.qml:45:32: QML Action: Accessible must be attached to an Item Could not find the Plasmoid for Plasma::FrameSvgItem(0x55a5cc214340) QQmlContext(0x55a5c9a42820) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml") Could not find the Plasmoid for Plasma::FrameSvgItem(0x55a5cc214340) QQmlContext(0x55a5c9a42820) QUrl("file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml") file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationItem.qml:221:21: QML SelectableLabel: Binding loop detected for property "implicitWidth" file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationItem.qml:221:21: QML SelectableLabel: Binding loop detected for property "implicitWidth" file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationItem.qml:221:21: QML SelectableLabel: Binding loop detected for property "implicitHeight" console.warn: LoginRecipes: "Falling back to a synchronous message for: https://duckduckgo.com." console.warn: LoginRecipes: "Falling back to a synchronous message for: https://duckduckgo.com." console.warn: LoginRecipes: "Falling back to a synchronous message for: https://duckduckgo.com." Extension error: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIDOMWindowUtils.addSheet]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: resource://gre/modules/ExtensionCommon.jsm :: runSafeSyncWithoutClone :: line 71" data: no] undefined 71 [[Exception stack runSafeSyncWithoutClone@resource://gre/modules/ExtensionCommon.jsm:71:12 inject/cssPromise<@resource://gre/modules/ExtensionContent.jsm:538:36 Current stack runSafeSyncWithoutClone@resource://gre/modules/ExtensionCommon.jsm:77:9 inject/cssPromise<@resource://gre/modules/ExtensionContent.jsm:538:36 ]]
Unfortunately this is a regression in the AMD graphics drivers. See https://gitlab.freedesktop.org/mesa/mesa/-/issues/7624