Bug 473260

Summary: Clicking a program icon and/or preview on a Task Manager crashes plasma and all open applications.
Product: [Plasma] kwin Reporter: cool.ghost.virus
Component: generic-crashAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: mars+kde, nate, qydwhotmail
Priority: NOR    
Version: 5.27.7   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Full traceback

Description cool.ghost.virus 2023-08-10 20:04:51 UTC
SUMMARY
I have several Desktops with the following apps open: Firefox on Desktop 1, Telegram (latest package from Flatpak) and Discord (from binaries) on Dektop 2, wezterm and Dolphin on desktops 1-3.

Seemingly randomly when I click an icon of an app that's on another Desktop the entire DE crashes, taking all open apps with it and restarts after a brief moment. The active app is Telegram.

STEPS TO REPRODUCE (can't reliably reproduce)
1. Open Firefox on Desktop 1. Open Discord and Telegram on Desktop 2.
2. Have Telegram window open.
3. Click an icon of another app on Task manager.

I would like to provide a more detailed info, but I have trouble understanding how to reproduce the crash reliably and how to get the traces.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Fedora Linux 37
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.105.0
Qt Version: 5.15.9
Kernel Version: 6.4.8-100.fc37.x86_64
Comment 1 cool.ghost.virus 2023-08-10 20:09:20 UTC
I would like to get an advice on what software I can use to provide more useful information on the issue.
Comment 2 cool.ghost.virus 2023-08-10 20:52:48 UTC
It just happened again when I attempted to switch from Firefox to Telegram with my mouse. But I can't replicate it immediately even if I recreate all visible conditions. I think I need some monitoring tool.
Comment 3 Nate Graham 2023-08-12 14:03:03 UTC
It sounds like KWin crashed on Wayland. For the time being, it's a known and unavoidable issue that when this happens, all apps crash too.

In this situation, app crash logs are not useful; all they do is tell us that KWin crashed; we need to know why KWin crashed. For that, we need a backtrace of the crash for the kwin_wayland process. You may be able to retrieve it with coredumpctl. See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl
Comment 4 Bug Janitor Service 2023-08-27 03:45:19 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 5 cool.ghost.virus 2023-09-09 19:37:19 UTC
I apologize for it taking a while, haven't encountered the bug in a while until now. I managed to get the backtrace via coredumpctl as was described. Since it's rather short, I will paste it here.

(gdb) bt
#0  0x0000000000000000 in  ()
#1  0x00007fa2340d0fc6 in QtPrivate::QSlotObjectBase::call(QObject*, void**)
    (a=0x7fff03035630, r=<optimized out>, this=0x55f11d014fa0)
    at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#2  doActivate<false>(QObject*, int, void**)
    (sender=0x55f11c68c6d0, signal_index=3, argv=0x7fff03035630)
    at kernel/qobject.cpp:3923
#3  0x00007fa2340cbf57 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**)
    (sender=<optimized out>, m=m@entry=0x7fa23435e580 <QTimer::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff03035630) at kernel/qobject.cpp:3983
#4  0x00007fa2340d434e in QTimer::timeout(QTimer::QPrivateSignal)
    (this=<optimized out>, _t1=...) at .moc/moc_qtimer.cpp:205
#5  0x00007fa2340c80f5 in QObject::event(QEvent*)
    (this=0x55f11c68c6d0, e=0x7fff03035790) at kernel/qobject.cpp:1369
#6  0x00007fa2337aed72 in QApplicationPrivate::notify_helper(QObject*, QEvent*)
    (this=<optimized out>, receiver=0x55f11c68c6d0, e=0x7fff03035790)
    at kernel/qapplication.cpp:3640
#7  0x00007fa23409d618 in QCoreApplication::notifyInternal2(QObject*, QEvent*)
    (receiver=0x55f11c68c6d0, event=0x7fff03035790)
    at kernel/qcoreapplication.cpp:1064
#8  0x00007fa23409d802 in QCoreApplication::sendEvent(QObject*, QEvent*)
--Type <RET> for more, q to quit, c to continue without paging--
    (receiver=<optimized out>, event=<optimized out>)
    at kernel/qcoreapplication.cpp:1462
#9  0x00007fa2340edaa1 in QTimerInfoList::activateTimers()
    (this=this@entry=0x55f11b8350f8) at kernel/qtimerinfo_unix.cpp:643
#10 0x00007fa2340eb210 in QEventDispatcherUNIXPrivate::activateTimers()
    (this=this@entry=0x55f11b835070) at kernel/qeventdispatcher_unix.cpp:249
#11 0x00007fa2340ec060 in QEventDispatcherUNIX::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...)
    at kernel/qeventdispatcher_unix.cpp:516
#12 0x000055f11a5b99f1 in QUnixEventDispatcherQPA::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) ()
#13 0x00007fa23409c06a in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7fff03035910, flags=..., flags@entry=...)
    at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#14 0x00007fa2340a4132 in QCoreApplication::exec() ()
    at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#15 0x00007fa23455fb50 in QGuiApplication::exec() ()
    at kernel/qguiapplication.cpp:1863
#16 0x00007fa2337aece9 in QApplication::exec() ()
    at kernel/qapplication.cpp:2832
#17 0x000055f11a4d8e41 in main(int, char**)
    (argc=<optimized out>, argv=<optimized out>)
    at /usr/src/debug/kwin-5.27.6-2.fc37.x86_64/src/main_wayland.cpp:628
Comment 6 Nate Graham 2023-09-11 16:38:49 UTC
Thank you!

Unfortunately the backtrace doesn't have any KDE code in it, so I'll not sure how to proceed and will let the experienced KWin devs take over from here.
Comment 7 Martin 2024-06-13 08:57:54 UTC
Created attachment 170452 [details]
Full traceback

I see the same kind of crashes in kwin_wayland (on Fedora Kinoite 40). Attaching the backtrace.

Stack trace of thread 2071:
  #0  0x00007feefd195a11 _ZN16QCoreApplication15notifyInternal2EP7QObjectP6QEvent (libQt6Core.so.6 + 0x195a11)
  #1  0x00007feefd34e097 _ZN14QTimerInfoList14activateTimersEv (libQt6Core.so.6 + 0x34e097)
  #2  0x00007feefd3525cb _ZN20QEventDispatcherUNIX13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Core.so.6 + 0x3525cb)
  #3  0x00007feefdf54e12 _ZN23QUnixEventDispatcherQPA13processEventsE6QFlagsIN10QEventLoop17ProcessEventsFlagEE (libQt6Gui.so.6 + 0x754e12)
  #4  0x00007feefd1a2713 _ZN10QEventLoop4execE6QFlagsINS_17ProcessEventsFlagEE (libQt6Core.so.6 + 0x1a2713)
  #5  0x00007feefd19e69c _ZN16QCoreApplication4execEv (libQt6Core.so.6 + 0x19e69c)
  #6  0x00005575ad1efd09 main (kwin_wayland + 0x44d09)
  #7  0x00007feefca3d088 __libc_start_call_main (libc.so.6 + 0x2a088)
  #8  0x00007feefca3d14b __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x2a14b)
  #9  0x00005575ad1f5c95 _start (kwin_wayland + 0x4ac95)
Comment 8 Vlad Zahorodnii 2024-10-01 09:45:35 UTC

*** This bug has been marked as a duplicate of bug 488713 ***