Summary: | kwin_wayland crashes in QCoreApplication::notifyInternal2(QObject*, QEvent*) - multiple times per week | ||
---|---|---|---|
Product: | [Plasma] kwin | Reporter: | Martin <mars+kde> |
Component: | generic-crash | Assignee: | KWin default assignee <kwin-bugs-null> |
Status: | REPORTED --- | ||
Severity: | crash | CC: | arcadiy, dashonwwIII, el, madLyfe, margotta.fabrizio, n, nate, ptkato.irl, twelho |
Priority: | NOR | ||
Version: | 6.1.90 | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | https://crash-reports.kde.org/organizations/kde/issues/37760/events/d441fdec22bc444d9b0ca8a37ff6529e/ | ||
Attachments: |
Full crash dump info
Support info - HP Support info - Lenovo Stack trace Core dump printout |
Description
Martin
2024-06-19 07:29:38 UTC
Created attachment 170625 [details]
Full crash dump info
Created attachment 170626 [details]
Support info - HP
Created attachment 170627 [details]
Support info - Lenovo
I have some additional info. It reproduced on 6.1.0 (Fedora Kinoite). Operating System: Fedora Linux 40 KDE Plasma Version: 6.1.0 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.1 Kernel Version: 6.9.4-200.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 PRO 4650G with Radeon Graphics Memory: 125.1 GiB of RAM Graphics Processor: AMD Radeon RX 550 / 550 Series Manufacturer: HP Product Name: HP EliteDesk 805 G6 Small Form Factor PC What is interesting is that the desktop crashed when nobody was at the keyboard and there is nothing in the debug log at all. This is the output of my `journalctl --user --unit plasma-kwin_wayland.service -b -1 -r` jun 22 09:35:37 hpelite systemd-coredump[164642]: [🡕] Process 1879 (kwin_wayland) of user 1000 dumped core. (before I woke up today..) Jun 21 22:46:23 hpelite kscreenlocker_greet[130205]: kf.svg: findInCache with a lastModified timestamp of 0 is deprecated .... repeats a lot .... Jun 21 22:46:23 hpelite kscreenlocker_greet[130205]: kf.svg: findInCache with a lastModified timestamp of 0 is deprecated Jun 21 22:46:23 hpelite kscreenlocker_greet[130205]: virtual QStringList Solid::Backends::UPower::UPowerManager::allDevices() error: "org.freedesktop.DBus.Error.NameHasNoOwner" Jun 21 22:41:05 hpelite kwin_wayland[1879]: kwin_libinput: Libinput: event5 - debounce state: DEBOUNCE_STATE_IS_UP_WAITING → DEBOUNCE_EVENT_TIMEOUT → DEBOUNCE_STATE_IS_UP (this is my lock screen time) I tried to do a bit of digging via gdb and this looks like a nicer trace: [Current thread is 1 (Thread 0x7fdbee14bb00 (LWP 1798))] (gdb) bt #0 0x00007fdbf4795a11 in std::__atomic_base<QThreadData*>::load (this=0x58, __m=std::memory_order_acquire) at /usr/include/c++/14/bits/atomic_base.h:831 #1 std::atomic<QThreadData*>::load (this=0x58, __m=std::memory_order_acquire) at /usr/include/c++/14/atomic:582 #2 QAtomicOps<QThreadData*>::loadAcquire<QThreadData*> (_q_value=...) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/thread/qatomic_cxx11.h:214 #3 QBasicAtomicPointer<QThreadData>::loadAcquire (this=0x58) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/thread/qbasicatomic.h:177 #4 QCoreApplication::notifyInternal2 (receiver=0x563bceb5c840, event=0x7ffd8564c4c0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1125 #5 0x00007fdbf4795d7d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1575 #6 0x00007fdbf494e097 in QTimerInfoList::activateTimers (this=this@entry=0x563bcb7ed978) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qtimerinfo_unix.cpp:434 #7 0x00007fdbf49503c0 in QEventDispatcherUNIXPrivate::activateTimers (this=this@entry=0x563bcb7ed8a0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qeventdispatcher_unix.cpp:196 #8 0x00007fdbf49525cb in QEventDispatcherUNIX::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qeventdispatcher_unix.cpp:472 #9 0x00007fdbf5554e12 in QUnixEventDispatcherQPA::processEvents (this=<optimized out>, flags=...) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/gui/platform/unix/qunixeventdispatcher.cpp:27 #10 0x00007fdbf47a2713 in QEventLoop::exec (this=this@entry=0x7ffd8564c690, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/global/qflags.h:34 #11 0x00007fdbf479e69c in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/global/qflags.h:74 #12 0x00007fdbf4fd53dd in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/gui/kernel/qguiapplication.cpp:1926 #13 0x00007fdbf5b8b0d9 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/widgets/kernel/qapplication.cpp:2555 #14 0x0000563bc436c215 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kwin-6.1.0-3.fc40.x86_64/src/main_wayland.cpp:641 And looking at the Qt part of the trace, it looks like the error is here: #4 QCoreApplication::notifyInternal2 (receiver=0x563bceb5c840, event=0x7ffd8564c4c0) at /usr/src/debug/qt6-qtbase-6.7.1-2.fc40.x86_64/src/corelib/kernel/qcoreapplication.cpp:1125 1120 // Qt enforces the rule that events can only be sent to objects in 1121 // the current thread, so receiver->d_func()->threadData is 1122 // equivalent to QThreadData::current(), just without the function 1123 // call overhead. 1124 QObjectPrivate *d = receiver->d_func(); 1125 QThreadData *threadData = d->threadData.loadAcquire(); (gdb) p receiver $3 = (QObject *) 0x563bceb5c840 (gdb) p d $4 = (QObjectPrivate *) 0x0 QObjectPrivate is NULL! It is a (once per day?) timer event (gdb) p *currentTimerInfo $17 = {timeout = {__d = {__r = 227723000000000}}, interval = {__r = 86400000}, id = 24, timerType = Qt::VeryCoarseTimer, obj = 0x563bceb5c840, activateRef = 0x7ffd8564c4b8} Trying to reach (gdb) p *currentTimerInfo->obj $23 = {_vptr.QObject = 0x0, static staticMetaObject = {d = {superdata = {direct = 0x0}, stringdata = 0x7fdbf4ad2be0 <(anonymous namespace)::qt_meta_stringdata_CLASSQObjectENDCLASS>, data = 0x7fdbf4ad2ac0 <qt_meta_data_CLASSQObjectENDCLASS>, static_metacall = 0x7fdbf47f7bc0 <QObject::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>, relatedMetaObjects = 0x0, metaTypes = 0x7fdbf4c81a60 <qt_incomplete_metaTypeArray<(anonymous namespace)::qt_meta_stringdata_CLASSQObjectENDCLASS_t, QtPrivate::TypeAndForceComplete<QString, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<QObject, std::integral_constant<bool, true> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QString const&, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<void, std::integral_constant<bool, false> >, QtPrivate::TypeAndForceComplete<QObject*, std::integral_constant<bool, false> > >>, extradata = 0x0}}, d_ptr = {d = 0x0}} With d_ptr set to NULL. This is probably as far as I can get without additional guidance. This is also still happening on Plasma 6.1.1 Operating System: Fedora Linux 40 KDE Plasma Version: 6.1.1 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.1 Kernel Version: 6.9.5-200.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 PRO 4650G with Radeon Graphics Memory: 125.1 GiB of RAM Graphics Processor: AMD Radeon RX 550 / 550 Series Manufacturer: HP Product Name: HP EliteDesk 805 G6 Small Form Factor PC Also happens here. Since it's a timer event not triggered by the user, I can't give much info. Operating System: Fedora Linux 40 KDE Plasma Version: 6.1.1 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.1 Kernel Version: 6.9.5-200.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × Intel® Core™ i7-9750H CPU @ 2.60GHz Memory: 62.5 GiB of RAM Graphics Processor: Mesa Intel® UHD Graphics 630 Manufacturer: Intel(R) Client Systems Product Name: NUC9i7QNX System Version: K49244-405 I have the same issue. In my case it is triggered when I unplug my USB-C Docking Station. Operating System: Arch Linux KDE Plasma Version: 6.1.1 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.2 Kernel Version: 6.9.7-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 8 × Intel® Core™ i7-7700HQ CPU @ 2.80GHz Memory: 31,2 GiB of RAM Graphics Processor: Mesa Intel® HD Graphics 630 Manufacturer: Dell Inc. Product Name: XPS 15 9560 Created attachment 171319 [details]
Stack trace
*** Bug 489410 has been marked as a duplicate of this bug. *** *** Bug 488756 has been marked as a duplicate of this bug. *** FWIW: updated to 6.1.3 a few days ago, haven't crashed so far. Might be a problem in Qt that got fixed in-between, anyway, glad to see it solved. (In reply to Blair Noctis from comment #14) > FWIW: updated to 6.1.3 a few days ago, haven't crashed so far. Might be a > problem in Qt that got fixed in-between, anyway, glad to see it solved. There haven't been any Qt updates though. Anyways, still happening for me on Arch Plasma 6.1.3. (In reply to Dashon from comment #15) > (In reply to Blair Noctis from comment #14) > > FWIW: updated to 6.1.3 a few days ago, haven't crashed so far. Might be a > > problem in Qt that got fixed in-between, anyway, glad to see it solved. > > There haven't been any Qt updates though. Anyways, still happening for me on > Arch Plasma 6.1.3. .. And I cheered too early. 5 hours after this update it crashed again. Ugh. Sorry for the noise. Same here, except crashes are random and infrequent but annoying. No particular usage seems to be the cause. Have been submitting crash reports as well. ``` (gdb) bt #0 0x00007f6e64d96cc1 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt6Core.so.6 #1 0x00007f6e64f52a47 in QTimerInfoList::activateTimers() () at /lib64/libQt6Core.so.6 #2 0x00007f6e64f5701b in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6 #3 0x00007f6e65b63392 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Gui.so.6 #4 0x00007f6e64da3b03 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6 #5 0x00007f6e64d9f9bc in QCoreApplication::exec() () at /lib64/libQt6Core.so.6 #6 0x000055a3a99cd3a1 in main () ``` Created attachment 172957 [details]
Core dump printout
How do I attach a core dump? 4MB is too small of a limit for that. *** Bug 492044 has been marked as a duplicate of this bug. *** Also encountering this consistently at least once per week. Most often when mousing around, but have also observed kwin_wayland just crashing out of nowhere when AFK on the lockscreen. Happens with both laptop monitor and external screens. Sometimes (but not always) the crash is accompanied by dmesg entries that look as follows: [82181.619886] i915 0000:00:02.0: [drm] *ERROR* Atomic update failure on pipe A (start=156648 end=156649) time 250 us, min 1192, max 1199, scanline start 1189, end 1208 This seems to happen regardless of the VT-d setting in BIOS. I have attempted to collect a backtrace multiple times, but so far /tmp has always been too small (the crash fills it with over 30 GiB of data!) or the corefile instantly becomes "inaccessible" according to coredumpctl. If it helps with the diagnosis, the system is hibernated between sessions, leading (ideally) to long uptimes... Operating System: Fedora Linux 40 (Kinoite) KDE Plasma Version: 6.1.4 KDE Frameworks Version: 6.5.0 Qt Version: 6.7.2 Kernel Version: 6.10.9-cb1.0.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 8 × Intel® Core™ i5-8365U CPU @ 1.60GHz Memory: 31,1 GiB of RAM Graphics Processor: Mesa Intel® UHD Graphics 620 Manufacturer: LENOVO System Version: ThinkPad T490 I've been beta testing plasma 6.2 and the issue is till present, so bumping the affected version number. |