Bug 478795 - plasmashell crashes when moving mouse quickly through "Application Menu" kicker widget on wayland
Summary: plasmashell crashes when moving mouse quickly through "Application Menu" kick...
Status: RESOLVED BACKTRACE
Alias: None
Product: plasmashell
Classification: Plasma
Component: Application Menu (Kicker) widget (other bugs)
Version First Reported In: 5.27.10
Platform: Arch Linux Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-12-20 21:36 UTC by andy
Modified: 2024-01-09 22:37 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description andy 2023-12-20 21:36:55 UTC
SUMMARY
I've noticed this crash a few times on different computers, so I thought I'd open a bug. Simply moving the mouse around in the "Application Menu" variant of the kicker results in crashing plasmashell.

STEPS TO REPRODUCE
0. wayland session
1. Right click kicker and pick "Show Alternatives". Pick "Application Menu"
2. Press Super key to open the menu
3. Rapidly move the mouse up and down and highlight different items randomly, including submenus

OBSERVED RESULT
plasmashell crashes (it might take 10 seconds, or might take 60 seconds; that part is variable)

EXPECTED RESULT
plasmashell does not crash

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: arch linux kernel 6.6.7
KDE Plasma Version: 5.27.10
KDE Frameworks Version: 5.112.0
Qt Version: 5.15.11

ADDITIONAL INFORMATION

Here's the journal for two crashes I just had (1st unexpected, 2nd was me trying to reproduce)

2023-12-20T13:16:43.384168-08:00 kwin_wayland_wrapper[4456]: error in client communication (pid 4625)
2023-12-20T13:16:43.386801-08:00 plasmashell[4625]: 25 -- exe=/usr/bin/plasmashell
2023-12-20T13:16:43.387102-08:00 plasmashell[4625]: 17 -- platform=wayland
2023-12-20T13:16:43.387102-08:00 plasmashell[4625]: 20 -- appname=plasmashell
2023-12-20T13:16:43.387102-08:00 plasmashell[4625]: 17 -- apppath=/usr/bin
2023-12-20T13:16:43.387102-08:00 plasmashell[4625]: 10 -- signal=11
2023-12-20T13:16:43.387102-08:00 plasmashell[4625]: 9 -- pid=4625
2023-12-20T13:16:43.387102-08:00 plasmashell[4625]: 19 -- appversion=5.27.10
2023-12-20T13:16:43.387102-08:00 plasmashell[4625]: 19 -- programname=Plasma
2023-12-20T13:16:43.387102-08:00 plasmashell[4625]: 31 -- bugaddress=submit@bugs.kde.org
2023-12-20T13:16:43.387102-08:00 plasmashell[4625]: KCrash: crashing... crashRecursionCounter = 2
2023-12-20T13:16:43.387102-08:00 plasmashell[4625]: KCrash: Application Name = plasmashell path = /usr/bin pid = 4625
2023-12-20T13:16:43.387102-08:00 plasmashell[4625]: KCrash: Arguments: /usr/bin/plasmashell --no-respawn
2023-12-20T13:16:43.405866-08:00 plasmashell[4625]: KCrash: Attempting to start /usr/lib/drkonqi
2023-12-20T13:16:43.561802-08:00 kwin_wayland[4456]: kf.service.services: The desktop entry file "/usr/share/applications/org.freedesktop.Xwayland.desktop" has Type= "Application" but has no Exec field.
2023-12-20T13:16:43.561992-08:00 kwin_wayland[4456]: kf.service.services: The desktop entry file "/usr/share/applications/qemu.desktop" has Type= "Application" but has no Exec field.
2023-12-20T13:16:43.658451-08:00 drkonqi[1585191]: kf5idletime_wayland: This plugin does not support polling idle time
2023-12-20T13:16:43.661443-08:00 kded5[4599]: Registering ":1.396943/StatusNotifierItem" to system tray
2023-12-20T13:16:43.662120-08:00 plasmashell[4625]: Unable to start Dr. Konqi
2023-12-20T13:16:43.662120-08:00 plasmashell[4625]: Re-raising signal for core dump handling.
2023-12-20T13:16:43.686495-08:00 kded5[4599]: Service  ":1.396943" unregistered
2023-12-20T13:16:43.697531-08:00 plasmashell[1523584]: [1523584:1523584:1220/131643.697512:ERROR:zygote_communication_linux.cc(290)] Failed to send GetTerminationStatus message to zygote
2023-12-20T13:16:43.723608-08:00 plasmashell[1523584]: [1523584:1523584:1220/131643.700051:ERROR:gpu_process_host.cc(986)] GPU process launch failed: error_code=1002
2023-12-20T13:16:43.723608-08:00 plasmashell[1523584]: [1523584:1523584:1220/131643.700774:ERROR:gpu_process_host.cc(986)] GPU process launch failed: error_code=1002
2023-12-20T13:16:43.723608-08:00 plasmashell[1523584]: [1523584:1523584:1220/131643.701498:ERROR:gpu_process_host.cc(986)] GPU process launch failed: error_code=1002
2023-12-20T13:16:43.723608-08:00 plasmashell[1523584]: [1523584:1523584:1220/131643.702189:ERROR:gpu_process_host.cc(986)] GPU process launch failed: error_code=1002
2023-12-20T13:16:43.723608-08:00 plasmashell[1523584]: [1523584:1523584:1220/131643.702994:ERROR:gpu_process_host.cc(986)] GPU process launch failed: error_code=1002
2023-12-20T13:16:43.723608-08:00 plasmashell[1523584]: [1523584:1523584:1220/131643.703836:ERROR:gpu_process_host.cc(986)] GPU process launch failed: error_code=1002
2023-12-20T13:16:43.723608-08:00 plasmashell[1523584]: [1523584:1523584:1220/131643.704822:ERROR:gpu_process_host.cc(986)] GPU process launch failed: error_code=1002
2023-12-20T13:16:43.723608-08:00 plasmashell[1523584]: [1523584:1523584:1220/131643.705457:ERROR:gpu_process_host.cc(986)] GPU process launch failed: error_code=1002
2023-12-20T13:16:43.723608-08:00 plasmashell[1523584]: [1523584:1523584:1220/131643.706053:ERROR:gpu_process_host.cc(986)] GPU process launch failed: error_code=1002
2023-12-20T13:16:43.723608-08:00 plasmashell[1523584]: [1523584:1523584:1220/131643.706066:FATAL:gpu_data_manager_impl_private.cc(448)] GPU process isn't usable. Goodbye.



