Bug 511880 - Kwin-wayland randomly crashes
Summary: Kwin-wayland randomly crashes
Status: RESOLVED WORKSFORME
Alias: None
Product: kwin
Classification: Plasma
Component: aurorae (other bugs)
Version First Reported In: 6.5.2
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords:
: 511970 (view as bug list)
Depends on:
Blocks:
 
Reported: 2025-11-09 20:26 UTC by peto1994
Modified: 2026-01-20 08:36 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description peto1994 2025-11-09 20:26:10 UTC
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
```
Comment 1 TraceyC 2025-11-13 17:15:52 UTC
*** Bug 511970 has been marked as a duplicate of this bug. ***
Comment 2 TraceyC 2025-11-13 17:17:51 UTC
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.
Comment 3 Vlad Zahorodnii 2026-01-20 08:36:12 UTC
Aurorae has been rewritten in 6.6, it doesn't use QML anymore. Reopen this issue if the crash still persists in 6.6.