Bug 496679 - Plasmashell can be crashed by launching an app and opening another app symbols context menu
Summary: Plasmashell can be crashed by launching an app and opening another app symbol...
Status: RESOLVED DUPLICATE of bug 496689
Alias: None
Product: plasmashell
Classification: Plasma
Component: Task Manager and Icons-Only Task Manager widgets (other bugs)
Version First Reported In: 6.2.3
Platform: openSUSE Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-11-25 18:14 UTC by mrfrh
Modified: 2024-11-26 21:17 UTC (History)
2 users (show)

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


Attachments
Backtrace of the crash by attaching gdb to running plasmashell (96.44 KB, text/plain)
2024-11-25 21:23 UTC, mrfrh
Details

Note You need to log in before you can comment on or make changes to this bug.
Description mrfrh 2024-11-25 18:14:53 UTC
SUMMARY
Plasmashell can be crashed by launching an app and opening another apps context menu while the app is still launching.
Note: I also submitted on (or two?) automatic bug reports, but I can't view these.

STEPS TO REPRODUCE
1. Have some apps pinned to the icons only task manager/panel, all apps are closed
2. Launch an app that takes some seconds to start (reproduced this with signal-desktop from flatpak, Firefox from openSUSE and VirtualBox from openSUSE).
3. While the app from step 2 is still launching, right click on another apps symbol to open its context menu (reproduced the bug by right-clicking on libreoffice calc and quodlibet music player)
4. If you clicked fast enough, just wait for the app from step two to finish launching and plasmashell will crash



OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: 
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 mrfrh 2024-11-25 18:16:19 UTC
SOFTWARE/OS VERSIONS
Linux/KDE Plasma: openSUSE Tumbleweed 20241121
KDE Plasma Version: 6.2.3
KDE Frameworks Version: 6.8.0
Qt Version: 6.8.0
Kernel Version: 6.11.8-1-default (64-bit)
Graphics Platform: Wayland
Comment 2 Nate Graham 2024-11-25 20:04:38 UTC
I can't reproduce this. If something crashed, and you want to use Bugzilla to track it (as opposed to letting us handle it via the automatic crash report system), then we need a backtrace of the crash so we can figure out what's going on. Can you please attach a backtrace of the crash using the coredumpctl command-line program, as detailed in https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports#Retrieving_a_backtrace_using_coredumpctl?
Comment 3 mrfrh 2024-11-25 21:23:27 UTC
Created attachment 176119 [details]
Backtrace of the crash by attaching gdb to running plasmashell

Added backtrace of the crash (by attaching gdb to running plasmashell and then reproducing the crash).
Comment 4 Nate Graham 2024-11-26 21:14:17 UTC
Thank you! That's helpful. Searchable backtrace:


