Bug 488474 - Sometimes when I wake up my two monitors from sleep, when I right click on the desktop of the second monitor (non-primary) to get the context menu, plasmashell crashes and then restarts.
Summary: Sometimes when I wake up my two monitors from sleep, when I right click on th...
Status: RESOLVED DUPLICATE of bug 490791
Alias: None
Product: plasmashell
Classification: Plasma
Component: general (show other bugs)
Version: 6.0.5
Platform: Manjaro Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-13 23:14 UTC by Ziad
Modified: 2024-08-01 12:59 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Backtrace from coredumpctl gdb - bt (3.49 KB, text/plain)
2024-06-13 23:14 UTC, Ziad
Details
Complete 4679 lines backtrace with debuginfod enabled (with debug symbols) (293.11 KB, text/plain)
2024-06-14 17:20 UTC, Ziad
Details
Backtrace from coredumpctl gdb - bt with ALL debug Symbols (7.08 KB, text/plain)
2024-06-15 15:27 UTC, Ziad
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ziad 2024-06-13 23:14:38 UTC
Created attachment 170486 [details]
Backtrace from coredumpctl gdb - bt

***
If you're not sure this is actually a bug, instead post about it at https://discuss.kde.org

If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***

SUMMARY
Sometimes when I wake up my two monitors from sleep, when I right click on the desktop of the second monitor (non-primary) to get the context menu, plasmashell crashes and then restarts.

STEPS TO REPRODUCE
1. Let the monitor sleep or sleep it with kscreen-doctor --dpms off
2. Wake the monitors from sleep
3. Right click on the desktop of the second monitor that is not the primary monitor

OBSERVED RESULT
The context menu doesn't appear and plasmashell crashes.

EXPECTED RESULT
We should get the context menu without crashing plasmashell.

SOFTWARE/OS VERSIONS
Operating System: Manjaro Linux 
KDE Plasma Version: 6.0.5
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.1
Kernel Version: 6.9.3-3-MANJARO (64-bit)
Graphics Platform: Wayland
Mesa Version: 24.0.9
Processors: 16 × AMD Ryzen 7 5700X 8-Core Processor
Memory: 31.3 GiB of RAM
Graphics Processor: AMD Radeon RX 6700 XT

ADDITIONAL INFORMATION
I have an AMD 6700 XT video card. The backtrace is attached.
Comment 1 Nate Graham 2024-06-14 16:10:51 UTC
Thank you for the bug report! Unfortunately I can't reproduce the crash myself on current git master, and the backtrace is incomplete and missing debug symbols for the following lines that we need to figure out exactly what's going wrong:

> #10 0x00007b1140f67bb9 in ??? () at /usr/lib/libPlasmaQuick.so.6

Could you please install debug symbols and attach a new symbolicated backtrace generated by using `coredumpctl gdb` in a terminal window? See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl for details about how to do this.

Thanks again!
Comment 2 Ziad 2024-06-14 17:20:50 UTC
Created attachment 170502 [details]
Complete 4679 lines backtrace with debuginfod enabled (with debug symbols)
Comment 3 Ziad 2024-06-14 17:22:12 UTC
I have set up arch's debuginfod and ran plasmashell in gdb. I managed to crash it. I hope this 4679 lines backtrace with debug symbols is going to be helpful.
Comment 4 Nate Graham 2024-06-14 20:39:11 UTC
This looks like something else. I don't see "plasmaquick" anywhere in that backtrace, and also it's not clear which thread crashed. In general we only need the crashing thread, not all of them.
Comment 5 Ziad 2024-06-15 15:27:23 UTC
Created attachment 170530 [details]
Backtrace from coredumpctl gdb - bt with ALL debug Symbols

Backtrace from coredumpctl gdb - bt with ALL debug Symbols with Arch's debuginfod enabled as requested. It has 40 lines so I hope this one will be more useful.
Comment 6 Ziad 2024-06-15 16:09:49 UTC
Sorry for the back and forth, this bug submission has really been a learning experience.
Comment 7 Nate Graham 2024-06-17 16:48:30 UTC
This one also doesn't have plasmaquick in it, but it does look more like what I would expect for a right-click. So let's assume this is the correct backtrace and the original one was something else.


(gdb) bt
#0  std::__atomic_base<int>::fetch_add (this=0xfb8948078b4853f4, __i=1, __m=std::memory_order_acq_rel, this=<optimized out>, __i=<optimized out>, __m=<optimized out>) at /usr/include/c++/14.1.1/bits/atomic_base.h:629
#1  QAtomicOps<int>::ref<int> (_q_value=<error reading variable: Cannot access memory at address 0xfb8948078b4853f4>, _q_value=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qatomic_cxx11.h:259
#2  QBasicAtomicInteger<int>::ref (this=0xfb8948078b4853f4, this=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qbasicatomic.h:47
#3  QtSharedPointer::ExternalRefCountData::getAndRef (obj=obj@entry=0x62d841ecda60) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qsharedpointer.cpp:1456
#4  0x0000772b85b7f511 in QWeakPointer<QObject>::QWeakPointer<QObject, true> (this=<optimized out>, ptr=0x62d841ecda60) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qsharedpointer_impl.h:733
#5  QWeakPointer<QObject>::assign<QObject> (this=0x62d8412b0300, ptr=0x62d841ecda60) at /usr/src/debug/qt6-base/qtbase/src/corelib/tools/qsharedpointer_impl.h:728
#6  0x0000772b85bd229f in QPointer<QScreen>::operator= (this=0x62d8412b0300, p=0x62d841ecda60, this=<optimized out>, p=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qpointer.h:71
#7  QWindowPrivate::connectToScreen (this=<optimized out>, screen=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:490
#8  QWindowPrivate::setTopLevelScreen (this=0x62d8412b01b0, newScreen=0x62d841ecda60, recreate=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindow.cpp:515
#9  0x0000772b87531ebc in QWidgetPrivate::setScreen (this=0x62d83dc76670, screen=0x62d841ecda60) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qwidget.cpp:2440
#10 0x0000772b876d41d8 in QMenuPrivate::popup(QPoint const&, QAction*, std::function<QPoint (QSize const&)>) (this=0x62d83dc76670, p=..., atAction=atAction@entry=0x0, positionFunction=...)
    at /usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qmenu.cpp:2343
