Bug 489982

Summary: Plasma crash after moving from desktop 1 to 2 then rightclick
Product: [Plasma] plasmashell Reporter: Julien Delquié <julien.dlq>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash CC: Christoph.Wolk, nate
Priority: NOR Keywords: drkonqi
Version: 6.1.2   
Target Milestone: 1.0   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Julien Delquié 2024-07-09 15:55:06 UTC
Application: plasmashell (6.1.2)
 (Compiled from sources)
Qt Version: 6.7.2
Frameworks Version: 6.3.0
Operating System: Linux 6.9.8-gentoo-x86_64 x86_64
Windowing System: Wayland
Distribution: "Gentoo Linux"
DrKonqi: 6.1.2 [CoredumpBackend]

-- Information about the crash:
I was on my first virtual desktop, then I wanted to move to second one to check something in display configuration, so I right-clicked on desktop, then… boom.

The reporter is unsure if this crash is reproducible.

-- Backtrace (Reduced):
#4  std::__atomic_base<int>::fetch_add (this=0x2f00, __i=1, __m=std::memory_order_acq_rel) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/atomic_base.h:629
#5  QAtomicOps<int>::ref<int> (_q_value=<error reading variable: Cannot access memory at address 0x2f00>) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/thread/qatomic_cxx11.h:259
[...]
#7  QtSharedPointer::ExternalRefCountData::getAndRef (obj=obj@entry=0x5595ad50cc00) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/tools/qsharedpointer.cpp:1456
#8  0x00007f2a0932e744 in QWeakPointer<QObject>::QWeakPointer<QObject, true> (this=<optimized out>, ptr=0x5595ad50cc00) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/tools/qsharedpointer_impl.h:733
#9  QWeakPointer<QObject>::assign<QObject> (this=0x5595b01bdd20, ptr=0x5595ad50cc00) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/tools/qsharedpointer_impl.h:728


