Bug 1930440

Summary: System Settings on Wayland aborted when clearing history of activities with a failed dbus assertion
Product: [Fedora] Fedora Reporter: Matt Fagnani <matt.fagnani>
Component: plasma-systemsettingsAssignee: Rex Dieter <rdieter>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 34CC: jgrulich, kde-sig, me, rdieter, than
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-06-08 00:41:36 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Matt Fagnani 2021-02-18 21:41:56 UTC
Description of problem:

I was using Plasma 5.21.0 on Wayland in a Fedora 34 KDE Plasma installation with KF 5.79, Qt 5.15.2, Mesa 21.0.0-rc4. I started System Settings. I entered activities in the search bar and selected Activities in the left bar. I selected Privacy in the Activities screen. I had previously set Keep history: 1 month and Remember opened documents: Do not remember. I selected the Clear History box and Forget Everything. System Settings aborted with a failed dbus assertion 'arguments to dbus_message_new_method_call() were incorrect, assertion "_dbus_check_is_valid_path (path)" failed in file ../../dbus/dbus-message.c line 1366.' in _dbus_warn_check_failed at dbus-internals.c:281 in dbus-1.12.20-3.fc34.x86_64 as shown in the following journal output at the time of the crash.

Feb 18 13:00:16 systemd[4038]: Started System Settings - System Settings.
Feb 18 13:00:17 systemsettings5[6689]: kf.coreaddons: Two plugins with the same interface( QObject ) were registered. Use keywords to identify the plugins.
Feb 18 13:00:17 systemsettings5[6689]: kf.coreaddons: Two plugins with the same interface( QObject ) were registered. Use keywords to identify the plugins.
Feb 18 13:00:17 systemsettings5[6689]: kf.coreaddons: Two plugins with the same interface( QObject ) were registered. Use keywords to identify the plugins.
Feb 18 13:00:17 systemsettings5[6689]: file:///usr/share/kpackage/genericqml/org.kde.systemsettings.sidebar/contents/ui/SubCategoryPage.qml:157:9: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
Feb 18 13:00:17 systemsettings5[6689]: file:///usr/share/kpackage/genericqml/org.kde.systemsettings.sidebar/contents/ui/SubCategoryPage.qml:147:9: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
Feb 18 13:00:17 systemsettings5[6689]: file:///usr/share/kpackage/genericqml/org.kde.systemsettings.sidebar/contents/ui/introPage.qml:109:27: QML IntroIcon (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumHeight"
Feb 18 13:00:17 systemsettings5[6689]: qt.qpa.wayland: Wayland does not support QWindow::requestActivate()
Feb 18 13:00:26 systemsettings5[6689]: QQmlEngine::setContextForObject(): Object already has a QQmlContext
Feb 18 13:00:26 systemsettings5[6689]: QQmlEngine::setContextForObject(): Object already has a QQmlContext
Feb 18 13:00:41 plasmashell[6689]: dbus[6689]: arguments to dbus_message_new_method_call() were incorrect, assertion "_dbus_check_is_valid_path (path)" failed in file ../../dbus/dbus-message.c line 1366.
Feb 18 13:00:41 plasmashell[6689]: This is normally a bug in some application using the D-Bus library.
Feb 18 13:00:41 plasmashell[6689]:   D-Bus not built with -rdynamic so unable to print a backtrace
Feb 18 13:00:41 plasmashell[6689]: KCrash: Application 'systemsettings5' crashing...
Feb 18 13:00:41 plasmashell[6689]: KCrash: Attempting to start /usr/libexec/drkonqi

The trace showed the failed dbus assertion in frame 7. 

Application: System Settings (systemsettings5), signal: Aborted

