Created attachment 168003 [details] GDB Backtrace *** 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 What originally started as an isolated continuation of a bug from back in 5.27.9 has escalated to a repeatable crash on 6.0.3 on my end. Essentially, after updating or restarting the desktop, adding a floating Icons-Only Task Manager (theoretically possible on the normal Task Manager as well) or interacting with it causes the shell to crash and restart before eventually crashing to the point that it can't recover. STEPS TO REPRODUCE 1. Restart Plasma using "killall plasmashell | kstart plasmashell" in Konsole or another terminal emulator. 2. When the desktop has loaded, right click on the desktop and choose "Add Widgets." 3. Find the Icons-Only Task Manager or Task Manager and add it to the desktop. 4. The shell will crash, but recover soon after (if it hasn't jumped right to unrecoverable status). 5. Continue interacting with either Task Manager by opening applications each one until they cause another crash. 6. Eventually, "plasmashell" can no longer recover from the crash and present a black screen with nothing but currently running applications. OBSERVED RESULT Several observable results: * The Task Manager fails to report running applications. This is similar to Bug 475896 but goes much farther. * Right-clicking on applications no longer shows menu options. * The desktop crashes simply by adding the Task Manager to the desktop. * The desktop crashes simply by opening applications from the Task Manager and subsequently closing them. EXPECTED RESULT * The Task Manager should report running applications and show jump lists after right-clicking them. * Adding another Task Manager or interacting with either one should not cause Plasma to crash. SOFTWARE/OS VERSIONS Linux/KDE Plasma: 6.5.0-26-generic (64-bit) (available in About System) KDE Plasma Version: 6.0.3 KDE Frameworks Version: Qt Version: 6.6.2 Graphics Platform: Wayland ADDITIONAL INFORMATION
Created attachment 168005 [details] Crash Demonstration This is an OBS recording of the crash in action.
pasting inline. in the backtrace there is some suspect stuff about screencasting/pipewire (taskbar thumbnails) Thread 1 "plasmashell" received signal SIGABRT, Aborted. __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737230232256) at ./nptl/pthread_kill.c:44 Download failed: Invalid argument. Continuing without source file ./nptl/./nptl/pthread_kill.c. 44 ./nptl/pthread_kill.c: No such file or directory. #0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=140737230232256) at ./nptl/pthread_kill.c:44 #1 __pthread_kill_internal (signo=6, threadid=140737230232256) at ./nptl/pthread_kill.c:78 #2 __GI___pthread_kill (threadid=140737230232256, signo=signo@entry=6) at ./nptl/pthread_kill.c:89 #3 0x00007ffff4a42476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26 #4 0x00007ffff4a287f3 in __GI_abort () at ./stdlib/abort.c:79 #5 0x00007ffff56db597 in qAbort() () at ./src/corelib/global/qglobal.cpp:161 #6 0x00007ffff56d67f5 in qt_message_fatal<QString&> (message=..., context=<optimized out>) at ./src/corelib/global/qlogging.cpp:2003 #7 qt_message(QtMsgType, const QMessageLogContext &, const char *, typedef __va_list_tag __va_list_tag *) (msgType=msgType@entry=QtFatalMsg, context=<optimized out>, msg=<optimized out>, ap=ap@entry=0x7fffffff6f90) at ./src/corelib/global/qlogging.cpp:378 #8 0x00007ffff56dbfc3 in QMessageLogger::fatal(char const*, ...) const (this=<optimized out>, msg=<optimized out>) at ./src/corelib/global/qlogging.cpp:901 #9 0x00007ffff56a0327 in qt_assert(char const*, char const*, int) (assertion=assertion@entry=0x7fff93f14267 "isInitialized()", file=file@entry=0x7fff93f14150 "./libtaskmanager/declarative/screencasting.cpp", line=line@entry=75) at ./src/corelib/global/qassert.cpp:68 #10 0x00007fff93f0bc26 in ScreencastingPrivate::ScreencastingPrivate(Screencasting*) (this=0x5555592f3060, q=0x555558ac7380) at ./libtaskmanager/declarative/screencasting.cpp:66 #11 ScreencastingPrivate::ScreencastingPrivate(Screencasting*) (q=0x555558ac7380, this=0x5555592f3060) at ./libtaskmanager/declarative/screencasting.cpp:66 #12 Screencasting::Screencasting(QObject*) (this=this@entry=0x555558ac7380, parent=parent@entry=0x555559281770) at ./libtaskmanager/declarative/screencasting.cpp:90 #13 0x00007fff93f121da in ScreencastingRequest::setUuid(QString const&) (this=0x555559281770, uuid=...) at ./libtaskmanager/declarative/screencastingrequest.cpp:48 #14 0x00007ffff642ae98 in QQmlPropertyData::writeProperty(QObject*, void*, QFlags<QQmlPropertyData::WriteFlag>) const (this=<optimized out>, target=<optimized out>, value=<optimized out>, flags=...) at ./src/qml/qml/qqmlpropertydata_p.h:338 #15 0x00007ffff6455810 in tryConvertAndAssign (isUrl=false, variantMetaType=..., propertyMetaType=..., flags=..., value=..., property=..., object=0x555559281770) at ./src/qml/qml/qqmlproperty.cpp:1442 #16 QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlRefPointer<QQmlContextData> const&, QFlags<QQmlPropertyData::WriteFlag>) (object=0x555559281770, property=..., value=..., context=<optimized out>, flags=...) at ./src/qml/qml/qqmlproperty.cpp:1555 #17 0x00007ffff64c8700 in QQmlBinding::slowWrite(QQmlPropertyData const&, QQmlPropertyData const&, QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>) (this=<optimized out>, core=..., valueTypeData=..., result=..., isUndefined=<optimized out>, flags=...) at ./src/qml/qml/qqmlbinding.cpp:540 #18 0x00007ffff651e5c2 in GenericBinding<10>::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>) (this=0x5555596eefb0, result=..., isUndefined=<optimized out>, flags=...) at ./src/qml/qml/qqmlbinding.cpp:268 #19 0x00007ffff64c9972 in QQmlBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) (this=0x5555596eefb0, watcher=..., flags=..., scope=<optimized out>) at ./src/qml/qml/qqmlbinding.cpp:700 #20 0x00007ffff64c7101 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) (this=0x5555596eefb0, flags=...) at ./src/qml/qml/qqmlbinding.cpp:164 #21 0x00007ffff6447ce3 in QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) (this=0x555559cabd90, interrupt=...) at ./src/qml/qml/qqmlobjectcreator.cpp:1462 #22 0x00007ffff64f8c67 in QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&) (this=this@entry=0x555559282a00, i=...) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qscopedpointer.h:90 #23 0x00007ffff64f9854 in QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlRefPointer<QQmlContextData> const&) (this=0x555555e47b10, i=<optimized out>, forContext=<optimized out>) at ./src/qml/qml/qqmlincubator.cpp:53 #24 0x00007ffff64d1f4e in QQmlComponent::create(QQmlIncubator&, QQmlContext*, QQmlContext*) (this=<optimized out>, incubator=..., context=<optimized out>, forContext=<optimized out>) at ./src/qml/qml/qqmlcomponent.cpp:1437 #25 0x00007ffff6d7dfd0 in QQuickLoaderPrivate::_q_sourceLoaded() (this=0x5555570ecad0) at ./src/quick/items/qquickloader.cpp:741 #26 0x00007ffff6448277 in QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) (this=0x555558777d50, interrupt=...) at ./src/qml/qml/qqmlobjectcreator.cpp:1521 #27 0x00007ffff64f8c67 in QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&) (this=this@entry=0x555558faf2a0, i=...) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qscopedpointer.h:90 #28 0x00007ffff64f9854 in QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlRefPointer<QQmlContextData> const&) (this=0x555555e47b10, i=<optimized out>, forContext=<optimized out>) at ./src/qml/qml/qqmlincubator.cpp:53 #29 0x00007ffff64d1f4e in QQmlComponent::create(QQmlIncubator&, QQmlContext*, QQmlContext*) (this=<optimized out>, incubator=..., context=<optimized out>, forContext=<optimized out>) at ./src/qml/qml/qqmlcomponent.cpp:1437 #30 0x00007ffff6d7dfd0 in QQuickLoaderPrivate::_q_sourceLoaded() (this=0x55555a51b160) at ./src/quick/items/qquickloader.cpp:741 #31 0x00007ffff6d8359d in QQuickLoader::setActive(bool) (this=0x555558d0f9f0, newVal=<optimized out>) at ./src/quick/items/qquickloader.cpp:315 #32 0x00007ffff642ae98 in QQmlPropertyData::writeProperty(QObject*, void*, QFlags<QQmlPropertyData::WriteFlag>) const (this=<optimized out>, target=<optimized out>, value=<optimized out>, flags=...) at ./src/qml/qml/qqmlpropertydata_p.h:338 #33 0x00007ffff651e2ee in GenericBinding<1>::doStore<bool>(bool, QQmlPropertyData const*, QFlags<QQmlPropertyData::WriteFlag>) const (flags=..., pd=<optimized out>, value=<optimized out>, this=<optimized out>) at ./src/qml/qml/qqmlbinding.cpp:275 #34 GenericBinding<1>::write(QV4::Value const&, bool, QFlags<QQmlPropertyData::WriteFlag>) (this=0x555557f7b640, result=..., isUndefined=<optimized out>, flags=...) at ./src/qml/qml/qqmlbinding.cpp:238 #35 0x00007ffff64c9972 in QQmlBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) (this=0x555557f7b640, watcher=..., flags=..., scope=<optimized out>) at ./src/qml/qml/qqmlbinding.cpp:700 #36 0x00007ffff64c7101 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) (this=0x555557f7b640, flags=...) at ./src/qml/qml/qqmlbinding.cpp:164 #37 0x00007ffff6435438 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) (endpoint=<optimized out>, a=0x0) at ./src/qml/qml/qqmlnotifier.cpp:70 #38 0x00007ffff563c1a5 in doActivate<false>(QObject*, int, void**) (sender=0x555558d0f9f0, signal_index=41, argv=0x0) at ./src/corelib/kernel/qobject.cpp:3931 #39 0x00007ffff6534a87 in QV4::QObjectWrapper::setProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData const*, QV4::Value const&) (engine=engine@entry=0x555555f4c430, object=object@entry=0x555558d0f9f0, property=0x7fff9c001550, value=...) at ./src/qml/qml/qqmlpropertydata_p.h:246 #40 0x00007ffff6535a0e in QV4::QObjectWrapper::setQmlProperty(QV4::ExecutionEngine*, QQmlRefPointer<QQmlContextData> const&, QObject*, QV4::String*, QFlags<QV4::QObjectWrapper::Flag>, QV4::Value const&) (engine=engine@entry=0x555555f4c430, qmlContext=..., object=0x555558d0f9f0, name=name@entry=0x7fffd03b8628, flags=..., flags@entry=..., value=...) at ./src/qml/jsruntime/qv4qobjectwrapper.cpp:465 #41 0x00007ffff6535baf in QV4::QObjectWrapper::virtualPut(QV4::Managed*, QV4::PropertyKey, QV4::Value const&, QV4::Value*) (m=0x7fffd03b8618, id=..., value=..., receiver=0x7fffd03b8618) at ./src/qml/jsruntime/qv4qobjectwrapper.cpp:837 #42 0x00007ffff6523436 in QV4::Object::put(QV4::StringOrSymbol*, QV4::Value const&, QV4::Value*) (receiver=0x7fffd03b8618, v=..., name=0x7fffd03b8620, this=<optimized out>) at ./src/qml/jsruntime/qv4object_p.h:281 #43 QV4::Lookup::setterFallback(QV4::Lookup*, QV4::ExecutionEngine*, QV4::Value&, QV4::Value const&) (l=<optimized out>, engine=0x555555f4c430, object=<optimized out>, value=...) at ./src/qml/jsruntime/qv4lookup.cpp:591 #44 0x00007ffff668c19a in QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) (frame=0x7fffffffa1a0, engine=0x555555f4c430, code=0x7fff9290f8ed <incomplete sequence \357>) at ./src/qml/jsruntime/qv4vme_moth.cpp:321 #45 0x00007ffff669005a in QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) (frame=<optimized out>, engine=<optimized out>) at ./src/qml/jsruntime/qv4vme_moth.cpp:584 #46 0x00007ffff65c2992 in QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) (engine=0x555555f4c430, frame=0x7fffffffa1a0) at ./src/qml/jsruntime/qv4engine_p.h:805 #47 qfoDoCall(QV4::FunctionObject const*, QV4::Value const*, QV4::Value const*, int) (fo=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>) at ./src/qml/jsruntime/qv4functionobject.cpp:526 #48 0x00007ffff668b6de in QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) (frame=0x7fffffffa650, engine=0x555555f4c430, code=0x555556827890 "\300\066R\366\377\177") at ./src/qml/jsruntime/qv4vme_moth.cpp:902 #49 0x00007ffff669005a in QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) (frame=<optimized out>, engine=<optimized out>) at ./src/qml/jsruntime/qv4vme_moth.cpp:584 #50 0x00007ffff65be0e2 in QV4::doCall(QV4::Function*, QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext*) (self=<optimized out>, thisObject=<optimized out>, argv=<optimized out>, argc=<optimized out>, context=<optimized out>) at ./src/qml/jsruntime/qv4function.cpp:54 #51 0x00007ffff65be1a1 in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext*) (this=this@entry=0x5555567eed40, thisObject=<optimized out>, argv=argv@entry=0x7fffd03b84f0, argc=argc@entry=0, context=context@entry=0x7fff4c796d08) at ./src/qml/jsruntime/qv4function.cpp:79 #52 0x00007ffff65c5745 in operator() (argc=0, argv=0x7fffd03b84f0, thisObject=<optimized out>, __closure=<synthetic pointer>) at ./src/qml/jsruntime/qv4function.cpp:30 #53 QV4::convertAndCall<QV4::Function::call(QObject*, void**, const QMetaType*, int, QV4::ExecutionContext*)::<lambda(const QV4::Value*, const QV4::Value*, int)> > (call=..., argc=0, types=0x7fffffffa890, a=0x7fffffffa8a0, thisObject=<optimized out>, engine=<optimized out>) at ./src/qml/jsruntime/qv4jscall_p.h:173 #54 QV4::Function::call(QObject*, void**, QMetaType const*, int, QV4::ExecutionContext*) (this=0x5555567eed40, thisObject=<optimized out>, a=0x7fffffffa8a0, types=0x7fffffffa890, argc=0, context=0x7fff4c796d08) at ./src/qml/jsruntime/qv4function.cpp:27 #55 0x00007ffff65014b9 in QQmlJavaScriptExpression::evaluate(void**, QMetaType const*, int) (this=<optimized out>, a=<optimized out>, types=<optimized out>, argc=<optimized out>) at ./src/qml/qml/qqmljavascriptexpression.cpp:270 #56 0x00007ffff64c59bb in QQmlBoundSignalExpression::evaluate(void**) (this=this@entry=0x555559c396a0, a=a@entry=0x0) at ./src/qml/qml/qqmlboundsignal.cpp:199 #57 0x00007ffff64c936b in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) (a=0x0, e=0x555558609c80) at ./src/qml/qml/ftw/qqmlrefcount_p.h:72 #58 QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) (e=0x555558609c80, a=0x0) at ./src/qml/qml/qqmlboundsignal.cpp:293 #59 0x00007ffff6435438 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) (endpoint=<optimized out>, a=0x0) at ./src/qml/qml/qqmlnotifier.cpp:70 #60 0x00007ffff563c1a5 in doActivate<false>(QObject*, int, void**) (sender=0x555558650650, signal_index=38, argv=0x0) at ./src/corelib/kernel/qobject.cpp:3931 #61 0x00007fffd805af3a in () at /usr/lib/x86_64-linux-gnu/qt6/qml/org/kde/plasma/core/libcorebindingsplugin.so #62 0x00007ffff6d6d4c4 in QQuickItem::event(QEvent*) (this=0x555558650650, ev=0x7fffffffc530) at ./src/quick/items/qquickitem.cpp:8867 #63 0x00007ffff75f181b in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x555558650650, e=0x7fffffffc530) at ./src/widgets/kernel/qapplication.cpp:3296 #64 0x00007ffff5675e08 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=receiver@entry=0x555558650650, event=event@entry=0x7fffffffc530) at ./src/corelib/kernel/qcoreapplication.cpp:1121 #65 0x00007ffff5675e4d in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=receiver@entry=0x555558650650, event=event@entry=0x7fffffffc530) at ./src/corelib/kernel/qcoreapplication.cpp:1539 #66 0x00007ffff6c3d9b3 in QQuickDeliveryAgentPrivate::sendHoverEvent(QEvent::Type, QQuickItem*, QPointF const&, QPointF const&, QFlags<Qt::KeyboardModifier>, unsigned long) (this=this@entry=0x5555562e1870, type=<optimized out>, item=0x555558650650, scenePos=<optimized out>, lastScenePos=..., modifiers=..., timestamp=4514807) at ./src/quick/util/qquickdeliveryagent.cpp:975 #67 0x00007ffff6c3e050 in QQuickDeliveryAgentPrivate::deliverHoverEventToItem(QQuickItem*, QPointF const&, QPointF const&, QFlags<Qt::KeyboardModifier>, unsigned long, bool) (this=this@entry=0x5555562e1870, item=item@entry=0x555558650650, scenePos=..., lastScenePos=..., modifiers=..., modifiers@entry=..., timestamp=timestamp@entry=4514807, clearHover=false) at ./src/quick/util/qquickdeliveryagent.cpp:1156
I can't reproduce this on Plasma 6.1 Operating System: Fedora Linux 40 KDE Plasma Version: 6.1.80 KDE Frameworks Version: 6.4.0 Qt Version: 6.7.1 Kernel Version: 6.9.4-200.fc40.x86_64 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 3600 6-Core Processor Memory: 15.5 GiB of RAM Graphics Processor: AMD Radeon RX 6600
Update: I can't reproduce it anymore either (also updated to Plasma 6.1). The developers introduced a new Edit Mode for this release and, in the process, fixed the bug. It would be okay to close this as "RESOLVED" since the only issue that remains is the desktop's inconsistency to render the running applications properly (Bug 475896). It would be appreciated if future findings could be reported there and I appreciate your help anyway.
(In reply to morrismyles004 from comment #4) > Update: I can't reproduce it anymore either (also updated to Plasma 6.1). > The developers introduced a new Edit Mode for this release and, in the > process, fixed the bug. It would be okay to close this as "RESOLVED" since > the only issue that remains is the desktop's inconsistency to render the > running applications properly (Bug 475896). It would be appreciated if > future findings could be reported there and I appreciate your help anyway. Linux/KDE Plasma: 6.5.0-41-generic (64-bit) (available in About System) KDE Plasma Version: 6.1.0 KDE Frameworks Version: 6.3.0 Qt Version: 6.7.0 Graphics Platform: Wayland
Closing as per user request. Thanks for the report!