Reported using DrKonqi
Comment 1 Julien Delquié 2024-07-09 15:55:07 UTC
Created attachment 171503 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 cwo 2024-07-10 08:18:11 UTC
The (reduced) backtrace looks very similar to #489638 and QWindowPrivate::connectToScreen() is also involved, but klipper is not. Marking as a related bug.
Comment 3 Nate Graham 2024-07-22 22:04:09 UTC
Thread 1 (Thread 0x7f2a02e00a00 (LWP 3276)):
[KCrash Handler]
#4  std::__atomic_base<int>::fetch_add (this=0x2f00, __i=1, __m=std::memory_order_acq_rel) at /usr/lib/gcc/x86_64-pc-linux-gnu/14/include/g++-v14/bits/atomic_base.h:629
#5  QAtomicOps<int>::ref<int> (_q_value=<error reading variable: Cannot access memory at address 0x2f00>) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/thread/qatomic_cxx11.h:259
#6  QBasicAtomicInteger<int>::ref (this=0x2f00) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/thread/qbasicatomic.h:47
#7  QtSharedPointer::ExternalRefCountData::getAndRef (obj=obj@entry=0x5595ad50cc00) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/tools/qsharedpointer.cpp:1456
#8  0x00007f2a0932e744 in QWeakPointer<QObject>::QWeakPointer<QObject, true> (this=<optimized out>, ptr=0x5595ad50cc00) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/tools/qsharedpointer_impl.h:733
#9  QWeakPointer<QObject>::assign<QObject> (this=0x5595b01bdd20, ptr=0x5595ad50cc00) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/tools/qsharedpointer_impl.h:728
#10 QPointer<QScreen>::operator= (this=0x5595b01bdd20, p=0x5595ad50cc00) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qpointer.h:71
#11 QWindowPrivate::connectToScreen (this=0x5595b01bdbd0, screen=0x5595ad50cc00) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/gui/kernel/qwindow.cpp:490
#12 0x00007f2a09332da7 in QWindowPrivate::setTopLevelScreen (this=0x5595b01bdbd0, newScreen=0x5595ad50cc00, recreate=<optimized out>) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/gui/kernel/qwindow.cpp:515
#13 0x00007f2a0ae6d48b in QWidgetPrivate::setScreen (this=this@entry=0x5595aa6c2a70, screen=0x5595ad50cc00) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qwidget.cpp:2440
#14 0x00007f2a0ad5c838 in QMenuPrivate::popup (this=0x5595aa6c2a70, p=..., atAction=0x0, positionFunction=...) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/widgets/widgets/qmenu.cpp:2343
#15 0x00007f2a0ad5ca2f in QMenu::popup (this=<optimized out>, p=<optimized out>, atAction=<optimized out>) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/widgets/widgets/qmenu.cpp:2313
#16 0x00007f2a0b40dc29 in ??? () at /usr/lib64/libPlasmaQuick.so.6
#17 0x00007f2a0a4b5110 in QQuickItemPrivate::deliverPointerEvent (this=this@entry=0x5595a89798e0, event=event@entry=0x7fffea617800) at /usr/src/debug/dev-qt/qtdeclarative-6.7.2/qtdeclarative-everywhere-src-6.7.2/src/quick/items/qquickitem.cpp:5615
#18 0x00007f2a0a4b521b in QQuickItem::event (this=0x5595a87094c0, ev=0x7fffea617800) at /usr/src/debug/dev-qt/qtdeclarative-6.7.2/qtdeclarative-everywhere-src-6.7.2/src/quick/items/qquickitem.cpp:9019
#19 0x00007f2a0aeeb695 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5595a87094c0, e=0x7fffea617800) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qapplication.cpp:3287
#20 0x00007f2a08dda628 in QCoreApplication::notifyInternal2 (receiver=0x5595a87094c0, event=0x7fffea617800) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1142
#21 0x00007f2a08dda6dd in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1583
#22 0x00007f2a0a2bf42e in QQuickDeliveryAgentPrivate::deliverMatchingPointsToItem (this=this@entry=0x5595a86a3280, item=0x5595a87094c0, isGrabber=isGrabber@entry=false, pointerEvent=pointerEvent@entry=0x7fffea617800, handlersOnly=<optimized out>) at /usr/src/debug/dev-qt/qtdeclarative-6.7.2/qtdeclarative-everywhere-src-6.7.2/src/quick/util/qquickdeliveryagent.cpp:2322
#23 0x00007f2a0a2c00e7 in QQuickDeliveryAgentPrivate::deliverPressOrReleaseEvent (this=this@entry=0x5595a86a3280, event=event@entry=0x7fffea617800, handlersOnly=handlersOnly@entry=false) at /usr/src/debug/dev-qt/qtdeclarative-6.7.2/qtdeclarative-everywhere-src-6.7.2/src/quick/util/qquickdeliveryagent.cpp:2262
#24 0x00007f2a0a2c14b0 in QQuickDeliveryAgentPrivate::deliverPointerEvent (this=this@entry=0x5595a86a3280, event=event@entry=0x7fffea617800) at /usr/src/debug/dev-qt/qtdeclarative-6.7.2/qtdeclarative-everywhere-src-6.7.2/src/quick/util/qquickdeliveryagent.cpp:1943
#25 0x00007f2a0a2c24b6 in QQuickDeliveryAgentPrivate::handleMouseEvent (this=this@entry=0x5595a86a3280, event=event@entry=0x7fffea617800) at /usr/src/debug/dev-qt/qtdeclarative-6.7.2/qtdeclarative-everywhere-src-6.7.2/src/quick/util/qquickdeliveryagent.cpp:1675
#26 0x00007f2a0a2c3d5b in QQuickDeliveryAgent::event (this=<optimized out>, ev=0x7fffea617800) at /usr/src/debug/dev-qt/qtdeclarative-6.7.2/qtdeclarative-everywhere-src-6.7.2/src/quick/util/qquickdeliveryagent.cpp:746
#27 0x00007f2a0a43d501 in QQuickWindow::event (this=<optimized out>, event=<optimized out>) at /usr/src/debug/dev-qt/qtdeclarative-6.7.2/qtdeclarative-everywhere-src-6.7.2/src/quick/items/qquickwindow.cpp:1564
#28 0x00007f2a0aeeb695 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5595a86a7580, e=0x7fffea617800) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/widgets/kernel/qapplication.cpp:3287
#29 0x00007f2a08dda628 in QCoreApplication::notifyInternal2 (receiver=0x5595a86a7580, event=0x7fffea617800) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1142
#30 0x00007f2a08dda6ed in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qcoreapplication.cpp:1597
#31 0x00007f2a092e034b in QGuiApplicationPrivate::processMouseEvent (e=0x7f29e86ba8c0) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/gui/kernel/qguiapplication.cpp:2327
#32 0x00007f2a0933803c in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/gui/kernel/qwindowsysteminterface.cpp:1114
#33 0x00007f2a09733394 in userEventSourceDispatch (source=<optimized out>) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/gui/platform/unix/qeventdispatcher_glib.cpp:38
#34 0x00007f2a07600834 in ??? () at /usr/lib64/libglib-2.0.so.0
#35 0x00007f2a07603977 in ??? () at /usr/lib64/libglib-2.0.so.0
#36 0x00007f2a07603fa0 in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#37 0x00007f2a08ba9943 in QEventDispatcherGlib::processEvents (this=0x5595a705c370, flags=...) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#38 0x00007f2a08e034c2 in QEventLoop::exec (this=this@entry=0x7fffea617bb0, flags=..., flags@entry=...) at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/global/qflags.h:34
#39 0x00007f2a08e03658 in QCoreApplication::exec () at /usr/src/debug/dev-qt/qtbase-6.7.2/qtbase-everywhere-src-6.7.2/src/corelib/global/qflags.h:74
#40 0x0000559590a62c4e in ??? ()
#41 0x00007f2a086c326e in ??? () at /usr/lib64/libc.so.6
#42 0x00007f2a086c3329 in __libc_start_main () at /usr/lib64/libc.so.6
#43 0x0000559590a62cf5 in ??? ()
Comment 4 Nate Graham 2024-07-22 22:06:45 UTC
Very similar to Bug 489638, but likely has a slightly different root cause.

Can you get debug symbols and attach a new backtrace that shows us something more useful in place of

> #16 0x00007f2a0b40dc29 in ??? () at /usr/lib64/libPlasmaQuick.so.6

?

Instructions can be found at https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl.
Comment 5 Nate Graham 2024-07-22 22:09:40 UTC
Never mind, found the duplicate: Bug 487435. The missing symbol points to ContainmentItem::mousePressEvent.

*** This bug has been marked as a duplicate of bug 487435 ***
Comment 6 Nate Graham 2024-07-22 22:12:36 UTC

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