#11 0x0000772b876d4434 in QMenu::popup (this=<optimized out>, p=..., atAction=atAction@entry=0x0) at /usr/src/debug/qt6-base/qtbase/src/widgets/widgets/qmenu.cpp:2313
#12 0x0000772b881bebb9 in ContainmentItem::mousePressEvent (this=<optimized out>, event=<optimized out>) at /usr/include/c++/14.1.1/bits/unique_ptr.h:193
#13 0x0000772b86d978df in QQuickItemPrivate::deliverPointerEvent (this=this@entry=0x62d83dde6d70, event=event@entry=0x7ffd98e6bd40) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:5615
#14 0x0000772b86d97b4b in QQuickItem::event (this=0x62d83dd31330, ev=0x7ffd98e6bd40) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickitem.cpp:9019
#15 0x0000772b874fc55c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x62d83dd31330, e=0x7ffd98e6bd40) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3287
#16 0x0000772b85544e38 in QCoreApplication::notifyInternal2 (receiver=0x62d83dd31330, event=0x7ffd98e6bd40) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1142
#17 0x0000772b85544e7d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1583
#18 0x0000772b86f4c830 in QQuickDeliveryAgentPrivate::deliverMatchingPointsToItem
    (this=this@entry=0x62d8412751e0, item=0x62d83dd31330, isGrabber=isGrabber@entry=false, pointerEvent=pointerEvent@entry=0x7ffd98e6bd40, handlersOnly=<optimized out>)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:2322
#19 0x0000772b86f4e14a in QQuickDeliveryAgentPrivate::deliverPressOrReleaseEvent (this=this@entry=0x62d8412751e0, event=event@entry=0x7ffd98e6bd40, handlersOnly=handlersOnly@entry=false)
    at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:2262
#20 0x0000772b86f4eac9 in QQuickDeliveryAgentPrivate::deliverPointerEvent (this=this@entry=0x62d8412751e0, event=event@entry=0x7ffd98e6bd40) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:1943
#21 0x0000772b86f4fc5c in QQuickDeliveryAgentPrivate::handleMouseEvent (this=this@entry=0x62d8412751e0, event=event@entry=0x7ffd98e6bd40) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:1675
#22 0x0000772b86f50373 in QQuickDeliveryAgent::event (this=<optimized out>, ev=0x7ffd98e6bd40) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/util/qquickdeliveryagent.cpp:746
#23 0x0000772b86e4de58 in QQuickWindow::event (this=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-declarative/qtdeclarative/src/quick/items/qquickwindow.cpp:1548
#24 0x0000772b874fc55c in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x62d83f355b90, e=0x7ffd98e6bd40) at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3287
#25 0x0000772b85544e38 in QCoreApplication::notifyInternal2 (receiver=0x62d83f355b90, event=0x7ffd98e6bd40) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1142
#26 0x0000772b85544e8d in QCoreApplication::sendSpontaneousEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1597
#27 0x0000772b85b76cf0 in QGuiApplicationPrivate::processMouseEvent (e=0x62d840e82210) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qguiapplication.cpp:2327
#28 0x0000772b85be5b44 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /usr/src/debug/qt6-base/qtbase/src/gui/kernel/qwindowsysteminterface.cpp:1114
#29 0x0000772b85ff9594 in userEventSourceDispatch (source=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/gui/platform/unix/qeventdispatcher_glib.cpp:38
#30 0x0000772b841c4a89 in ??? () at /usr/lib/libglib-2.0.so.0
#31 0x0000772b842269b7 in ??? () at /usr/lib/libglib-2.0.so.0
#32 0x0000772b841c3f95 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
--Type <RET> for more, q to quit, c to continue without paging--c
#33 0x0000772b857a28dd in QEventDispatcherGlib::processEvents (this=0x62d83cf46940, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:394
#34 0x0000772b8554f10e in QEventLoop::processEvents (this=0x7ffd98e6c1a0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100
#35 QEventLoop::exec (this=0x7ffd98e6c1a0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:182
#36 0x0000772b8554945d in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#37 0x000062d837d832a3 in ??? ()
#38 0x0000772b84e39c88 in __libc_start_call_main (main=main@entry=0x62d837d80420, argc=argc@entry=2, argv=argv@entry=0x7ffd98e6c5a8) at ../sysdeps/nptl/libc_start_call_main.h:58
#39 0x0000772b84e39d4c in __libc_start_main_impl (main=0x62d837d80420, argc=2, argv=0x7ffd98e6c5a8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffd98e6c598) at ../csu/libc-start.c:360
#40 0x000062d837d83a65 in ??? ()
(gdb)
Comment 8 Nate Graham 2024-06-17 16:50:32 UTC
Looks like it's Bug 487435.

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

*** This bug has been marked as a duplicate of bug 484261 ***
Comment 10 Nate Graham 2024-08-01 12:59:08 UTC

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