Bug 436640 - plasmashell crashed when trying to edit panel
Summary: plasmashell crashed when trying to edit panel
Status: RESOLVED DUPLICATE of bug 435999
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: 5.21.4
Platform: Other Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-05-05 16:31 UTC by torokati44
Modified: 2021-05-06 14:56 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description torokati44 2021-05-05 16:31:34 UTC
SUMMARY

plasmashell crashed when I tried to add a widget to it.

STEPS TO REPRODUCE
1. Right click on a panel and select "Add Widgets..."
2. Try to add the "Individual Core Usage" widget

OBSERVED RESULT

The panel and the whole desktop disappears, and plasmashell outputs this to its stdout (I already had it running in a Konsole window, because it didn't restart after an earlier crash):


qt.svg: Cannot open file '/usr/share/plasma/plasmoids/org.kde.networkMonitor/contents/images/network-monitor.svg', because: No such file or directory
qt.svg: Cannot open file '/usr/share/plasma/plasmoids/org.kde.networkMonitor/contents/images/network-monitor.svg', because: No such file or directory
qt.svg: Cannot open file '/usr/share/plasma/plasmoids/org.kde.thermalMonitor/contents/images/thermal-monitor.svg', because: No such file or directory
qt.svg: Cannot open file '/usr/share/plasma/plasmoids/org.kde.thermalMonitor/contents/images/thermal-monitor.svg', because: No such file or directory
TODO: port listCategories()
file:///usr/lib64/qt5/qml/org/kde/plasma/extras/PlasmoidHeading.qml:69: ReferenceError: plasmoid is not defined
This plugin does not support setting window opacity
This plugin does not support setting window opacity
-------->  load applet:  "org.kde.plasma.systemmonitor.cpucore"  relpath:  "plasma/plasmoids/org.kde.plasma.systemmonitor.cpucore"
dbus[65576]: arguments to dbus_pending_call_block() were incorrect, assertion "pending != NULL" failed in file ../../dbus/dbus-pending-call.c line 765.
This is normally a bug in some application using the D-Bus library.

  D-Bus not built with -rdynamic so unable to print a backtrace
KCrash: Attempting to start /usr/bin/plasmashell
KCrash: Application 'plasmashell' crashing...
KCrash: Attempting to start /usr/libexec/drkonqi
kf.plasma.quick: Applet preload policy set to 1
qt.gui.icc: fromIccProfile: failed minimal tag size sanity
qt.svg: <input>:406:376: Could not add child element to parent element because the types are incorrect.
qt.svg: <input>:407:130: Could not add child element to parent element because the types are incorrect.
qt.svg: <input>:408:130: Could not add child element to parent element because the types are incorrect.
qt.svg: <input>:408:393: Could not add child element to parent element because the types are incorrect.
qt.svg: <input>:409:130: Could not add child element to parent element because the types are incorrect.
qt.svg: <input>:410:129: Could not add child element to parent element because the types are incorrect.
qt.svg: <input>:411:129: Could not add child element to parent element because the types are incorrect.
qt.svg: <input>:412:129: Could not add child element to parent element because the types are incorrect.
qt.svg: <input>:413:129: Could not add child element to parent element because the types are incorrect.
qt.svg: <input>:413:379: Could not add child element to parent element because the types are incorrect.
qt.svg: <input>:413:631: Could not add child element to parent element because the types are incorrect.
trying to show an empty dialog
file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:146:19: QML Loader: Binding loop detected for property "height"


In an earlier attempt at doing the same, I got this crash report:


Application: Plasma (plasmashell), signal: Aborted

[KCrash Handler]
#4  0x00007f484a228292 in raise () at /lib64/libc.so.6
#5  0x00007f484a2118a4 in abort () at /lib64/libc.so.6
#6  0x00007f4849617b16 in  () at /lib64/libdbus-1.so.3
#7  0x00007f484963e010 in _dbus_warn_return_if_fail () at /lib64/libdbus-1.so.3
#8  0x00007f484b166d79 in QDBusConnectionPrivate::getNameOwnerNoCache(QString const&) () at /lib64/libQt5DBus.so.5
#9  0x00007f484b168d6b in QDBusConnectionPrivate::addSignalHook(QString const&, QDBusConnectionPrivate::SignalHook const&) () at /lib64/libQt5DBus.so.5
#10 0x00007f484b16a3d5 in QtPrivate::QSlotObject<bool (QDBusConnectionPrivate::*)(QString const&, QDBusConnectionPrivate::SignalHook const&), QtPrivate::List<QString const&, QDBusConnectionPrivate::SignalHook const&>, bool>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) () at /lib64/libQt5DBus.so.5
#11 0x00007f484a881257 in QObject::event(QEvent*) () at /lib64/libQt5Core.so.5
#12 0x00007f484a859f2b in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#13 0x00007f484a85cc76 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt5Core.so.5
#14 0x00007f484a8a6c57 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5Core.so.5
#15 0x00007f4848d2e4cf in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#16 0x00007f4848d824e8 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#17 0x00007f4848d2bc03 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#18 0x00007f484a8a66f8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#19 0x00007f484a8589b2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#20 0x00007f484a6c049a in QThread::exec() () at /lib64/libQt5Core.so.5
#21 0x00007f484b156f8b in QDBusConnectionManager::run() () at /lib64/libQt5DBus.so.5
#22 0x00007f484a6c1751 in QThreadPrivate::start(void*) () at /lib64/libQt5Core.so.5
#23 0x00007f4849684299 in start_thread () at /lib64/libpthread.so.0
#24 0x00007f484a2eb6a3 in clone () at /lib64/libc.so.6

Thread 1 (LWP 51687 "plasmashell"):
#1  0x00007f484a6c359e in QSemaphore::acquire(int) () at /lib64/libQt5Core.so.5
#2  0x00007f484a88a447 in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5
#3  0x00007f484b1a7697 in QDBusConnectionPrivate::signalNeedsConnecting(QString const&, QDBusConnectionPrivate::SignalHook const&) () at /lib64/libQt5DBus.so.5
#4  0x00007f484b15f416 in QDBusConnectionPrivate::connectRelay(QString const&, QString const&, QString const&, QDBusAbstractInterface*, QMetaMethod const&) () at /lib64/libQt5DBus.so.5
#5  0x00007f484a8853ea in QObjectPrivate::connectImpl(QObject const*, int, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) () at /lib64/libQt5Core.so.5
#6  0x00007f484a88567d in QObject::connectImpl(QObject const*, void**, QObject const*, void**, QtPrivate::QSlotObjectBase*, Qt::ConnectionType, int const*, QMetaObject const*) () at /lib64/libQt5Core.so.5
#7  0x00007f4788066e16 in KSysGuard::SensorDaemonInterface::reconnect() () at /lib64/libKSysGuardSensors.so.1
#8  0x00007f47880672df in KSysGuard::SensorDaemonInterface::instance() () at /lib64/libKSysGuardSensors.so.1
#9  0x00007f4788060306 in KSysGuard::SensorQuery::execute() () at /lib64/libKSysGuardSensors.so.1
#10 0x00007f47be66e0be in KSysGuard::SensorFaceControllerPrivate::resolveSensors(QJsonArray const&, std::function<void (QJsonArray const&)>) () at /lib64/libKSysGuardSensorFaces.so.1
#11 0x00007f47be66ec1f in KSysGuard::SensorFaceController::setTotalSensors(QJsonArray const&) () at /lib64/libKSysGuardSensorFaces.so.1
#12 0x00007f47be675368 in KSysGuard::SensorFaceController::loadPreset(QString const&) () at /lib64/libKSysGuardSensorFaces.so.1
#13 0x00007f47be8444bc in SystemMonitor::init() () at /usr/lib64/qt5/plugins/plasma/applets/plasma_applet_systemmonitor.so
#14 0x00007f484c6548f0 in Plasma::Containment::addApplet(Plasma::Applet*) () at /lib64/libKF5Plasma.so.5
#15 0x00007f484c669a60 in Plasma::ContainmentPrivate::createApplet(QString const&, QList<QVariant> const&, unsigned int) () at /lib64/libKF5Plasma.so.5
#16 0x00007f484c651809 in Plasma::Containment::createApplet(QString const&, QList<QVariant> const&) () at /lib64/libKF5Plasma.so.5
#17 0x00007f47beb28027 in WidgetExplorer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () at /usr/lib64/qt5/qml/org/kde/plasma/private/shell/libplasmashellprivateplugin.so
#18 0x00007f47beb28c03 in WidgetExplorer::qt_metacall(QMetaObject::Call, int, void**) () at /usr/lib64/qt5/qml/org/kde/plasma/private/shell/libplasmashellprivateplugin.so
#19 0x00007f484bdafb25 in QQmlObjectOrGadget::metacall(QMetaObject::Call, int, void**) const () at /lib64/libQt5Qml.so.5
#20 0x00007f484bcb61cb in CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) () at /lib64/libQt5Qml.so.5
#21 0x00007f484bcb70d7 in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () at /lib64/libQt5Qml.so.5
#22 0x00007f484bcc6d81 in QV4::Moth::VME::interpret(QV4::CppStackFrame*, QV4::ExecutionEngine*, char const*) () at /lib64/libQt5Qml.so.5
#23 0x00007f484bcca725 in QV4::Moth::VME::exec(QV4::CppStackFrame*, QV4::ExecutionEngine*) [clone .part.0] () at /lib64/libQt5Qml.so.5
#24 0x00007f484bc6d58e in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () at /lib64/libQt5Qml.so.5
#25 0x00007f484bdc7291 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () at /lib64/libQt5Qml.so.5
#26 0x00007f484bd82351 in QQmlBoundSignalExpression::evaluate(void**) () at /lib64/libQt5Qml.so.5
#27 0x00007f484bd83d83 in QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) () at /lib64/libQt5Qml.so.5
#28 0x00007f484bda7435 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () at /lib64/libQt5Qml.so.5
#29 0x00007f484a88a2fa in void doActivate<false>(QObject*, int, void**) () at /lib64/libQt5Core.so.5
#30 0x00007f484c317e26 in QQuickMouseArea::doubleClicked(QQuickMouseEvent*) () at /lib64/libQt5Quick.so.5
#31 0x00007f484c31e075 in QQuickMouseArea::mouseDoubleClickEvent(QMouseEvent*) () at /lib64/libQt5Quick.so.5
#32 0x00007f484c2bb176 in QQuickItem::event(QEvent*) () at /lib64/libQt5Quick.so.5
#33 0x00007f484b4c8e73 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#34 0x00007f484a859f48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#35 0x00007f484c2c9255 in QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent*) () at /lib64/libQt5Quick.so.5
#36 0x00007f484c2c9be3 in QQuickWindowPrivate::deliverPointerEvent(QQuickPointerEvent*) () at /lib64/libQt5Quick.so.5
#37 0x00007f484ac9fed5 in QWindow::event(QEvent*) () at /lib64/libQt5Gui.so.5
#38 0x00007f484b4c8e73 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt5Widgets.so.5
#39 0x00007f484a859f48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt5Core.so.5
#40 0x00007f484ac94bb1 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () at /lib64/libQt5Gui.so.5
#41 0x00007f484ac764fc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Gui.so.5
#42 0x00007f48485ce864 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5WaylandClient.so.5
#43 0x00007f4848d2e4cf in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#44 0x00007f4848d824e8 in g_main_context_iterate.constprop () at /lib64/libglib-2.0.so.0
#45 0x00007f4848d2bc03 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#46 0x00007f484a8a66f8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#47 0x00007f484a8589b2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt5Core.so.5
#48 0x00007f484a860544 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#49 0x0000563092a00fd1 in main ()
[Inferior 1 (process 51687) detached]


In several other attempts, the widget was added to the panel without problems.

EXPECTED RESULT

The widget is added to the panel without crashing.

SOFTWARE/OS VERSIONS

Operating System: Fedora 34
KDE Plasma version: 5.21.4
KDE Frameworks Version: 5.80.0
Qt Version: 5.15.2
Kernel Version: 5.11.17-300.fc34.x86_64
OS Type: 64-bit
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 2700X Eight-Core Processor
Memory: 31,3 GiB of RAM
Graphics Processor: Radeon RX 580 Series

ADDITIONAL INFORMATION

These bugs might be related:
https://bugs.kde.org/show_bug.cgi?id=425607
https://bugs.kde.org/show_bug.cgi?id=435999
Comment 1 Nate Graham 2021-05-05 19:39:59 UTC
Using DBus wrong?

#7  0x00007f484963e010 in _dbus_warn_return_if_fail () at /lib64/libdbus-1.so.3
#8  0x00007f484b166d79 in QDBusConnectionPrivate::getNameOwnerNoCache(QString const&) () at /lib64/libQt5DBus.so.5
#9  0x00007f484b168d6b in QDBusConnectionPrivate::addSignalHook(QString const&, QDBusConnectionPrivate::SignalHook const&) () at /lib64/libQt5DBus.so.5
#10 0x00007f484b16a3d5 in QtPrivate::QSlotObject<bool (QDBusConnectionPrivate::*)(QString const&, QDBusConnectionPrivate::SignalHook const&), QtPrivate::List<QString const&, QDBusConnectionPrivate::SignalHook const&>, bool>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) () at
Comment 2 torokati44 2021-05-05 20:14:01 UTC
Judging by the sporadic nature of these crashes, and similar ones happening all over the place, that's my guess also.
I've read hints somewhere (in a QTBUG report IIRC) that this kind of error might be a result of concurrent access from multiple threads to a single QDBusConnection instance, which is not a thread-safe class.
I don't actually know if plasmashell could ever potentially do this, or if it even uses multiple threads at all.
Comment 3 David Edmundson 2021-05-06 14:56:00 UTC

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