Bug 433203

Summary: System Settings crashed after trying to clear history from the privacy tab in activities.
Product: [Applications] systemsettings Reporter: jas3212000
Component: kcm_activitiesAssignee: Ivan Čukić <ivan.cukic>
Status: RESOLVED FIXED    
Severity: crash CC: kde, lv215bd5, matt.fagnani, nate, nxiss7, plasma-bugs, rdieter, samiksome92
Priority: VHI Keywords: drkonqi, regression
Version: 5.21.0   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 5.21.2
Sentry Crash Report:
Attachments: bug happening
New crash information added by DrKonqi

Description jas3212000 2021-02-18 21:37:36 UTC
Application: systemsettings5 (5.21.0)

Qt Version: 5.15.2
Frameworks Version: 5.79.0
Operating System: Linux 5.10.16-1-default x86_64
Windowing System: X11
Drkonqi Version: 5.21.0
Distribution: "openSUSE Tumbleweed"

-- Information about the crash:
I was trying to clear the history by going to system settings and clicking on Workspace Behaviour and then going to Activities then selecting the Privacy tab and clicking the Clear History button(Forget everything).

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings (systemsettings5), signal: Aborted

[KCrash Handler]
#4  0x00007fb870d1d495 in raise () from /lib64/libc.so.6
#5  0x00007fb870d06864 in abort () from /lib64/libc.so.6
#6  0x00007fb86ed13d66 in _dbus_abort () at dbus-sysdeps.c:93
#7  0x00007fb86ed392c0 in _dbus_warn_check_failed (format=0x7fb86ed46c50 "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-internals.c:281
#8  0x00007fb86ed298f2 in dbus_message_new_method_call (destination=0x55b699ba32e8 "org.kde.ActivityManager", path=0x55b693c069f8 "/ActivityManager/Resources / Scoring", iface=iface@entry=0x7fb86400d008 "org.freedesktop.DBus.Introspectable", method=method@entry=0x55b693cdc538 "Introspect") at dbus-message.c:1366
#9  0x00007fb870217758 in q_dbus_message_new_method_call (method=0x55b693cdc538 "Introspect", interface=0x7fb86400d008 "org.freedesktop.DBus.Introspectable", path=<optimized out>, bus_name=<optimized out>) at qdbus_symbols_p.h:381
#10 QDBusMessagePrivate::toDBusMessage (message=..., capabilities=..., error=error@entry=0x7ffcd0f7f550) at qdbusmessage.cpp:139
#11 0x00007fb870210e2b in QDBusConnectionPrivate::sendWithReplyAsync (this=this@entry=0x7fb85c003a00, message=..., receiver=receiver@entry=0x0, returnMethod=returnMethod@entry=0x0, errorMethod=errorMethod@entry=0x0, timeout=timeout@entry=-789055920) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#12 0x00007fb87021412d in QDBusConnectionPrivate::sendWithReply (this=this@entry=0x7fb85c003a00, message=..., sendMode=sendMode@entry=1, timeout=-789055920, timeout@entry=-1) at qdbusintegrator.cpp:2068
#13 0x00007fb8702144db in QDBusConnectionPrivate::findMetaObject (this=0x7fb85c003a00, service=..., path=..., interface=..., error=...) at qdbusintegrator.cpp:2594
#14 0x00007fb87021d928 in QDBusInterfacePrivate::QDBusInterfacePrivate (this=this@entry=0x55b69b29e2e0, con=..., iface=..., p=..., serv=...) at qdbusconnection_p.h:367
#15 0x00007fb87021dbd8 in QDBusInterfacePrivate::QDBusInterfacePrivate (con=..., iface=..., p=..., serv=..., this=0x55b69b29e2e0) at qdbusinterface.cpp:223
#16 QDBusInterface::QDBusInterface (this=this@entry=0x7ffcd0f7f850, service=..., path=..., interface=..., connection=..., parent=parent@entry=0x0) at qdbusinterface.cpp:220
#17 0x00007fb82914db0d in PrivacyTab::forget (this=0x55b696cfa2c0, count=count@entry=0, what=...) at /usr/src/debug/plasma5-desktop-5.21.0-1.1.x86_64/kcms/activities/PrivacyTab.cpp:138
#18 0x00007fb82914dd47 in PrivacyTab::forgetAll (this=<optimized out>) at /usr/src/debug/plasma5-desktop-5.21.0-1.1.x86_64/kcms/activities/PrivacyTab.cpp:162
#19 0x00007fb8713d7946 in QtPrivate::QSlotObjectBase::call (a=0x7ffcd0f7f9f0, r=0x55b696cfa2c0, this=0x55b693d20930) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#20 doActivate<false> (sender=0x55b693d20b20, signal_index=4, argv=argv@entry=0x7ffcd0f7f9f0) at kernel/qobject.cpp:3886
#21 0x00007fb8713d0c60 in QMetaObject::activate (sender=sender@entry=0x55b693d20b20, m=m@entry=0x7fb8725390a0, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffcd0f7f9f0) at kernel/qobject.cpp:3946
#22 0x00007fb87203bf02 in QAction::triggered (this=this@entry=0x55b693d20b20, _t1=<optimized out>) at .moc/moc_qaction.cpp:376
#23 0x00007fb87203e741 in QAction::activate (this=this@entry=0x55b693d20b20, event=event@entry=QAction::Trigger) at kernel/qaction.cpp:1161
#24 0x00007fb8721b8a9a in QMenuPrivate::activateCausedStack (this=this@entry=0x7fb85c028340, causedStack=..., action=action@entry=0x55b693d20b20, action_e=action_e@entry=QAction::Trigger, self=self@entry=true) at widgets/qmenu.cpp:1384
#25 0x00007fb8721c01d2 in QMenuPrivate::activateAction (this=0x7fb85c028340, action=0x55b693d20b20, action_e=QAction::Trigger, self=<optimized out>) at widgets/qmenu.cpp:1461
#26 0x00007fb87208234e in QWidget::event (this=0x55b693c437d0, event=0x7ffcd0f80070) at kernel/qwidget.cpp:9019
#27 0x00007fb8720424ff in QApplicationPrivate::notify_helper (this=this@entry=0x55b692e12830, receiver=receiver@entry=0x55b693c437d0, e=e@entry=0x7ffcd0f80070) at kernel/qapplication.cpp:3632
#28 0x00007fb8720493eb in QApplication::notify (this=0x7ffcd0f7fd70, receiver=0x55b693c437d0, e=0x7ffcd0f80070) at kernel/qapplication.cpp:3076
#29 0x00007fb8713a132a in QCoreApplication::notifyInternal2 (receiver=0x55b693c437d0, event=0x7ffcd0f80070) at kernel/qcoreapplication.cpp:1063
#30 0x00007fb872048416 in QApplicationPrivate::sendMouseEvent (receiver=0x55b693c437d0, event=event@entry=0x7ffcd0f80070, alienWidget=0x0, nativeWidget=0x55b693c437d0, buttonDown=buttonDown@entry=0x7fb872570670 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#31 0x00007fb87209a923 in QWidgetWindow::handleMouseEvent (this=0x55b693de88f0, event=0x7ffcd0f80330) at kernel/qwidgetwindow.cpp:580
#32 0x00007fb87209d8be in QWidgetWindow::event (this=0x55b693de88f0, event=0x7ffcd0f80330) at kernel/qwidgetwindow.cpp:300
#33 0x00007fb8720424ff in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55b693de88f0, e=0x7ffcd0f80330) at kernel/qapplication.cpp:3632
#34 0x00007fb8713a132a in QCoreApplication::notifyInternal2 (receiver=0x55b693de88f0, event=0x7ffcd0f80330) at kernel/qcoreapplication.cpp:1063
#35 0x00007fb8718fdd03 in QGuiApplicationPrivate::processMouseEvent (e=0x7fb85c02d160) at kernel/qguiapplication.cpp:2282
#36 0x00007fb8718d3c5c in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#37 0x00007fb86c520faa in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#38 0x00007fb86ef82f27 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#39 0x00007fb86ef832a8 in ?? () from /usr/lib64/libglib-2.0.so.0
#40 0x00007fb86ef8335f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#41 0x00007fb8713f88bf in QEventDispatcherGlib::processEvents (this=0x55b692ee7540, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#42 0x00007fb87139fceb in QEventLoop::exec (this=this@entry=0x7ffcd0f80670, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#43 0x00007fb8721bdbfc in QMenuPrivate::exec(QPoint const&, QAction*, std::function<QPoint (QSize const&)>) (this=0x7fb85c028340, p=..., action=action@entry=0x0, positionFunction=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#44 0x00007fb8721bdd2f in QMenu::exec (this=<optimized out>, p=..., action=action@entry=0x0) at widgets/qmenu.cpp:2685
#45 0x00007fb8721cf1da in QPushButtonPrivate::_q_popupPressed (this=0x55b693649410) at widgets/qpushbutton.cpp:600
#46 0x00007fb8713d7980 in doActivate<false> (sender=0x55b6936493d0, signal_index=7, argv=0x7ffcd0f80880, argv@entry=0x0) at kernel/qobject.cpp:3898
#47 0x00007fb8713d0c60 in QMetaObject::activate (sender=sender@entry=0x55b6936493d0, m=m@entry=0x7fb87253e4e0, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x0) at kernel/qobject.cpp:3946
#48 0x00007fb87212f370 in QAbstractButton::pressed (this=this@entry=0x55b6936493d0) at .moc/moc_qabstractbutton.cpp:295
#49 0x00007fb87212fe4d in QAbstractButtonPrivate::emitPressed (this=this@entry=0x55b693649410) at widgets/qabstractbutton.cpp:437
#50 0x00007fb872130126 in QAbstractButton::mousePressEvent (this=0x55b6936493d0, e=0x7ffcd0f80e30) at widgets/qabstractbutton.cpp:1016
#51 0x00007fb87208234e in QWidget::event (this=0x55b6936493d0, event=0x7ffcd0f80e30) at kernel/qwidget.cpp:9019
#52 0x00007fb8720424ff in QApplicationPrivate::notify_helper (this=this@entry=0x55b692e12830, receiver=receiver@entry=0x55b6936493d0, e=e@entry=0x7ffcd0f80e30) at kernel/qapplication.cpp:3632
#53 0x00007fb8720493eb in QApplication::notify (this=0x7ffcd0f80b30, receiver=0x55b6936493d0, e=0x7ffcd0f80e30) at kernel/qapplication.cpp:3076
#54 0x00007fb8713a132a in QCoreApplication::notifyInternal2 (receiver=0x55b6936493d0, event=0x7ffcd0f80e30) at kernel/qcoreapplication.cpp:1063
#55 0x00007fb872048416 in QApplicationPrivate::sendMouseEvent (receiver=receiver@entry=0x55b6936493d0, event=event@entry=0x7ffcd0f80e30, alienWidget=alienWidget@entry=0x55b6936493d0, nativeWidget=0x55b6930ea9c0, buttonDown=buttonDown@entry=0x7fb872570670 <qt_button_down>, lastMouseReceiver=..., spontaneous=true, onlyDispatchEnterLeave=false) at kernel/qapplication.cpp:2614
#56 0x00007fb87209a3b1 in QWidgetWindow::handleMouseEvent (this=0x55b693236570, event=0x7ffcd0f810f0) at kernel/qwidgetwindow.cpp:683
#57 0x00007fb87209d8be in QWidgetWindow::event (this=0x55b693236570, event=0x7ffcd0f810f0) at kernel/qwidgetwindow.cpp:300
#58 0x00007fb8720424ff in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55b693236570, e=0x7ffcd0f810f0) at kernel/qapplication.cpp:3632
#59 0x00007fb8713a132a in QCoreApplication::notifyInternal2 (receiver=0x55b693236570, event=0x7ffcd0f810f0) at kernel/qcoreapplication.cpp:1063
#60 0x00007fb8718fdd03 in QGuiApplicationPrivate::processMouseEvent (e=0x55b69b29de10) at kernel/qguiapplication.cpp:2282
#61 0x00007fb8718d3c5c in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1169
#62 0x00007fb86c520faa in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#63 0x00007fb86ef82f27 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#64 0x00007fb86ef832a8 in ?? () from /usr/lib64/libglib-2.0.so.0
#65 0x00007fb86ef8335f in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#66 0x00007fb8713f88bf in QEventDispatcherGlib::processEvents (this=0x55b692ee7540, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#67 0x00007fb87139fceb in QEventLoop::exec (this=this@entry=0x7ffcd0f81420, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#68 0x00007fb8713a7f60 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#69 0x00007fb8718f135c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#70 0x00007fb872042475 in QApplication::exec () at kernel/qapplication.cpp:2824
#71 0x000055b6921394da in main (argc=<optimized out>, argv=0x7ffcd0f81540) at /usr/src/debug/systemsettings5-5.21.0-1.1.x86_64/app/main.cpp:222
[Inferior 1 (process 3043) detached]

