Application: systemsettings (5.27.4) (Compiled from sources) Qt Version: 5.15.9 Frameworks Version: 5.105.0 Operating System: Linux 5.19.0-40-generic x86_64 Windowing System: X11 Distribution: KDE neon 5.27 DrKonqi: 5.27.4 [KCrashBackend] -- Information about the crash: A ja nela abre, mas nenhuma configuração pode ser clicada. Ao clicar numa opção a aplicação fecha completamente. The reporter is unsure if this crash is reproducible. -- Backtrace: Application: Configurações do sistema (systemsettings), signal: Segmentation fault [KCrash Handler] #4 0x0000000000000000 in ?? () #5 0x00007f9b4665377b in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 #6 0x00007f9b466537ed in ?? () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 #7 0x00007f9b467df2f7 in QAccessibleQuickItem::role() const () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 #8 0x00007f9b4257387a in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #9 0x00007f9b425765f8 in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #10 0x00007f9b42577e22 in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #11 0x00007f9b46661dbb in QQuickItemPrivate::setEffectiveVisibleRecur(bool) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 #12 0x00007f9b46669686 in QQuickItem::setParentItem(QQuickItem*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 #13 0x00007f9b46669bd1 in QQuickItem::~QQuickItem() () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 #14 0x00007f9b30172609 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/qml/QtQuick/Templates.2/libqtquicktemplates2plugin.so #15 0x00007f9b471a14ba in KDeclarative::QmlObject::~QmlObject() () from /lib/x86_64-linux-gnu/libKF5Declarative.so.5 #16 0x00007f9b471a222d in KDeclarative::QmlObjectSharedEngine::~QmlObjectSharedEngine() () from /lib/x86_64-linux-gnu/libKF5Declarative.so.5 #17 0x00007f9b471b69b2 in KQuickAddons::ConfigModule::~ConfigModule() () from /lib/x86_64-linux-gnu/libKF5QuickAddons.so.5 #18 0x00007f9b300a0b67 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/plasma/kcms/systemsettings/kcm_landingpage.so #19 0x00007f9b48fc85c7 in ?? () from /lib/x86_64-linux-gnu/libKF5KCMUtils.so.5 #20 0x00007f9b48fc85ed in ?? () from /lib/x86_64-linux-gnu/libKF5KCMUtils.so.5 #21 0x00007f9b48fcd998 in KCModuleProxy::deleteClient() () from /lib/x86_64-linux-gnu/libKF5KCMUtils.so.5 #22 0x00007f9b48fce353 in KCModuleProxy::~KCModuleProxy() () from /lib/x86_64-linux-gnu/libKF5KCMUtils.so.5 #23 0x00007f9b48fce52d in KCModuleProxy::~KCModuleProxy() () from /lib/x86_64-linux-gnu/libKF5KCMUtils.so.5 #24 0x00007f9b484e722e in QObjectPrivate::deleteChildren() () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #25 0x00007f9b491ab056 in QWidget::~QWidget() () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #26 0x00007f9b491ab3ad in QWidget::~QWidget() () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #27 0x00007f9b484e722e in QObjectPrivate::deleteChildren() () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #28 0x00007f9b491ab056 in QWidget::~QWidget() () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #29 0x00007f9b4931267d in QScrollArea::~QScrollArea() () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #30 0x00007f9b49a32968 in KPageWidgetItem::~KPageWidgetItem() () from /lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5 #31 0x00007f9b49a34519 in ?? () from /lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5 #32 0x00007f9b49a37a61 in KPageWidgetModel::removePage(KPageWidgetItem*) () from /lib/x86_64-linux-gnu/libKF5WidgetsAddons.so.5 #33 0x00007f9b49f06995 in ModuleView::closeModules() () from /lib/x86_64-linux-gnu/libsystemsettingsview.so.3 #34 0x00007f9b38d86ed6 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/systemsettingsview/systemsettings_sidebar_mode.so #35 0x00007f9b38d89c51 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/systemsettingsview/systemsettings_sidebar_mode.so #36 0x00007f9b38d8a593 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/systemsettingsview/systemsettings_sidebar_mode.so #37 0x00007f9b460d0755 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5 #38 0x00007f9b45faaa16 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5 #39 0x00007f9b45fac8da in QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const () from /lib/x86_64-linux-gnu/libQt5Qml.so.5 #40 0x00007f9b45fc9f23 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5 #41 0x00007f9b45fccc2f in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5 #42 0x00007f9b45f5eb0e in QV4::Function::call(QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext const*) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5 #43 0x00007f9b460eb595 in QQmlJavaScriptExpression::evaluate(QV4::CallData*, bool*) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5 #44 0x00007f9b4609bfcb in QQmlBoundSignalExpression::evaluate(void**) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5 #45 0x00007f9b4609d708 in ?? () from /lib/x86_64-linux-gnu/libQt5Qml.so.5 #46 0x00007f9b460d01f5 in QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) () from /lib/x86_64-linux-gnu/libQt5Qml.so.5 #47 0x00007f9b484f3d6b in ?? () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #48 0x00007f9b43584d91 in QQuickAbstractButtonPrivate::handleRelease(QPointF const&) () from /lib/x86_64-linux-gnu/libQt5QuickTemplates2.so.5 #49 0x00007f9b435a4571 in QQuickControl::mouseReleaseEvent(QMouseEvent*) () from /lib/x86_64-linux-gnu/libQt5QuickTemplates2.so.5 #50 0x00007f9b4666cf88 in QQuickItem::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 #51 0x00007f9b4916c793 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #52 0x00007f9b484bc18a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #53 0x00007f9b46688985 in QQuickWindowPrivate::deliverMouseEvent(QQuickPointerMouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 #54 0x00007f9b4668a033 in QQuickWindowPrivate::deliverPointerEvent(QQuickPointerEvent*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 #55 0x00007f9b4668b23d in QQuickWindowPrivate::handleMouseEvent(QMouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 #56 0x00007f9b4894ec15 in QWindow::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #57 0x00007f9b4916c793 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #58 0x00007f9b484bc18a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #59 0x00007f9b471d82db in QQuickWidget::mouseReleaseEvent(QMouseEvent*) () from /lib/x86_64-linux-gnu/libQt5QuickWidgets.so.5 #60 0x00007f9b491af97e in QWidget::event(QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #61 0x00007f9b4916c793 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #62 0x00007f9b491743d4 in QApplication::notify(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #63 0x00007f9b484bc18a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #64 0x00007f9b49172eb7 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #65 0x00007f9b491c91fb in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #66 0x00007f9b491cc555 in ?? () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #67 0x00007f9b4916c793 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Widgets.so.5 #68 0x00007f9b484bc18a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #69 0x00007f9b48942ae7 in QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #70 0x00007f9b48916acc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Gui.so.5 #71 0x00007f9b424f3dee in ?? () from /lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 #72 0x00007f9b46a51d3b in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #73 0x00007f9b46aa66c8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #74 0x00007f9b46a4f3e3 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #75 0x00007f9b48515be8 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #76 0x00007f9b484baaab in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #77 0x00007f9b484c3044 in QCoreApplication::exec() () from /lib/x86_64-linux-gnu/libQt5Core.so.5 #78 0x00005557458f2616 in ?? () #79 0x00007f9b47a29d90 in __libc_start_call_main (main=main@entry=0x5557458f1ac0, argc=argc@entry=1, argv=argv@entry=0x7fffad45fb08) at ../sysdeps/nptl/libc_start_call_main.h:58 #80 0x00007f9b47a29e40 in __libc_start_main_impl (main=0x5557458f1ac0, argc=1, argv=0x7fffad45fb08, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffad45faf8) at ../csu/libc-start.c:392 #81 0x00005557458f2fa5 in ?? () [Inferior 1 (process 4673) detached] Reported using DrKonqi
Thank you for the bug report! Unfortunately I can't reproduce the crash myself on current git master, and the backtrace is incomplete and missing debug symbols for the following lines that we need to figure out exactly what's going wrong: > #18 0x00007f9b300a0b67 in ?? () from /usr/lib/x86_64-linux-gnu/qt5/plugins/plasma/kcms/systemsettings/kcm_landingpage.so > #19 0x00007f9b48fc85c7 in ?? () from /lib/x86_64-linux-gnu/libKF5KCMUtils.so.5 > #20 0x00007f9b48fc85ed in ?? () from /lib/x86_64-linux-gnu/libKF5KCMUtils.so.5 Could you please install debug symbols for Plasma, reproduce the crash, and attach a new symbolicated backtrace? See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports for details about how to do this. Thanks again!
Created attachment 158395 [details] New crash information added by DrKonqi systemsettings (5.27.4) using Qt 5.15.9 armando@florest-1:/home$ systemsettings file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML MouseArea: Binding loop detected for property "width" file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/ScrollablePage.qml:200:9: QML MouseArea: Binding loop detected for property "width" kf.activitiesstats: [Error at ResultSetPrivate::initQuery]: QSqlError("11", "Não foi possível obter a linha", "database disk image is malformed") kf.activitiesstats: [Error at ResultSetPrivate::initQuery]: QSqlError("11", "Não foi possível obter a linha", "database disk image is malformed") QQmlEngine::setContextForObject(): Object already has a QQmlContext file:///usr/share/kpackage/kcms/kcm_landingpage/contents/ui/main.qml:197:13: Unable to assign [undefined] to QQuickItem* KCrash: crashing... crashRecursionCounter = 2 KCrash: Application Name = systemsettings path = /usr/bin pid = 36617 KCrash: Arguments: /usr/bin/systemsettings KCrash: Attempting to start /usr/lib/x86_64-linux-gnu/libexec/drkonqi [1]+ Parado systemsettings armando@florest-1:/home$ Unable to find file for pid 36617 expected at "kcrash-metadata/36617.ini" QSocketNotifier: Invalid socket 6 and type 'Read', disabling... QSocketNotifier: Invalid socket 10 and type 'Read', disabling... QSocketNotifier: Invalid socket 20 and type 'Read', disabling... -- Backtrace (Reduced): #7 0x00007f37c0fdf2f7 in QAccessibleQuickItem::role() const () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 [...] #11 0x00007f37c0e61dbb in QQuickItemPrivate::setEffectiveVisibleRecur(bool) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 #12 0x00007f37c0e69686 in QQuickItem::setParentItem(QQuickItem*) () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 #13 0x00007f37c0e69bd1 in QQuickItem::~QQuickItem() () from /lib/x86_64-linux-gnu/libQt5Quick.so.5 [...] #15 0x00007f37c1ed04ba in KDeclarative::QmlObject::~QmlObject() () from /lib/x86_64-linux-gnu/libKF5Declarative.so.5
Ok, so here's what appears to be happening. Your activities database has become corrupted: > kf.activitiesstats: [Error at ResultSetPrivate::initQuery]: QSqlError("11", "Não foi possível obter a linha", "database disk image is malformed") This causes the grid of "Frequently used" pages to not be populated. Then when we try to set the buddy for the label to the grid's first child item, it crashes because there are no child items. Because that page is the thing that gets shown when System Settings launches, it crashes on launch. Looks like Kirigami.FormLayout doesn't handle the case of the object specified by Kirigami.FormData.buddyFor being null. We could work around this in the code for the Quick Settings page, but ideally it would be fixed in Kirigami so that app-specific workarounds aren't ever required anywhere. Armando, you should be able to fix this yourself by deleting your kactivities database and letting it get re-created. Delete `~/.local/share/kactivitymanagerd/resources/database*` on your system and then System Settings shouldn't crash anymore. Finally, if you can attach ~/.local/share/kactivitymanagerd/resources/errors.log, we may be able to see what happened to the database.
Not gonna lie, this is the most cursed thing I've seen with FormLayouts: > Kirigami.FormData.buddyFor: children[1] // 0 is the Repeater The whole grid and repeater there are kinda questionable. The "widest button" property is a perfect use-case for a SizeGroup type. And the "first item" should be extracted in a procedural code, like in a onItemAdded hook or something. The conditional logic for visibily (visible: recentlyUsedRepeater.count) does not inspire confidence either: what if a Repeater decides not to create items unless it becomes visible?
Speaking of buddyFor crash, this setter's implementation doesn't seem to guard against null member, does it? void FormLayoutAttached::setBuddyFor(QQuickItem *buddyfor) { if (m_buddyFor == buddyfor || !m_buddyFor->isAncestorOf(buddyfor)) { return; } m_buddyFor = buddyfor; Q_EMIT buddyForChanged(); } I believe this only ever worked because `isAncestorOf` method does not use ANY members of *this* object, and instead calls its argument's methods and comparent with *this* as a pointer.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1490
OK, so Landing Page UI itself it getting fixed in the best way we can. Meanwhile, I verified that the condition in `FormLayoutAttached::setBuddyFor` itself is buggy, play around with this snippet and insert some debug prints in Kirigami to verify yourself: https://invent.kde.org/frameworks/kirigami/-/snippets/2625
Git commit 3bc36d5f2380a7df3dfe390813a61944b43bf00d by ivan tkachenko. Committed on 26/04/2023 at 14:38. Pushed by ratijas into branch 'master'. landingpage: Fix broken binding in "Most Used Pages" grid First rule of the fighting club: never bind to a list. You never know what the heck you're up against. On the other hand, assigning FormData.buddyFor in a procedural way in the Repeater's hook is robust, and there's nothing that could go wrong. M +8 -1 kcms/landingpage/package/contents/ui/main.qml https://invent.kde.org/plasma/plasma-desktop/commit/3bc36d5f2380a7df3dfe390813a61944b43bf00d
Git commit c7662ea126c8e28546c1b22bb53b03fbecbb028b by ivan tkachenko. Committed on 26/04/2023 at 15:16. Pushed by ratijas into branch 'Plasma/5.27'. landingpage: Fix broken binding in "Most Used Pages" grid First rule of the fighting club: never bind to a list. You never know what the heck you're up against. On the other hand, assigning FormData.buddyFor in a procedural way in the Repeater's hook is robust, and there's nothing that could go wrong. (cherry picked from commit 3bc36d5f2380a7df3dfe390813a61944b43bf00d) M +8 -1 kcms/landingpage/package/contents/ui/main.qml https://invent.kde.org/plasma/plasma-desktop/commit/c7662ea126c8e28546c1b22bb53b03fbecbb028b
The issue has been resolved with this week's update. Updated system data: Operating System: KDE neon 5.27 KDE Plasma Version: 5.27.4 KDE Frameworks Version: 5.105.0 Qt Version: 5.15.9 Kernel Version: 5.19.0-41-generic (64-bit) Graphics Platform: X11 Processors: 8 × Intel® Xeon® CPU W3520 @ 2.67GHz Memory: 7.7 GiB of RAM Graphics Processor: GeForce GT 610/PCIe/SSE2 Manufacturer: Apple Inc. Product Name: MacPro4,1 System Version: 0.0
Armando, it sounds like your activity database got recreated, which therefore stopped triggering the bug. ...Because the fix was just merged today and can't possibly be on your machine yet. :)
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2868
Git commit a72ca3acdfc3edb269cdadb979bd2c16bde846b6 by ivan tkachenko. Committed on 26/04/2023 at 19:53. Pushed by ratijas into branch 'master'. applets/digital-clock: Fix broken binding in the list of calendar plugins First rule of the fighting club: never bind to a list. You never know what the heck you're up against. On the other hand, assigning FormData.buddyFor in a procedural way in the Repeater's hook is robust, and there's nothing that could go wrong. See also: https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1490 M +13 -1 applets/digital-clock/package/contents/ui/configCalendar.qml https://invent.kde.org/plasma/plasma-workspace/commit/a72ca3acdfc3edb269cdadb979bd2c16bde846b6
Git commit 28e6cab939007c54be4ea2b33b4ed7f4aa57bfa8 by ivan tkachenko. Committed on 26/04/2023 at 20:50. Pushed by ratijas into branch 'Plasma/5.27'. applets/digital-clock: Fix broken binding in the list of calendar plugins First rule of the fighting club: never bind to a list. You never know what the heck you're up against. On the other hand, assigning FormData.buddyFor in a procedural way in the Repeater's hook is robust, and there's nothing that could go wrong. See also: https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/1490 (cherry picked from commit a72ca3acdfc3edb269cdadb979bd2c16bde846b6) M +12 -1 applets/digital-clock/package/contents/ui/configCalendar.qml https://invent.kde.org/plasma/plasma-workspace/commit/28e6cab939007c54be4ea2b33b4ed7f4aa57bfa8
A possibly relevant merge request was started @ https://invent.kde.org/frameworks/kirigami/-/merge_requests/1044
Armando, please don't mark bug reports as resolved when they are being actively worked on by KDE developers but haven't actually been fixed yet.
Git commit b8a53cef1664bcef85c04db4e647024982a5140c by ivan tkachenko. Committed on 07/06/2023 at 15:37. Pushed by ratijas into branch 'master'. FormLayoutAttached: Fix checks in setter of buddyFor property, add tests Previous check didn't allow setting buddy for more than once (except for marginal case of setting deeper and deeper children, which isn't well supported by positioning code anyway). Not a highly needed feature, but it better be working properly. Also the code did not perform any checks that old m_buddyFor was non-null pointer, so the whole thing only worked because internally QQuickItem::isAncestorOf does not use any of the properties of `this` object, and only does checked parent() calls on its argument and compares results as raw pointers. Neither did it reset back to default (attachee) object if/when buddy is dynamically destroyed, so now there are reconnects in setter, and corresponding tests with a signal spy, Repeater and Component::createObject(). Test plan: https://invent.kde.org/frameworks/kirigami/-/snippets/2625 M +235 -2 autotests/tst_formlayout.qml M +37 -3 src/formlayoutattached.cpp M +7 -1 src/formlayoutattached.h https://invent.kde.org/frameworks/kirigami/-/commit/b8a53cef1664bcef85c04db4e647024982a5140c