https://bugs.kde.org/show_bug.cgi?id=433192

            Bug ID: 433192
           Summary: System Settings on Wayland aborted when clearing
                    history of activities with a failed dbus assertion
           Product: systemsettings
           Version: 5.21.0
          Platform: Fedora RPMs
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: kcm_activities
          Assignee: ivan.cu...@kde.org
          Reporter: matthew.fagn...@utoronto.ca
                CC: plasma-b...@kde.org
  Target Milestone: ---

SUMMARY

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.' 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 crash happened 3 of 3 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

OBSERVED RESULT
System Settings on Wayland aborted when clearing history of activities with a
failed dbus assertion

EXPECTED RESULT
No crash would happen.

SOFTWARE/OS VERSIONS 
Linux/KDE Plasma: Fedora 34
(available in About System)
KDE Plasma Version: 5.21.0
KDE Frameworks Version: 5.79.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION
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.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to