Possible duplicates by query: bug 318247, bug 316358, bug 314209, bug 310060, bug 309485.

Reported using DrKonqi
Comment 1 Lua 2021-02-19 17:20:36 UTC
Created attachment 135910 [details]
bug happening
Comment 2 Lua 2021-02-19 17:21:39 UTC
Same happens to me:

Operating System: KDE neon 5.21
KDE Plasma Version: 5.21.0
KDE Frameworks Version: 5.79.0
Qt Version: 5.15.2

I attached a video.
Comment 3 Lua 2021-02-19 17:23:10 UTC
*** Bug 433261 has been marked as a duplicate of this bug. ***
Comment 4 Nate Graham 2021-02-19 18:53:50 UTC
Apparently we're using DBus wrong:


#7  0x00007fb86ed392c0 in _dbus_warn_check_failed (format=0x7fb86ed46c50 "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-internals.c:281
#8  0x00007fb86ed298f2 in dbus_message_new_method_call (destination=0x55b699ba32e8 "org.kde.ActivityManager", path=0x55b693c069f8 "/ActivityManager/Resources / Scoring", iface=iface@entry=0x7fb86400d008 "org.freedesktop.DBus.Introspectable", method=method@entry=0x55b693cdc538 "Introspect") at dbus-message.c:1366
Comment 5 Nate Graham 2021-02-19 18:58:30 UTC
*** Bug 433192 has been marked as a duplicate of this bug. ***
Comment 6 David Edmundson 2021-02-19 22:20:26 UTC
/ActivityManager/Resources / Scoring"