2023-12-20T13:22:10.997491-08:00 plasmashell[1585374]: 25 -- exe=/usr/bin/plasmashell
2023-12-20T13:22:10.997491-08:00 plasmashell[1585374]: 17 -- platform=wayland
2023-12-20T13:22:10.997491-08:00 plasmashell[1585374]: 20 -- appname=plasmashell
2023-12-20T13:22:10.997491-08:00 plasmashell[1585374]: 17 -- apppath=/usr/bin
2023-12-20T13:22:10.997592-08:00 plasmashell[1585374]: 10 -- signal=11
2023-12-20T13:22:10.997592-08:00 plasmashell[1585374]: 12 -- pid=1585374
2023-12-20T13:22:10.997592-08:00 plasmashell[1585374]: 19 -- appversion=5.27.10
2023-12-20T13:22:10.997592-08:00 plasmashell[1585374]: 19 -- programname=Plasma
2023-12-20T13:22:10.997592-08:00 plasmashell[1585374]: 31 -- bugaddress=submit@bugs.kde.org
2023-12-20T13:22:10.997592-08:00 plasmashell[1585374]: KCrash: crashing... crashRecursionCounter = 2
2023-12-20T13:22:10.997592-08:00 plasmashell[1585374]: KCrash: Application Name = plasmashell path = /usr/bin pid = 1585374
2023-12-20T13:22:10.997592-08:00 plasmashell[1585374]: KCrash: Arguments: /usr/bin/plasmashell --no-respawn
2023-12-20T13:22:11.043986-08:00 systemd[4325]: plasma-plasmashell.service: Main process exited, code=exited, status=1/FAILURE
2023-12-20T13:22:11.044075-08:00 systemd[4325]: plasma-plasmashell.service: Failed with result 'exit-code'.
2023-12-20T13:22:11.044330-08:00 systemd[4325]: plasma-plasmashell.service: Consumed 15.631s CPU time.
2023-12-20T13:22:11.175383-08:00 systemd[4325]: plasma-plasmashell.service: Scheduled restart job, restart counter is at 2.
2023-12-20T13:22:11.176592-08:00 kwin_wayland[4456]: QMetaProperty::read: Unable to handle unregistered datatype 'XwaylandCrashPolicy' for property 'KWin::Options::xwaylandCrashPolicy'
2023-12-20T13:22:11.176610-08:00 kwin_wayland[4456]: QMetaProperty::read: Unable to handle unregistered datatype 'PlacementPolicy' for property 'KWin::Options::placement'
2023-12-20T13:22:11.176684-08:00 kwin_wayland[4456]: QMetaProperty::read: Unable to handle unregistered datatype 'LatencyPolicy' for property 'KWin::Options::latencyPolicy'
2023-12-20T13:22:11.176693-08:00 kwin_wayland[4456]: QMetaProperty::read: Unable to handle unregistered datatype 'RenderTimeEstimator' for property 'KWin::Options::renderTimeEstimator'
2023-12-20T13:22:11.203385-08:00 systemd[4325]: Starting KDE Plasma Workspace...
Comment 1 Nate Graham 2023-12-21 16:40:44 UTC
If something crashed, we need a backtrace of it 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?

Thanks!
Comment 2 andy 2023-12-21 20:44:32 UTC
Here's a the bt from coredumpctl. I'm using DEBUGINFOD_URLS="https://debuginfod.archlinux.org/" but I think it doesn't have symbols for libkicker per `#22 0x00007fcd8c7225aa in  () at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so`


