| Summary: | Plasmashell crashes randomly | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | Ricky Cheung <rcheung844> |
| Component: | generic-crash | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | nate, pwperalez |
| Priority: | NOR | Keywords: | drkonqi, regression |
| Version First Reported In: | 6.0.4 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | https://invent.kde.org/plasma/plasma-workspace/-/commit/bf8545946cc340c262911c0ba94e28661a7feb8a | Version Fixed/Implemented In: | 6.1 |
| Sentry Crash Report: | |||
|
Description
Ricky Cheung
2024-05-06 12:01:18 UTC
Cannot reproduce, no KDE code is implicated in what I can see from the backtrace, and the backtrace has no debug symbols for anything that would help. :( If this crash is reproducible, could you please install debug symbols, reproduce the crash, and attach a new symbolicated backtrace? See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4295 Git commit bf8545946cc340c262911c0ba94e28661a7feb8a by Kai Uwe Broulik. Committed on 14/05/2024 at 12:30. Pushed by broulik into branch 'master'. Notifications: Restore custom DragHelper When the notification popup closes, the ListView mode is unloaded to save some resources. On Wayland, during drag and drop another window might be raised and focussed causing the notification popup to close. QtQuick's built-in drag handling does not take kind to having the item it's operating on destroyed behind its back, particularly because it uses a freaking' nested event loop inside of dragStarted! Restore the original DragHandler which detaches the drag operation entirely from the item that triggered it. It also creates a proper drag pixmap for dragging the file icon and keeps it for the entire duration of the drag. As a bonus this also lets us export the URL to the Document portal to enable drag and drop of thumbnails to sandboxed apps. Related: bug 484546 M +3 -0 applets/notifications/CMakeLists.txt A +84 -0 applets/notifications/draghelper.cpp [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)] A +42 -0 applets/notifications/draghelper.h [License: GPL(3+eV) GPL(v3.0) GPL(v2.0)] M +4 -0 applets/notifications/notificationapplet.cpp M +10 -9 applets/notifications/package/contents/ui/DraggableFileArea.qml M +2 -5 applets/notifications/package/contents/ui/JobItem.qml M +2 -5 applets/notifications/package/contents/ui/ThumbnailStrip.qml https://invent.kde.org/plasma/plasma-workspace/-/commit/bf8545946cc340c262911c0ba94e28661a7feb8a Running into this same issue, reproduced this consistently in Plasma6 Wayland trying to play games via steam.
RTX 3080ti
Kernel 6.9.1-arch1-1
plasmashell 6.0.4
GDB dump
I can reproduce consistently within a couple of minutes I start a game via Steam.
#0 0x0000712c19f991f6 in std::__atomic_base<QThreadData*>::load (__m=std::memory_order_acquire, this=0x3c004fbb96a18a8) at /usr/include/c++/13.2.1/atomic:576
#1 std::atomic<QThreadData*>::load (__m=std::memory_order_acquire, this=0x3c004fbb96a18a8) at /usr/include/c++/13.2.1/atomic:577
#2 QAtomicOps<QThreadData*>::loadAcquire<QThreadData*> (_q_value=<error reading variable: Cannot access memory at address 0x3c004fbb96a18a8>, _q_value=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qatomic_cxx11.h:214
#3 QBasicAtomicPointer<QThreadData>::loadAcquire (this=0x3c004fbb96a18a8, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qbasicatomic.h:177
#4 QObjectPrivate::connectImpl (sender=sender@entry=0x712c080093b0, signal_index=5, receiver=receiver@entry=0x712c080093b0, slot=slot@entry=0x0, slotObjRaw=slotObjRaw@entry=0x5a5e774d9b00, type=0, types=0x0, senderMetaObject=0x712c0f262700 <KScreen::WaylandConfig::staticMetaObject>)
at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:5249
#5 0x0000712c19f995e3 in QObject::connectImpl (sender=0x712c080093b0, signal=<optimized out>, receiver=0x712c080093b0, slot=0x0, slotObjRaw=0x5a5e774d9b00, type=Qt::AutoConnection, types=0x0, senderMetaObject=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:5180
#6 0x0000712c0f25667d in KScreen::WaylandConfig::setupRegistry()::{lambda(void*, wl_registry*, unsigned int, char const*, unsigned int)#1}::_FUN(void*, wl_registry*, unsigned int, char const*, unsigned int) () at /usr/include/qt6/QtCore/qobject.h:257
#7 0x0000712c1ac40596 in ffi_call_unix64 () at ../src/x86/unix64.S:104
#8 0x0000712c1ac3d00e in ffi_call_int (cif=cif@entry=0x7ffdf383d9a0, fn=<optimized out>, rvalue=<optimized out>, avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:673
#9 0x0000712c1ac3fbd3 in ffi_call (cif=cif@entry=0x7ffdf383d9a0, fn=<optimized out>, rvalue=rvalue@entry=0x0, avalue=avalue@entry=0x7ffdf383da70) at ../src/x86/ffi64.c:710
#10 0x0000712c1c734645 in wl_closure_invoke (closure=closure@entry=0x712c00001a00, target=<optimized out>, target@entry=0x5a5e774a9970, opcode=opcode@entry=0, data=<optimized out>, flags=1) at ../wayland-1.22.0/src/connection.c:1025
#11 0x0000712c1c734e73 in dispatch_event (display=display@entry=0x5a5e774d4910, queue=0x5a5e774d4a00) at ../wayland-1.22.0/src/wayland-client.c:1631
#12 0x0000712c1c73513c in dispatch_queue (queue=0x5a5e774d4a00, display=0x5a5e774d4910) at ../wayland-1.22.0/src/wayland-client.c:1777
#13 wl_display_dispatch_queue_pending (display=0x5a5e774d4910, queue=0x5a5e774d4a00) at ../wayland-1.22.0/src/wayland-client.c:2019
#14 0x0000712c1c38ab5e in QtWaylandClient::EventThread::readAndDispatchEvents (this=0x5a5e774e37b0) at /usr/src/debug/qt6-wayland/qtwayland-everywhere-src-6.7.0/src/client/qwaylanddisplay.cpp:227
#15 0x0000712c19f8c147 in QObject::event (this=0x5a5e774d46e0, e=0x712c00005150) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1446
#16 0x0000712c1bcfc44d in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5a5e774d46e0, e=0x712c00005150) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3287
#17 0x0000712c19f3fe18 in QCoreApplication::notifyInternal2 (receiver=0x5a5e774d46e0, event=event@entry=0x712c00005150) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1142
#18 0x0000712c19f401d2 in QCoreApplication::sendEvent (event=0x712c00005150, receiver=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1583
#19 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5a5e773c1ba0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1940
#20 0x0000712c1a1959ac in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1797
#21 postEventSourceDispatch (s=0x5a5e774cfd70) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:244
#22 0x0000712c18a6aa89 in g_main_dispatch (context=0x712c08000f20) at ../glib/glib/gmain.c:3344
#23 0x0000712c18acc9b7 in g_main_context_dispatch_unlocked (context=0x712c08000f20) at ../glib/glib/gmain.c:4152
#24 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x712c08000f20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4217
#25 0x0000712c18a69f95 in g_main_context_iteration (context=0x712c08000f20, may_block=1) at ../glib/glib/gmain.c:4282
#26 0x0000712c1a193389 in QEventDispatcherGlib::processEvents (this=0x5a5e774e5df0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#27 0x0000712c19f48350 in QEventLoop::processEvents (flags=..., this=0x7ffdf383e090) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100
#28 QEventLoop::exec (this=0x7ffdf383e090, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:182
#29 0x0000712c19f43c1d in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#30 0x0000712c1bcf863a in QApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2555
#31 0x00005a5e3a38c2a7 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace/plasma-workspace-6.0.4/shell/main.cpp:214
Closing - sorry this looks to be a completely different core. Apologies |