And there we can see exaclty what we're doing wrong.

Will fix.
Comment 7 Bug Janitor Service 2021-02-19 22:58:55 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/360
Comment 8 Samik Some 2021-02-20 09:35:06 UTC
Created attachment 135951 [details]
New crash information added by DrKonqi

systemsettings5 (5.21.0) using Qt 5.15.2

- What I was doing when the application crashed:

Trying to clear history via Settings->Workspace Behaviour->Activities->Privacy->Clear History crashes System Settings every time.

-- Backtrace (Reduced):
#4  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#5  0x00007fead1f23859 in __GI_abort () at abort.c:79
[...]
#7  0x00007fead001d570 in _dbus_warn_check_failed () from /lib/x86_64-linux-gnu/libdbus-1.so.3
#8  0x00007fead000cde2 in dbus_message_new_method_call () from /lib/x86_64-linux-gnu/libdbus-1.so.3
#9  0x00007fead1417047 in q_dbus_message_new_method_call (method=0x55d6283beaa8 "Introspect", interface=0x7feac800d868 "org.freedesktop.DBus.Introspectable", path=0x7feac800d2c8 "/ActivityManager/Resources / Scoring", bus_name=<optimized out>) at qdbus_symbols_p.h:381
Comment 9 David Edmundson 2021-02-24 09:35:50 UTC
Git commit 8e45efdc9dd410bdca4ddd795b5e403c14d5dc56 by David Edmundson.
Committed on 24/02/2021 at 09:35.
Pushed by davidedmundson into branch 'master'.

