Bug 509308 - KWin crashed switching windows
Summary: KWin crashed switching windows
Status: REPORTED
Alias: None
Product: kwin
Classification: Plasma
Component: generic-crash (other bugs)
Version First Reported In: 6.4.4
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: drkonqi, qt-crash
Depends on:
Blocks:
 
Reported: 2025-09-09 12:48 UTC by Michael Hamann
Modified: 2025-09-23 17:00 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/246079/events/400d647671554e239c5dfb73d06aa70c/


Attachments
New crash information added by DrKonqi (126.80 KB, text/plain)
2025-09-09 12:48 UTC, Michael Hamann
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Hamann 2025-09-09 12:48:10 UTC
Application: kwin_wayland (6.4.4)

ApplicationNotResponding [ANR]: false
Qt Version: 6.9.2
Frameworks Version: 6.17.0
Operating System: Linux 6.16.4-arch1-1 x86_64
Windowing System: Wayland
Distribution: "Arch Linux"
DrKonqi: 6.4.4 [CoredumpBackend]

-- Information about the crash:
KWin crashed when switching between windows, I think it was Firefox (in focus) and IntelliJ (switching to it). The screen froze, turned black and then KWin restarted.

The reporter is unsure if this crash is reproducible.

-- Backtrace (Reduced):
#5  std::__atomic_base<int>::fetch_sub (this=<optimized out>, __i=<optimized out>, __m=<optimized out>, this=<optimized out>, __i=<optimized out>, __m=<optimized out>) at /usr/include/c++/15.2.1/bits/atomic_base.h:639
#6  QAtomicOps<int>::deref<int> (_q_value=..., _q_value=...) at /usr/include/qt6/QtCore/qatomic_cxx11.h:266
[...]
#8  QQmlRefCounted<QV4::ExecutableCompilationUnit>::release (this=0x7fd4f23089c0 <vtable for QQuickAccessibleAttached+24>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/ftw/qqmlrefcount_p.h:152
#9  QV4::Heap::JavaScriptFunctionObject::destroy (this=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4functionobject.cpp:75
#10 QV4::JavaScriptFunctionObject::virtualDestroy (b=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4functionobject_p.h:241
#11 0x00007fd4f1868237 in QV4::Chunk::sweep (this=0x7fd4ca4b0000, engine=0x55d897c8aba0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:308
#12 0x00007fd4f18699f2 in operator() (__closure=<synthetic pointer>, c=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:565
#15 QV4::BlockAllocator::sweep (this=0x55d897278700) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:564
#17 0x00007fd4f187717a in QV4::GCStateMachine::transition (this=0x55d897d1aaf0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:1552
#18 0x00007fd4efbc1a74 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1432
#19 0x00007fd4f0f01dd0 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55d897da2890, e=0x55d8d38ac6e0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3300
#20 0x00007fd4efb68678 in QCoreApplication::notifyInternal2 (receiver=0x55d897da2890, event=event@entry=0x55d8d38ac6e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#21 0x00007fd4efb68a5b in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x55d8d38ac6e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#22 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55d896d88740) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1891
#23 0x00007fd4efd29327 in QEventDispatcherUNIX::processEvents (this=0x55d896da7290, flags=flags@entry=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:440
#24 0x00007fd4f091b073 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/platform/unix/qunixeventdispatcher.cpp:27


Reported using DrKonqi
Comment 1 Michael Hamann 2025-09-09 12:48:11 UTC
Created attachment 184847 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 TraceyC 2025-09-22 16:53:36 UTC
Full searchable backtrace

[KCrash Handler]
#5  std::__atomic_base<int>::fetch_sub (this=<optimized out>, __i=<optimized out>, __m=<optimized out>, this=<optimized out>, __i=<optimized out>, __m=<optimized out>) at /usr/include/c++/15.2.1/bits/atomic_base.h:639
#6  QAtomicOps<int>::deref<int> (_q_value=..., _q_value=...) at /usr/include/qt6/QtCore/qatomic_cxx11.h:266
#7  QBasicAtomicInteger<int>::deref (this=<optimized out>, this=<optimized out>) at /usr/include/qt6/QtCore/qbasicatomic.h:48
#8  QQmlRefCounted<QV4::ExecutableCompilationUnit>::release (this=0x7fd4f23089c0 <vtable for QQuickAccessibleAttached+24>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/qml/ftw/qqmlrefcount_p.h:152
#9  QV4::Heap::JavaScriptFunctionObject::destroy (this=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4functionobject.cpp:75
#10 QV4::JavaScriptFunctionObject::virtualDestroy (b=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/jsruntime/qv4functionobject_p.h:241
#11 0x00007fd4f1868237 in QV4::Chunk::sweep (this=0x7fd4ca4b0000, engine=0x55d897c8aba0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:308
#12 0x00007fd4f18699f2 in operator() (__closure=<synthetic pointer>, c=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:565
#13 std::__partition<__gnu_cxx::__normal_iterator<QV4::Chunk**, std::vector<QV4::Chunk*> >, QV4::BlockAllocator::sweep()::<lambda(QV4::Chunk*)> > (__first=0x7fd4ca4b0000, __last=0x7fd4ca630000, __pred=...) at /usr/include/c++/15.2.1/bits/stl_algo.h:1422
#14 std::partition<__gnu_cxx::__normal_iterator<QV4::Chunk**, std::vector<QV4::Chunk*> >, QV4::BlockAllocator::sweep()::<lambda(QV4::Chunk*)> > (__first=..., __last=..., __pred=...) at /usr/include/c++/15.2.1/bits/stl_algo.h:4652
#15 QV4::BlockAllocator::sweep (this=0x55d897278700) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:564
#16 0x00007fd4f187c93a in QV4::(anonymous namespace)::doSweep (that=0x55d897d1aaf0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:878
#17 0x00007fd4f187717a in QV4::GCStateMachine::transition (this=0x55d897d1aaf0) at /usr/src/debug/qt6-declarative/qtdeclarative/src/qml/memory/qv4mm.cpp:1552
#18 0x00007fd4efbc1a74 in QObject::event (this=<optimized out>, e=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1432
#19 0x00007fd4f0f01dd0 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55d897da2890, e=0x55d8d38ac6e0) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3300
#20 0x00007fd4efb68678 in QCoreApplication::notifyInternal2 (receiver=0x55d897da2890, event=event@entry=0x55d8d38ac6e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1106
#21 0x00007fd4efb68a5b in QCoreApplication::sendEvent (receiver=<optimized out>, event=0x55d8d38ac6e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1546
#22 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x55d896d88740) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1891
#23 0x00007fd4efd29327 in QEventDispatcherUNIX::processEvents (this=0x55d896da7290, flags=flags@entry=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_unix.cpp:440
#24 0x00007fd4f091b073 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/platform/unix/qunixeventdispatcher.cpp:27
#25 0x00007fd4efb74ca6 in QEventLoop::processEvents (this=0x7ffea1b03f90, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:104
#26 QEventLoop::exec (this=0x7ffea1b03f90, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:186
#27 0x00007fd4efb6cd21 in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1449
#28 0x00007fd4f0efc5ea in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2567
#29 0x000055d865583d26 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin/kwin-6.4.4/src/main_wayland.cpp:635