Thread 1 (Thread 0x7fe25eb57b00 (LWP 7089) "plasmashell"):
#0  QPointerEvent::pointingDevice (this=this@entry=0x0) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/gui/kernel/qevent.cpp:332
#1  0x00007fe2639fc8f2 in QPointerEvent::exclusiveGrabber (this=this@entry=0x0, point=...) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/gui/kernel/qevent.cpp:354
#2  0x00007fe264c0d6a1 in QQuickPointerHandler::setExclusiveGrab (this=0x556f369a7d60, ev=0x0, point=..., grab=false) at /usr/src/debug/qtdeclarative-everywhere-src-6.8.0/src/quick/handlers/qquickpointerhandler.cpp:502
#3  0x00007fe264df3f98 in QQuickDeliveryAgentPrivate::onGrabChanged (this=0x556f33ce1120, grabber=0x556f369a7d60, transition=QPointingDevice::UngrabExclusive, event=0x0, point=...) at /usr/src/debug/qtdeclarative-everywhere-src-6.8.0/src/quick/util/qquickdeliveryagent.cpp:1866
#4  0x00007fe26320e161 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/corelib/kernel/qobjectdefs_impl.h:486
#5  doActivate<false> (sender=0x556f330b1a10, signal_index=4, argv=0x7ffce922b180) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/corelib/kernel/qobject.cpp:4120
#6  0x00007fe263a5885e in QPointingDevice::grabChanged (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>, _t4=...) at /usr/src/debug/qtbase-everywhere-src-6.8.0/build/src/gui/Gui_autogen/include/moc_qpointingdevice.cpp:294
#7  0x00007fe263a528f8 in QPointingDevicePrivate::setExclusiveGrabber (this=0x556f330b5f90, event=0x0, point=..., exclusiveGrabber=0x0) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/gui/kernel/qpointingdevice.cpp:516
#8  0x00007fe264df39d1 in QQuickDeliveryAgentPrivate::handleWindowDeactivate (this=<optimized out>, win=0x556f3471c8e0) at /usr/src/debug/qtdeclarative-everywhere-src-6.8.0/src/quick/util/qquickdeliveryagent.cpp:1416
#9  0x00007fe26320e161 in QtPrivate::QSlotObjectBase::call (this=<optimized out>, r=<optimized out>, a=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/corelib/kernel/qobjectdefs_impl.h:486
#10 doActivate<false> (sender=0x7ffce922b960, signal_index=15, argv=0x7ffce922b4d0) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/corelib/kernel/qobject.cpp:4120
#11 0x00007fe263a15cb5 in QGuiApplication::applicationStateChanged (this=<optimized out>, _t1=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.8.0/build/src/gui/Gui_autogen/include/moc_qguiapplication.cpp:462
#12 0x00007fe263a1e4ef in QGuiApplicationPrivate::setApplicationState (state=<optimized out>, forcePropagate=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/corelib/kernel/qcoreapplication.h:97
#13 0x00007fe263a14a6e in QGuiApplicationPrivate::processFocusWindowEvent (e=0x556f36989f50) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/gui/kernel/qguiapplication.cpp:2713
#14 0x00007fe263a7b22c in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/gui/kernel/qwindowsysteminterface.cpp:1114
#15 0x00007fe263e9fbf4 in userEventSourceDispatch (source=<optimized out>) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/gui/platform/unix/qeventdispatcher_glib.cpp:38
#16 0x00007fe261d06eb8 in g_main_dispatch (context=0x7fe258000f30) at ../glib/gmain.c:3357
#17 g_main_context_dispatch_unlocked (context=context@entry=0x7fe258000f30) at ../glib/gmain.c:4208
#18 0x00007fe261d08ca8 in g_main_context_iterate_unlocked (context=context@entry=0x7fe258000f30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4273
#19 0x00007fe261d094bc in g_main_context_iteration (context=0x7fe258000f30, may_block=1) at ../glib/gmain.c:4338
#20 0x00007fe2633fe043 in QEventDispatcherGlib::processEvents (this=0x556f3309f150, flags=...) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/corelib/kernel/qeventdispatcher_glib.cpp:396
#21 0x00007fe2631b6602 in QEventLoop::exec (this=this@entry=0x7ffce922b860, flags=..., flags@entry=...) at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/corelib/global/qflags.h:34
#22 0x00007fe2631b6aea in QCoreApplication::exec () at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/corelib/global/qflags.h:74
#23 0x00007fe263a0d580 in QGuiApplication::exec () at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/gui/kernel/qguiapplication.cpp:1975
#24 0x00007fe2655dbef9 in QApplication::exec () at /usr/src/debug/qtbase-everywhere-src-6.8.0/src/widgets/kernel/qapplication.cpp:2562
#25 0x0000556f31e48fd9 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-6.2.3/shell/main.cpp:192
Detaching from program: /usr/bin/plasmashell, process 7089
[Inferior 1 (process 7089) detached]
Comment 5 Nate Graham 2024-11-26 21:17:01 UTC

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