```
Core was generated by `/usr/bin/plasmashell --no-respawn'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
Downloading source file /usr/src/debug/glibc/glibc/nptl/pthread_kill.c...
44            return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x7fce1aa1e040 (LWP 4625))]
(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007fce1f50d8a3 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007fce1f4bd668 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3  0x00007fce219ed88f in KCrash::defaultCrashHandler(int) () at /usr/lib/libKF5Crash.so.5
#4  0x00007fce1f4bd710 in <signal handler called> () at /usr/lib/libc.so.6
#5  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#6  0x00007fce1f50d8a3 in __pthread_kill_internal (signo=11, threadid=<optimized out>) at pthread_kill.c:78
#7  0x00007fce1f4bd668 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#8  0x00007fce1f4bd710 in <signal handler called> () at /usr/lib/libc.so.6
#9  0x00007fce1f5084ac in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0x55c344b76be0) at futex-internal.c:57
#10 __futex_abstimed_wait_common (futex_word=futex_word@entry=0x55c344b76be0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0, cancel=cancel@entry=true) at futex-internal.c:87
#11 0x00007fce1f50852f in __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x55c344b76be0, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#12 0x00007fce1f50ad40 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0x55c344b76b90, cond=0x55c344b76bb8) at pthread_cond_wait.c:503
#13 ___pthread_cond_wait (cond=0x55c344b76bb8, mutex=0x55c344b76b90) at pthread_cond_wait.c:618
#14 0x00007fce1f9d74a4 in QWaitCondition::wait(QMutex*, QDeadlineTimer) () at /usr/lib/libQt5Core.so.5
#15 0x00007fce215b741a in QSGThreadedRenderLoop::handleObscurity(QSGThreadedRenderLoop::Window*) (this=0x55c33e9302c0, w=0x55c3438e7930) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1393
#16 0x00007fce215b06be in QSGThreadedRenderLoop::hide(QQuickWindow*) (this=0x55c33e9302c0, window=0x7fce0c00beb0) at /usr/src/debug/qt5-declarative/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1184
#17 0x00007fce1ff69c65 in QWindow::event(QEvent*) () at /usr/lib/libQt5Gui.so.5
#18 0x00007fce207f98ff in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib/libQt5Widgets.so.5
#19 0x00007fce1fb78168 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /usr/lib/libQt5Core.so.5
#20 0x00007fce1ff60b8d in QWindowPrivate::setVisible(bool) () at /usr/lib/libQt5Gui.so.5
#21 0x00007fce21e1a313 in PlasmaQuick::Dialog::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib/libKF5PlasmaQuick.so.5
#22 0x00007fcd8c7225aa in  () at /usr/lib/qt/qml/org/kde/plasma/private/kicker/libkickerplugin.so
#23 0x00007fce21143ee3 in QQmlPropertyData::writeProperty(QObject*, void*, QFlags<QQmlPropertyData::WriteFlag>) const (this=<optimized out>, target=<optimized out>, value=<optimized out>, flags=...)
    at ../../include/QtQml/5.15.11/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:395
#24 0x00007fce2107ec1a in QV4::QObjectWrapper::setProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData*, QV4::Value const&) (engine=engine@entry=0x55c33e70f8c0, object=object@entry=0x7fce0c00beb0, property=0x7fcdd00eaf78, value=...)
    at /usr/include/qt/QtCore/qflags.h:120
#25 0x00007fce2107f1a6 in QV4::QObjectWrapper::setQmlProperty(QV4::ExecutionEngine*, QQmlContextData*, QObject*, QV4::String*, QV4::QObjectWrapper::RevisionMode, QV4::Value const&)
    (engine=0x55c33e70f8c0, qmlContext=<optimized out>, object=0x7fce0c00beb0, name=<optimized out>, revisionMode=QV4::QObjectWrapper::CheckRevision, value=...)
    at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:435
#26 0x00007fce21060443 in QV4::QQmlContextWrapper::virtualPut(QV4::Managed*, QV4::PropertyKey, QV4::Value const&, QV4::Value*) (m=<optimized out>, id=..., value=..., receiver=<optimized out>)
    at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4qmlcontext.cpp:425
#27 0x00007fce21026c5b in QV4::Object::put(QV4::StringOrSymbol*, QV4::Value const&, QV4::Value*) (receiver=0x7fcdd71af708, v=..., name=0x7fcdd71af700, this=0x7fcdd71af708)
    at ../../include/QtQml/5.15.11/QtQml/private/../../../../../../qtdeclarative/src/qml/jsruntime/qv4string_p.h:167
#28 QV4::ExecutionContext::setProperty(QV4::String*, QV4::Value const&) (this=<optimized out>, name=0x7fcdd71af700, value=...) at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4context.cpp:313
#29 0x00007fce210ab7c9 in QV4::Runtime::StoreNameSloppy::call(QV4::ExecutionEngine*, int, QV4::Value const&) (engine=0x55c33e70f8c0, nameIndex=<optimized out>, value=...)
    at /usr/src/debug/qt5-declarative/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:990
#30 0x00007fcd6f669237 in  ()
#31 0x00007ffd6747b0b0 in  ()
#32 0x0000000000000000 in  ()
```
Comment 3 Nate Graham 2024-01-09 22:37:16 UTC
Unfortunately we that's the one we need.