[kcms/activities] Fixup DBus path usage

In a code cleanup the path name got corrupted. The use of macros
obfuscates what can be done with a simple string. This code takes it
back to what's helpful.

Whilst we're at it, ResourceScoring was using QDBusInterface and string
based method names. This means syncrononous calls, and also can get
easily broken in future porting, so this is switched to using the
generated interface.

M  +8    -0    kcms/activities/CMakeLists.txt
M  +1    -1    kcms/activities/ExtraActivitiesInterface.cpp
M  +5    -3    kcms/activities/PrivacyTab.cpp
M  +5    -14   kcms/activities/common/dbus/common.h
A  +41   -0    kcms/activities/common/dbus/org.kde.ActivityManager.ResourceScoring.xml
M  +1    -1    kcms/activities/imports/dialog.cpp

https://invent.kde.org/plasma/plasma-desktop/commit/8e45efdc9dd410bdca4ddd795b5e403c14d5dc56
Comment 10 David Edmundson 2021-02-24 09:36:07 UTC
Git commit 6273f0ba5926d775a8db057e7ea1e0d2c8f17f06 by David Edmundson.
Committed on 24/02/2021 at 09:36.
Pushed by davidedmundson into branch 'Plasma/5.21'.

[kcms/activities] Fixup DBus path usage

In a code cleanup the path name got corrupted. The use of macros
obfuscates what can be done with a simple string. This code takes it
back to what's helpful.

Whilst we're at it, ResourceScoring was using QDBusInterface and string
based method names. This means syncrononous calls, and also can get
easily broken in future porting, so this is switched to using the
generated interface.


(cherry picked from commit 8e45efdc9dd410bdca4ddd795b5e403c14d5dc56)

M  +8    -0    kcms/activities/CMakeLists.txt
M  +1    -1    kcms/activities/ExtraActivitiesInterface.cpp
M  +5    -3    kcms/activities/PrivacyTab.cpp
M  +5    -14   kcms/activities/common/dbus/common.h
A  +41   -0    kcms/activities/common/dbus/org.kde.ActivityManager.ResourceScoring.xml
M  +1    -1    kcms/activities/imports/dialog.cpp

https://invent.kde.org/plasma/plasma-desktop/commit/6273f0ba5926d775a8db057e7ea1e0d2c8f17f06
Comment 11 Nate Graham 2021-03-02 18:49:47 UTC
*** Bug 433721 has been marked as a duplicate of this bug. ***