STEPS TO REPRODUCE 1. plasmoidviewer --applet org.kde.plasma.digitalclock 2. click on the clock OBSERVED RESULT plasmoidviewer crashes Stack trace of thread 414501: #0 0x00007abf700f03d5 n/a (breeze6.so + 0x4a3d5) #1 0x00007abf81759238 _ZN23QCoreApplicationPrivate34sendThroughApplicationEventFiltersEP7QObjectP6QEvent (libQt6Core.so.6 + 0x159238) #2 0x00007abf82efedbf _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt6Widgets.so.6 + 0xfedbf) #3 0x00007abf8175a018 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x15a018) #4 0x00007abf82589c3d _ZN22QGuiApplicationPrivate26processGeometryChangeEventEPN29QWindowSystemInterfacePrivate19GeometryChangeEventE (libQt6Gui.so.6 + 0x189c3d) #5 0x00007abf825fb23a _ZN22QWindowSystemInterface20handleGeometryChangeINS_19SynchronousDeliveryEEEvP7QWindowRK5QRect (libQt6Gui.so.6 + 0x1fb23a) #6 0x00007abf815a05db _ZN15QtWaylandClient14QWaylandWindow11setGeometryERK5QRect (libQt6WaylandClient.so.6 + 0x9e5db) #7 0x00007abf825f4e4a _ZN7QWindow11setGeometryERK5QRect (libQt6Gui.so.6 + 0x1f4e4a) #8 0x00007abf825f512f _ZN7QWindow11setPositionERK6QPoint (libQt6Gui.so.6 + 0x1f512f) #9 0x00007abf83fac78e n/a (libPlasmaQuick.so.6 + 0x5678e) #10 0x00007abf83fad061 _ZN11PlasmaQuick17PopupPlasmaWindow5eventEP6QEvent (libPlasmaQuick.so.6 + 0x57061) #11 0x00007abf82efed9e _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt6Widgets.so.6 + 0xfed9e) #12 0x00007abf8175a018 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x15a018) #13 0x00007abf82589c3d _ZN22QGuiApplicationPrivate26processGeometryChangeEventEPN29QWindowSystemInterfacePrivate19GeometryChangeEventE (libQt6Gui.so.6 + 0x189c3d) #14 0x00007abf825fb23a _ZN22QWindowSystemInterface20handleGeometryChangeINS_19SynchronousDeliveryEEEvP7QWindowRK5QRect (libQt6Gui.so.6 + 0x1fb23a) #15 0x00007abf815a05db _ZN15QtWaylandClient14QWaylandWindow11setGeometryERK5QRect (libQt6WaylandClient.so.6 + 0x9e5db) #16 0x00007abf825f4e4a _ZN7QWindow11setGeometryERK5QRect (libQt6Gui.so.6 + 0x1f4e4a) #17 0x00007abf825f512f _ZN7QWindow11setPositionERK6QPoint (libQt6Gui.so.6 + 0x1f512f) #18 0x00007abf83fac78e n/a (libPlasmaQuick.so.6 + 0x5678e) #19 0x00007abf83fad061 _ZN11PlasmaQuick17PopupPlasmaWindow5eventEP6QEvent (libPlasmaQuick.so.6 + 0x57061) #20 0x00007abf82efed9e _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt6Widgets.so.6 + 0xfed9e) #21 0x00007abf8175a018 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x15a018) #22 0x00007abf82589c3d _ZN22QGuiApplicationPrivate26processGeometryChangeEventEPN29QWindowSystemInterfacePrivate19GeometryChangeEventE (libQt6Gui.so.6 + 0x189c3d) #23 0x00007abf825fb23a _ZN22QWindowSystemInterface20handleGeometryChangeINS_19SynchronousDeliveryEEEvP7QWindowRK5QRect (libQt6Gui.so.6 + 0x1fb23a) #24 0x00007abf815a05db _ZN15QtWaylandClient14QWaylandWindow11setGeometryERK5QRect (libQt6WaylandClient.so.6 + 0x9e5db) #25 0x00007abf825f4e4a _ZN7QWindow11setGeometryERK5QRect (libQt6Gui.so.6 + 0x1f4e4a) #26 0x00007abf825f512f _ZN7QWindow11setPositionERK6QPoint (libQt6Gui.so.6 + 0x1f512f) #27 0x00007abf83fac78e n/a (libPlasmaQuick.so.6 + 0x5678e) #28 0x00007abf83fad061 _ZN11PlasmaQuick17PopupPlasmaWindow5eventEP6QEvent (libPlasmaQuick.so.6 + 0x57061) #29 0x00007abf82efed9e _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt6Widgets.so.6 + 0xfed9e) #30 0x00007abf8175a018 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x15a018) #31 0x00007abf82589c3d _ZN22QGuiApplicationPrivate26processGeometryChangeEventEPN29QWindowSystemInterfacePrivate19GeometryChangeEventE (libQt6Gui.so.6 + 0x189c3d) #32 0x00007abf825fb23a _ZN22QWindowSystemInterface20handleGeometryChangeINS_19SynchronousDeliveryEEEvP7QWindowRK5QRect (libQt6Gui.so.6 + 0x1fb23a) #33 0x00007abf815a05db _ZN15QtWaylandClient14QWaylandWindow11setGeometryERK5QRect (libQt6WaylandClient.so.6 + 0x9e5db) #34 0x00007abf825f4e4a _ZN7QWindow11setGeometryERK5QRect (libQt6Gui.so.6 + 0x1f4e4a) #35 0x00007abf825f512f _ZN7QWindow11setPositionERK6QPoint (libQt6Gui.so.6 + 0x1f512f) #36 0x00007abf83fac78e n/a (libPlasmaQuick.so.6 + 0x5678e) #37 0x00007abf83fad061 _ZN11PlasmaQuick17PopupPlasmaWindow5eventEP6QEvent (libPlasmaQuick.so.6 + 0x57061) #38 0x00007abf82efed9e _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt6Widgets.so.6 + 0xfed9e) #39 0x00007abf8175a018 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x15a018) #40 0x00007abf82589c3d _ZN22QGuiApplicationPrivate26processGeometryChangeEventEPN29QWindowSystemInterfacePrivate19GeometryChangeEventE (libQt6Gui.so.6 + 0x189c3d) #41 0x00007abf825fb23a _ZN22QWindowSystemInterface20handleGeometryChangeINS_19SynchronousDeliveryEEEvP7QWindowRK5QRect (libQt6Gui.so.6 + 0x1fb23a) #42 0x00007abf815a05db _ZN15QtWaylandClient14QWaylandWindow11setGeometryERK5QRect (libQt6WaylandClient.so.6 + 0x9e5db) #43 0x00007abf825f4e4a _ZN7QWindow11setGeometryERK5QRect (libQt6Gui.so.6 + 0x1f4e4a) #44 0x00007abf825f512f _ZN7QWindow11setPositionERK6QPoint (libQt6Gui.so.6 + 0x1f512f) #45 0x00007abf83fac78e n/a (libPlasmaQuick.so.6 + 0x5678e) #46 0x00007abf83fad061 _ZN11PlasmaQuick17PopupPlasmaWindow5eventEP6QEvent (libPlasmaQuick.so.6 + 0x57061) #47 0x00007abf82efed9e _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt6Widgets.so.6 + 0xfed9e) #48 0x00007abf8175a018 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x15a018) #49 0x00007abf82589c3d _ZN22QGuiApplicationPrivate26processGeometryChangeEventEPN29QWindowSystemInterfacePrivate19GeometryChangeEventE (libQt6Gui.so.6 + 0x189c3d) #50 0x00007abf825fb23a _ZN22QWindowSystemInterface20handleGeometryChangeINS_19SynchronousDeliveryEEEvP7QWindowRK5QRect (libQt6Gui.so.6 + 0x1fb23a) #51 0x00007abf815a05db _ZN15QtWaylandClient14QWaylandWindow11setGeometryERK5QRect (libQt6WaylandClient.so.6 + 0x9e5db) #52 0x00007abf825f4e4a _ZN7QWindow11setGeometryERK5QRect (libQt6Gui.so.6 + 0x1f4e4a) #53 0x00007abf825f512f _ZN7QWindow11setPositionERK6QPoint (libQt6Gui.so.6 + 0x1f512f) #54 0x00007abf83fac78e n/a (libPlasmaQuick.so.6 + 0x5678e) #55 0x00007abf83fad061 _ZN11PlasmaQuick17PopupPlasmaWindow5eventEP6QEvent (libPlasmaQuick.so.6 + 0x57061) #56 0x00007abf82efed9e _ZN19QApplicationPrivate13notify_helperEP7QObjectP6QEvent (libQt6Widgets.so.6 + 0xfed9e) #57 0x00007abf8175a018 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x15a018) #58 0x00007abf82589c3d _ZN22QGuiApplicationPrivate26processGeometryChangeEventEPN29QWindowSystemInterfacePrivate19GeometryChangeEventE (libQt6Gui.so.6 + 0x189c3d) #59 0x00007abf825fb23a _ZN22QWindowSystemInterface20handleGeometryChangeINS_19SynchronousDeliveryEEEvP7QWindowRK5QRect (libQt6Gui.so.6 + 0x1fb23a) #60 0x00007abf815a05db _ZN15QtWaylandClient14QWaylandWindow11setGeometryERK5QRect (libQt6WaylandClient.so.6 + 0x9e5db) #61 0x00007abf825f4e4a _ZN7QWindow11setGeometryERK5QRect (libQt6Gui.so.6 + 0x1f4e4a) #62 0x00007abf825f512f _ZN7QWindow11setPositionERK6QPoint (libQt6Gui.so.6 + 0x1f512f) #63 0x00007abf83fac78e n/a (libPlasmaQuick.so.6 + 0x5678e) SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.3.4 KDE Frameworks Version: 6.13.0 Qt Version: 6.9.0 Kernel Version: 6.14.4-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 5600H with Radeon Graphics Memory: 15.0 GiB of RAM Graphics Processor: AMD Radeon Graphics
I can reproduce this on git-master.
Try (workaround to make it work): QT_QPA_PLATFORM=xcb plasmoidviewer --applet org.kde.plasma.digitalclock I believe its the same bug I reported https://bugs.kde.org/show_bug.cgi?id=506106 *** This bug has been marked as a duplicate of bug 506106 ***
I don't believe this is a duplicate of bug 506106, unless where it fails is just inconsistent. This is the stack trace I get when testing on Plasma 6.4.4, in a full Plasma session: #0 malloc () at /usr/lib64/libc.so.6 #1 QArrayData::allocate(QArrayData**, long long, long long, long long, QArrayData::AllocationOption) () at /usr/lib64/libQt6Core.so.6 #2 ??? () at /usr/lib64/libQt6WaylandClient.so.6 #3 QtWaylandClient::QWaylandScreen::virtualSiblings() const () at /usr/lib64/libQt6WaylandClient.so.6 #4 QScreen::virtualSiblings() const () at /usr/lib64/libQt6Gui.so.6 #5 QGuiApplication::screenAt(QPoint const&) () at /usr/lib64/libQt6Gui.so.6 #6 PlasmaQuick::PopupPlasmaWindowPrivate::updateSlideEffect (this=, globalPosition=...) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:91 #7 PlasmaQuick::PopupPlasmaWindowPrivate::updatePosition (this=) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:173 #8 PlasmaQuick::PopupPlasmaWindow::event (this=, event=) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:420 #9 QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt6Widgets.so.6 #10 QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt6Core.so.6 #11 QGuiApplicationPrivate::processGeometryChangeEvent(QWindowSystemInterfacePrivate::GeometryChangeEvent*) () at /usr/lib64/libQt6Gui.so.6 #12 ??? () at /usr/lib64/libQt6Gui.so.6 #13 QtWaylandClient::QWaylandWindow::setGeometry(QRect const&) () at /usr/lib64/libQt6WaylandClient.so.6 #14 QWindow::setGeometry(QRect const&) () at /usr/lib64/libQt6Gui.so.6 #15 QWindow::setPosition(QPoint const&) () at /usr/lib64/libQt6Gui.so.6 #16 PlasmaQuick::PopupPlasmaWindowPrivate::updatePositionWayland (this=, position=...) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:193 #17 PlasmaQuick::PopupPlasmaWindowPrivate::updatePosition (this=) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:178 #18 PlasmaQuick::PopupPlasmaWindow::event (this=, event=) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:420 #19 QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt6Widgets.so.6 #20 QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt6Core.so.6 #21 QGuiApplicationPrivate::processGeometryChangeEvent(QWindowSystemInterfacePrivate::GeometryChangeEvent*) () at /usr/lib64/libQt6Gui.so.6 #22 ??? () at /usr/lib64/libQt6Gui.so.6 #23 QtWaylandClient::QWaylandWindow::setGeometry(QRect const&) () at /usr/lib64/libQt6WaylandClient.so.6 #24 QWindow::setGeometry(QRect const&) () at /usr/lib64/libQt6Gui.so.6 #25 QWindow::setPosition(QPoint const&) () at /usr/lib64/libQt6Gui.so.6 #26 PlasmaQuick::PopupPlasmaWindowPrivate::updatePositionWayland (this=, position=...) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:193 #27 PlasmaQuick::PopupPlasmaWindowPrivate::updatePosition (this=) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:178 #28 PlasmaQuick::PopupPlasmaWindow::event (this=, event=) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:420 [... tens of thousands more frames of the same calls ...] #80556 PlasmaQuick::PopupPlasmaWindowPrivate::updatePositionWayland (this=, position=...) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:193 #80557 PlasmaQuick::PopupPlasmaWindowPrivate::updatePosition (this=) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:178 #80558 PlasmaQuick::PopupPlasmaWindow::event (this=, event=) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:420 #80559 QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt6Widgets.so.6 #80560 QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt6Core.so.6 #80561 QGuiApplicationPrivate::processGeometryChangeEvent(QWindowSystemInterfacePrivate::GeometryChangeEvent*) () at /usr/lib64/libQt6Gui.so.6 #80562 ??? () at /usr/lib64/libQt6Gui.so.6 #80563 QtWaylandClient::QWaylandWindow::setGeometry(QRect const&) () at /usr/lib64/libQt6WaylandClient.so.6 #80564 QWindow::setGeometry(QRect const&) () at /usr/lib64/libQt6Gui.so.6 #80565 QWindow::setPosition(QPoint const&) () at /usr/lib64/libQt6Gui.so.6 #80566 PlasmaQuick::PopupPlasmaWindowPrivate::updatePositionWayland (this=, position=...) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:193 #80567 PlasmaQuick::PopupPlasmaWindowPrivate::updatePosition (this=) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:178 #80568 PlasmaQuick::PopupPlasmaWindow::event (this=, event=) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/plasmaquick/popupplasmawindow.cpp:420 #80569 QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt6Widgets.so.6 #80570 QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt6Core.so.6 #80571 QWindowPrivate::setVisible(bool) () at /usr/lib64/libQt6Gui.so.6 #80572 ToolTipArea::showToolTip (this=) at /usr/src/debug/kde-plasma/libplasma-6.4.4/libplasma-6.4.4/src/declarativeimports/core/tooltiparea.cpp:178 #80573 ??? () at /usr/lib64/libQt6Core.so.6 #80574 QTimer::timerEvent(QTimerEvent*) () at /usr/lib64/libQt6Core.so.6 #80575 QObject::event(QEvent*) () at /usr/lib64/libQt6Core.so.6 #80576 QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQt6Widgets.so.6 #80577 QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib64/libQt6Core.so.6 #80578 QTimerInfoList::activateTimers() () at /usr/lib64/libQt6Core.so.6 #80579 ??? () at /usr/lib64/libQt6Core.so.6 #80580 ??? () at /usr/lib64/libglib-2.0.so.0 #80581 ??? () at /usr/lib64/libglib-2.0.so.0 #80582 g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #80583 QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt6Core.so.6 #80584 QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQt6Core.so.6 #80585 QCoreApplication::exec() () at /usr/lib64/libQt6Core.so.6 #80586 main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kde-plasma/plasma-sdk-6.4.4/plasma-sdk-6.4.4/plasmoidviewer/main.cpp:141 Even when using the attached patch to test for the Slide effect with KWindowEffects:isEffectAvailable, this bug occurs for me.
Created attachment 184423 [details] Patch to test for KWindowEffects::Effect::Slide
Thanks for looking into this. I agree this is not a duplicate of bug 506106. My fix however fixing both. My backtrace shows an additional Wayland geometry re-entrancy in PlasmaQuick::PopupPlasmaWindowPrivate::updatePositionWayland(): calling QWindow::setPosition() triggers a GeometryChange event that routes back into updatePosition*(), causing a recursion and SIGSEGV. Patch attached (against plasma-framework / PlasmaQuick, not plasma-sdk).
Created attachment 184435 [details] wayland-pos-fix.diff