[KCrash Handler]
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#5  0x00007fa382b2e8a4 in __GI_abort () at abort.c:79
#6  0x00007fa380c50b16 in _dbus_abort () at ../../dbus/dbus-sysdeps.c:93
#7  0x00007fa380c77010 in _dbus_warn_check_failed (format=0x7fa380c83b50 "arguments to %s() were incorrect, assertion \"%s\" failed in file %s line %d.\nThis is normally a bug in some application using the D-Bus library.\n") at ../../dbus/dbus-internals.c:281
#8  0x00007fa380c66ca2 in dbus_message_new_method_call (destination=0x5602927bf178 "org.kde.ActivityManager", path=0x56029240b4f8 "/ActivityManager/Resources / Scoring", iface=0x56029240b0b8 "org.freedesktop.DBus.Introspectable", method=0x560292d8e948 "Introspect") at ../../dbus/dbus-message.c:1366
#9  0x00007fa3820d3125 in q_dbus_message_new_method_call (method=0x560292d8e948 "Introspect", interface=0x56029240b0b8 "org.freedesktop.DBus.Introspectable", path=<optimized out>, bus_name=<optimized out>) at /usr/src/debug/qt5-qtbase-5.15.2-13.fc34.x86_64/src/dbus/qdbus_symbols_p.h:381
#10 QDBusMessagePrivate::toDBusMessage(QDBusMessage const&, QFlags<QDBusConnection::ConnectionCapability>, QDBusError*) (message=..., capabilities=..., error=error@entry=0x7ffedc1709e0) at qdbusmessage.cpp:139
#11 0x00007fa3820cc76f in QDBusConnectionPrivate::sendWithReplyAsync(QDBusMessage const&, QObject*, char const*, char const*, int) (this=this@entry=0x7fa368003c00, message=..., receiver=receiver@entry=0x0, returnMethod=returnMethod@entry=0x0, errorMethod=errorMethod@entry=0x0, timeout=timeout@entry=-602469664) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#12 0x00007fa3820cfa41 in QDBusConnectionPrivate::sendWithReply(QDBusMessage const&, int, int) (this=this@entry=0x7fa368003c00, message=..., sendMode=sendMode@entry=1, timeout=-602469664, timeout@entry=-1) at qdbusintegrator.cpp:2068
#13 0x00007fa3820cfdef in QDBusConnectionPrivate::findMetaObject(QString const&, QString const&, QString const&, QDBusError&) (this=0x7fa368003c00, service=..., path=..., interface=..., error=...) at qdbusintegrator.cpp:2594
#14 0x00007fa3820d95d7 in QDBusInterfacePrivate::QDBusInterfacePrivate(QString const&, QString const&, QString const&, QDBusConnection const&) (serv=<optimized out>, p=<optimized out>, iface=<optimized out>, con=<optimized out>, this=0x56029240db90) at qdbusinterface.cpp:156
#15 QDBusInterfacePrivate::QDBusInterfacePrivate(QString const&, QString const&, QString const&, QDBusConnection const&) (this=0x56029240db90, serv=<optimized out>, p=<optimized out>, iface=<optimized out>, con=<optimized out>) at qdbusinterface.cpp:150
#16 0x00007fa3820d96d9 in QDBusInterface::QDBusInterface(QString const&, QString const&, QString const&, QDBusConnection const&, QObject*) (this=this@entry=0x7ffedc170ce0, service=..., path=..., interface=..., connection=..., parent=parent@entry=0x0) at qdbusinterface.cpp:220
#17 0x00007fa32ff448ad in PrivacyTab::forget(int, QString const&) (this=0x560292900c70, count=count@entry=0, what=...) at /usr/src/debug/plasma-desktop-5.21.0-2.fc34.x86_64/kcms/activities/PrivacyTab.cpp:138
#18 0x00007fa32ff44aeb in PrivacyTab::forgetAll() (this=<optimized out>) at /usr/src/debug/plasma-desktop-5.21.0-2.fc34.x86_64/kcms/activities/PrivacyTab.cpp:162
#19 0x00007fa3831a74b0 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffedc170e70, r=<optimized out>, this=0x5602934fef10) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#20 doActivate<false>(QObject*, int, void**) (sender=0x5602934fecf0, signal_index=4, argv=0x7ffedc170e70) at kernel/qobject.cpp:3886
#21 0x00007fa3831a19e7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x5602934fecf0, m=m@entry=0x7fa384212260 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffedc170e70) at kernel/qobject.cpp:3946
#22 0x00007fa383d07686 in QAction::triggered(bool) (this=this@entry=0x5602934fecf0, _t1=<optimized out>) at .moc/moc_qaction.cpp:376
#23 0x00007fa383d09f70 in QAction::activate(QAction::ActionEvent) (this=this@entry=0x5602934fecf0, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1161
#24 0x00007fa383e87fea in QMenuPrivate::activateCausedStack(QVector<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) (this=this@entry=0x5602929bffd0, causedStack=..., action=action@entry=0x5602934fecf0, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1384
#25 0x00007fa383e8f612 in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (this=0x5602929bffd0, action=0x5602934fecf0, action_e=QAction::Trigger, self=<optimized out>) at widgets/qmenu.cpp:1461
#26 0x00007fa383d4e85e in QWidget::event(QEvent*) (this=0x56029290d5d0, event=0x7ffedc171500) at kernel/qwidget.cpp:9019
#27 0x00007fa383d0de73 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x5602919c0650, receiver=receiver@entry=0x56029290d5d0, e=e@entry=0x7ffedc171500) at kernel/qapplication.cpp:3632
#28 0x00007fa383d155ad in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x7ffedc171200, e=0x7ffedc171500) at kernel/qapplication.cpp:3076
#29 0x00007fa383176f48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x56029290d5d0, event=0x7ffedc171500) at kernel/qcoreapplication.cpp:1063
#30 0x00007fa383d13e6a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) (receiver=0x56029290d5d0, event=event@entry=0x7ffedc171500, alienWidget=0x0, nativeWidget=0x56029290d5d0, buttonDown=buttonDown@entry=0x7fa38424a330 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#31 0x00007fa383d673a0 in QWidgetWindow::handleMouseEvent(QMouseEvent*) (this=0x56029240b710, event=0x7ffedc1717b0) at kernel/qwidgetwindow.cpp:580
#32 0x00007fa383d6a1fe in QWidgetWindow::event(QEvent*) (this=0x56029240b710, event=0x7ffedc1717b0) at kernel/qwidgetwindow.cpp:300
#33 0x00007fa383d0de73 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x56029240b710, e=0x7ffedc1717b0) at kernel/qapplication.cpp:3632
#34 0x00007fa383176f48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x56029240b710, event=0x7ffedc1717b0) at kernel/qcoreapplication.cpp:1063
#35 0x00007fa3836b7ad8 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x560293016780) at kernel/qguiapplication.cpp:2275
#36 0x00007fa3836995cc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=...) at kernel/qwindowsysteminterface.cpp:1169
#37 0x00007fa380dee014 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5WaylandClient.so.5
#38 0x00007fa380ed50bf in g_main_dispatch (context=0x5602919c2d50) at ../glib/gmain.c:3337
#39 g_main_context_dispatch (context=0x5602919c2d50) at ../glib/gmain.c:4055
#40 0x00007fa380f28358 in g_main_context_iterate.constprop.0 (context=context@entry=0x5602919c2d50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4131
#41 0x00007fa380ed29b3 in g_main_context_iteration (context=0x5602919c2d50, may_block=1) at ../glib/gmain.c:4196
#42 0x00007fa3831c36f8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5602919ed4d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#43 0x00007fa3831759b2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffedc171af0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#44 0x00007fa383e8d035 in QMenuPrivate::exec(QPoint const&, QAction*, std::function<QPoint (QSize const&)>) (this=0x5602929bffd0, p=..., action=action@entry=0x0, positionFunction=...) at widgets/qmenu.cpp:2699
#45 0x00007fa383e8d1a3 in QMenu::exec(QPoint const&, QAction*) (this=<optimized out>, p=..., action=action@entry=0x0) at widgets/qmenu.cpp:2686
#46 0x00007fa383e9edca in QPushButtonPrivate::_q_popupPressed() (this=0x56029340ee00) at widgets/qpushbutton.cpp:600
#47 0x00007fa3831a74fd in doActivate<false>(QObject*, int, void**) (sender=0x560292944c00, signal_index=7, argv=0x7ffedc171cf0) at kernel/qobject.cpp:3898
#48 0x00007fa3831a19e7 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=sender@entry=0x560292944c00, m=m@entry=0x7fa3842176a0 <QAbstractButton::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#49 0x00007fa383dfc844 in QAbstractButton::pressed() (this=this@entry=0x560292944c00) at .moc/moc_qabstractbutton.cpp:295
#50 0x00007fa383dfd3c8 in QAbstractButtonPrivate::emitPressed() (this=this@entry=0x56029340ee00) at widgets/qabstractbutton.cpp:437
#51 0x00007fa383dfd6f5 in QAbstractButton::mousePressEvent(QMouseEvent*) (this=0x560292944c00, e=0x7ffedc1722c0) at widgets/qabstractbutton.cpp:1016
#52 0x00007fa383d4e85e in QWidget::event(QEvent*) (this=0x560292944c00, event=0x7ffedc1722c0) at kernel/qwidget.cpp:9019
#53 0x00007fa383d0de73 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=this@entry=0x5602919c0650, receiver=receiver@entry=0x560292944c00, e=e@entry=0x7ffedc1722c0) at kernel/qapplication.cpp:3632
#54 0x00007fa383d155ad in QApplication::notify(QObject*, QEvent*) (this=<optimized out>, receiver=0x7ffedc171fc0, e=0x7ffedc1722c0) at kernel/qapplication.cpp:3076
#55 0x00007fa383176f48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x560292944c00, event=0x7ffedc1722c0) at kernel/qcoreapplication.cpp:1063
#56 0x00007fa383d13e6a in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) (receiver=receiver@entry=0x560292944c00, event=event@entry=0x7ffedc1722c0, alienWidget=alienWidget@entry=0x560292944c00, nativeWidget=0x560291bbac70, buttonDown=buttonDown@entry=0x7fa38424a330 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#57 0x00007fa383d66e05 in QWidgetWindow::handleMouseEvent(QMouseEvent*) (this=0x560291b627a0, event=0x7ffedc172570) at kernel/qwidgetwindow.cpp:683
#58 0x00007fa383d6a1fe in QWidgetWindow::event(QEvent*) (this=0x560291b627a0, event=0x7ffedc172570) at kernel/qwidgetwindow.cpp:300
#59 0x00007fa383d0de73 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x560291b627a0, e=0x7ffedc172570) at kernel/qapplication.cpp:3632
#60 0x00007fa383176f48 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x560291b627a0, event=0x7ffedc172570) at kernel/qcoreapplication.cpp:1063
#61 0x00007fa3836b7ad8 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) (e=0x560292411850) at kernel/qguiapplication.cpp:2275
#62 0x00007fa3836995cc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) (flags=...) at kernel/qwindowsysteminterface.cpp:1169
#63 0x00007fa380dee014 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt5WaylandClient.so.5
#64 0x00007fa380ed50bf in g_main_dispatch (context=0x5602919c2d50) at ../glib/gmain.c:3337
#65 g_main_context_dispatch (context=0x5602919c2d50) at ../glib/gmain.c:4055
#66 0x00007fa380f28358 in g_main_context_iterate.constprop.0 (context=context@entry=0x5602919c2d50, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4131
#67 0x00007fa380ed29b3 in g_main_context_iteration (context=0x5602919c2d50, may_block=1) at ../glib/gmain.c:4196
#68 0x00007fa3831c36f8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5602919ed4d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#69 0x00007fa3831759b2 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffedc1728a0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#70 0x00007fa38317d544 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#71 0x000056028ffa1d4c in main ()
[Inferior 1 (process 6689) detached]

