SUMMARY Kwin-wayland randomly crashes. STEPS TO REPRODUCE I cannot reliably reproduce the issue. The crash happens about once in a day or two. It usually happens when I open some program (often, but not limited to, Firefox), but it happened also when switching focus to another program. I could not find any reliable pattern. OBSERVED RESULT The screen goes black for a while, then everything returns. If Firefox was running, it crashes and instead of it I see only crash reporting dialog. Controlling screen backlight does not work until system restart. Other programs seem to be unaffected. EXPECTED RESULT Not crashing. SOFTWARE/OS VERSIONS Operating System: Garuda Linux KDE Plasma Version: 6.5.2 KDE Frameworks Version: 6.19.0 Qt Version: 6.10.0 Kernel Version: 6.17.7-zen1-1-zen (64-bit) Graphics Platform: Wayland Processors: 16 × Intel® Core™ Ultra 9 285H Memory: 32 GiB of RAM (30.9 GiB usable) Graphics Processor: Intel® Graphics ADDITIONAL INFORMATION I have managed to get stack-trace by installing `debuginfod` and running `oredumpctl dump 4905 --output /tmp/dump.core` and `gdb /usr/bin/kwin_wayland /tmp/dump.core`: ``` #0 0x00007f75320bbc5e in QQmlData::markAsDeleted (o=o@entry=0x55c2edfbe1a0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlengine.cpp:384 #1 0x00007f75320bce32 in QQmlPrivate::qdeclarativeelement_destructor (o=o@entry=0x55c2edfbe1a0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlengine.cpp:242 #2 0x00007f753283aa0a in QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement (this=<optimized out>, this=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlprivate.h:104 #3 QQmlPrivate::QQmlElement<QQuickItem>::~QQmlElement (this=<optimized out>, this=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/qqmlprivate.h:105 #4 0x00007f74f9d9df99 in std::default_delete<QQuickItem>::operator() (this=<optimized out>, __ptr=<optimized out>) at /usr/include/c++/15.2.1/bits/unique_ptr.h:87 #5 std::__uniq_ptr_impl<QQuickItem, std::default_delete<QQuickItem> >::reset (this=0x55c2ed7acb70, __p=0x0) at /usr/include/c++/15.2.1/bits/unique_ptr.h:205 #6 std::unique_ptr<QQuickItem, std::default_delete<QQuickItem> >::reset (this=0x55c2ed7acb70, __p=0x0) at /usr/include/c++/15.2.1/bits/unique_ptr.h:512 #7 Aurorae::Decoration::~Decoration (this=<optimized out>, this=<optimized out>) at /usr/src/debug/aurorae/aurorae-6.5.2/src/aurorae.cpp:233 #8 0x00007f74f9d9e215 in Aurorae::Decoration::~Decoration (this=<optimized out>, this=<optimized out>) at /usr/src/debug/aurorae/aurorae-6.5.2/src/aurorae.cpp:237 #9 0x00007f7532d754aa in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release ( this=0x55c2ee5e3f00) at /usr/include/c++/15.2.1/bits/shared_ptr_base.h:345 #10 std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x55c2ee5e3f00) at /usr/include/c++/15.2.1/bits/shared_ptr_base.h:316 #11 0x00007f7532fed2aa in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count ( this=<optimized out>, this=<optimized out>) at /usr/include/c++/15.2.1/bits/shared_ptr_base.h:1069 #12 std::__shared_ptr<KDecoration3::Decoration, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr ( this=<optimized out>, this=<optimized out>) at /usr/include/c++/15.2.1/bits/shared_ptr_base.h:1531 #13 std::shared_ptr<KDecoration3::Decoration>::~shared_ptr (this=<optimized out>, this=<optimized out>) at /usr/include/c++/15.2.1/bits/shared_ptr.h:175 #14 KWin::Window::{unnamed type#2}::~Window() (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kwin/kwin-6.5.2/src/window.h:1864 #15 KWin::Window::~Window (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kwin/kwin-6.5.2/src/window.cpp:104 #16 0x00007f7533031865 in KWin::XdgToplevelWindow::~XdgToplevelWindow (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kwin/kwin-6.5.2/src/xdgshellwindow.cpp:512 #17 0x00007f7532e04cae in KWin::EffectWindowDeletedRef::~EffectWindowDeletedRef (this=<optimized out>, this=<optimized out>) at /usr/src/debug/kwin/kwin-6.5.2/src/effect/effectwindow.h:872 #18 std::destroy_at<KWin::EffectWindowDeletedRef> (__location=0x55c2ee088af0) at /usr/include/c++/15.2.1/bits/stl_construct.h:88 #19 std::_Destroy<KWin::EffectWindowDeletedRef> (__pointer=0x55c2ee088af0) at /usr/include/c++/15.2.1/bits/stl_construct.h:164 #20 std::_Destroy<KWin::EffectWindowDeletedRef*> (__first=0x55c2ee088af0, __last=0x55c2ee088af8) at /usr/include/c++/15.2.1/bits/stl_construct.h:212 #21 std::_Destroy<KWin::EffectWindowDeletedRef*, KWin::EffectWindowDeletedRef> ( __first=0x55c2ee088af0, __last=0x55c2ee088af8) at /usr/include/c++/15.2.1/bits/alloc_traits.h:1045 #22 std::vector<KWin::EffectWindowDeletedRef, std::allocator<KWin::EffectWindowDeletedRef> >::~vector ( this=<optimized out>, this=<optimized out>) at /usr/include/c++/15.2.1/bits/stl_vector.h:802 #23 KWin::AnimationEffect::postPaintScreen (this=<optimized out>) at /usr/src/debug/kwin/kwin-6.5.2/src/effect/animationeffect.cpp:711 #24 0x00007f7532e09b0c in KWin::EffectsHandler::postPaintScreen (this=0x55c2ebd272f0) at /usr/src/debug/kwin/kwin-6.5.2/src/effect/effecthandler.cpp:379 #25 0x00007f7532e04c88 in KWin::AnimationEffect::postPaintScreen (this=<optimized out>) at /usr/src/debug/kwin/kwin-6.5.2/src/effect/animationeffect.cpp:710 #26 0x00007f7532e09b0c in KWin::EffectsHandler::postPaintScreen (this=0x55c2ebd272f0) at /usr/src/debug/kwin/kwin-6.5.2/src/effect/effecthandler.cpp:379 #27 0x00007f7532e09b0c in KWin::EffectsHandler::postPaintScreen (this=0x55c2ebd272f0) at /usr/src/debug/kwin/kwin-6.5.2/src/effect/effecthandler.cpp:379 #28 0x00007f7532f5302a in KWin::WorkspaceScene::postPaint (this=0x7f7524017d50) at /usr/src/debug/kwin/kwin-6.5.2/src/scene/workspacescene.cpp:590 #29 0x00007f7532d8d3f9 in KWin::Compositor::composite (this=<optimized out>, renderLoop=<optimized out>) at /usr/src/debug/kwin/kwin-6.5.2/src/compositor.cpp:918 #30 0x00007f75305d716f in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobjectdefs_impl.h:461 #31 doActivate<false> (sender=<optimized out>, signal_index=<optimized out>, argv=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:4255 #32 0x00007f7532db4d5b in QMetaObject::activate<void, KWin::RenderLoop*> (sender=<optimized out>, mo=<optimized out>, local_signal_index=2, ret=0x0) at /usr/include/qt6/QtCore/qobjectdefs.h:319 #33 KWin::RenderLoop::frameRequested (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/kwin/build/src/kwin_autogen/include/moc_renderloop.cpp:171 #34 0x00007f75305c44f6 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1386 #35 0x00007f75317020a0 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55c2eae90890, e=0x7ffd8aa394f0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3307 #36 0x00007f753056a6c8 in QCoreApplication::notifyInternal2 (receiver=0x55c2eae90890, event=0x7ffd8aa394f0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1109 #37 0x00007f753072c6af in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x7ffd8aa394f0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1549 #38 QTimerInfoList::activateTimers (this=this@entry=0x55c2ea9b3098) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qtimerinfo_unix.cpp:426 #39 0x00007f753072f901 in QEventDispatcherUNIXPrivate::activateTimers (this=0x55c2ea9b2fc0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:221 #40 QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=..., flags@entry=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:503 #41 0x00007f7531334773 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/platform/unix/qunixeventdispatcher.cpp:27 #42 0x00007f7530575a86 in QEventLoop::processEvents (this=0x7ffd8aa396d0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104 #43 QEventLoop::exec (this=0x7ffd8aa396d0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186 #44 0x00007f753056f171 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1452 #45 0x00007f75316fd31a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2574 #46 0x000055c2ac12b9f4 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin/kwin-6.5.2/src/main_wayland.cpp:635 ```
*** Bug 511970 has been marked as a duplicate of this bug. ***
From the duplicate report: > kwin_wayland randomly crashes on garuda linux QObjectData::dynamicMetaObject() const () from /usr/lib/libQt6Core.so.6 > Kwin_wayland randomly crashes. I have frustratingly not found a good way to reproduce these crashes, but I have found that it happens most commonly when using CTRL+C or CTRL+V, and especially in snapshot. This is not needed however and will sometimes happen for seemingly no reason.
Aurorae has been rewritten in 6.6, it doesn't use QML anymore. Reopen this issue if the crash still persists in 6.6.