The same type of crash happened when I ran System Settings on X with QT_QPA_PLATFORM=xcb systemsettings5 & So the problem isn't specific to Wayland.

Version-Release number of selected component (if applicable):
plasma-systemsettings-5.21.0-1.fc34.x86_64
qt5-qtwayland-5.15.2-4.fc34.x86_64
kf5-plasma-5.79.0-2.fc34.x86_64
dbus-broker-26-2.fc34.x86_64
dbus-1.12.20-3.fc34.x86_64

How reproducible:
The crash happened 5 of 5 times I tried to clear the history of activities as above.

Steps to Reproduce:
1. Boot a Fedora 34 KDE Plasma installation updated to 2021-2-19.
2. Log in to Plasma 5.21.0 on Wayland
3. Start System Settings 
4. search for Activities in the search box. 
5. select Activities in the side bar
6. select Privacy in the Activities screen. 
7. set Keep history: 1 month 
8. set Remember opened documents: Do not remember. 
9. select the Clear History box 
10. select Forget Everything

Actual results:
System Settings on Wayland aborted when clearing history of activities with a failed dbus assertion

Expected results:
No crash would happen.

Additional info:
drkonqi crashed twice when I tried to report this problem when entering a description. The system is using dbus-broker-26-2.fc34. dbus-1.12.20-3.fc34 is also installed. I reported this problem at https://bugs.kde.org/show_bug.cgi?id=433192

Comment 1 Matt Fagnani 2021-02-20 03:16:19 UTC
David Edmundson wrote a patch for this problem as described at https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/360 
https://bugs.kde.org/show_bug.cgi?id=433203

Comment 2 Ben Cotton 2022-05-12 16:25:23 UTC
This message is a reminder that Fedora Linux 34 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 34 on 2022-06-07.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '34'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 34 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 3 Ben Cotton 2022-06-08 00:41:36 UTC
Fedora Linux 34 entered end-of-life (EOL) status on 2022-06-07.

Fedora Linux 34 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release.

Thank you for reporting this bug and we are sorry it could not be fixed.