Summary: | Neon (Testing) Plasmashell crash with segmentation fault | ||
---|---|---|---|
Product: | [KDE Neon] neon | Reporter: | YAFU <yafulinux> |
Component: | Packages Testing Edition | Assignee: | Neon Bugs <neon-bugs> |
Status: | RESOLVED DUPLICATE | ||
Severity: | crash | CC: | jr, jsalatas, justin.zobel, kde, nate, neon-bugs, sitter |
Priority: | NOR | ||
Version First Reported In: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
YAFU
2020-11-12 18:58:15 UTC
Other users are having similar problems. https://forum.kde.org/viewtopic.php?f=309&t=168758 Apparently last update brought incompatibility with some plasmoids. In my case the problematic plamsoid was p-state v1.0.6: https://store.kde.org/p/1282623/ https://github.com/jsalatas/plasma-pstate But, in case of some plasmoid losing compatibility, we shouldn't have this problem where the user runs out of desktop environment, right? At most a message that tells us that a plasmoid is no longer supported, but not this I guess. To get a better understanding how the crash happens a backtrace is very useful https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports @David Redondo
The documentation appears to be out of date. Currently there is no kdelibs5-dbgsym package for example.
>Always install kdelibs5-dbgsym, because all KDE applications use kdelibs
I installed "libkf5plasma5-dbgsym" y "plasma-workspace-dbg" packages. This is the output of "gdb": ======================= =========== ===== $ gdb plasmashell GNU gdb (Ubuntu 9.2-0ubuntu1~20.04) 9.2 Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from plasmashell... Reading symbols from /usr/lib/debug/.build-id/df/73274d93b770a186f37963d5074fe11faa2bd9.debug... (gdb) run Starting program: /usr/bin/plasmashell [Depuración de hilo usando libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [Nuevo Thread 0x7ffff0e98700 (LWP 56429)] [Nuevo Thread 0x7fffebf32700 (LWP 56430)] kf.plasma.quick: Applet preload policy set to 1 [Nuevo Thread 0x7fffeac3c700 (LWP 56431)] Cyclic dependency detected between "file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml" and "file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/kirigami.2/styles/org.kde.desktop.plasma/Units.qml" [Detaching after fork from child process 58638] [Detaching after fork from child process 58784] file:///usr/share/plasma/plasmoids/org.kde.plasma.notes/contents/ui/main.qml:445:13: QML ToolButton: Binding loop detected for property "icon.height" file:///usr/share/plasma/plasmoids/org.kde.plasma.notes/contents/ui/main.qml:431:13: QML ToolButton: Binding loop detected for property "icon.height" file:///usr/share/plasma/plasmoids/org.kde.plasma.notes/contents/ui/main.qml:411:17: QML ToolButton: Binding loop detected for property "icon.height" file:///usr/share/plasma/plasmoids/org.kde.plasma.notes/contents/ui/main.qml:398:17: QML ToolButton: Binding loop detected for property "icon.height" file:///usr/share/plasma/plasmoids/org.kde.plasma.notes/contents/ui/main.qml:385:17: QML ToolButton: Binding loop detected for property "icon.height" file:///usr/share/plasma/plasmoids/org.kde.plasma.notes/contents/ui/main.qml:372:17: QML ToolButton: Binding loop detected for property "icon.height" file:///usr/share/plasma/plasmoids/org.kde.plasma.notes/contents/ui/main.qml:160:13: QML TextArea: Binding loop detected for property "implicitWidth" [Nuevo Thread 0x7fffdb200700 (LWP 58812)] qml: Reading places from configuration: [{"providerId":"yrno","placeIdentifier":"Argentina/Córdoba/Córdoba","placeAlias":"Córdoba"}] [Nuevo Thread 0x7fffda9ff700 (LWP 58813)] qml: Reading places from configuration: [{"providerId":"yrno","placeIdentifier":"Argentina/Córdoba/Córdoba","placeAlias":"Córdoba"}] qml: cacheBackend failed to initialize qml: Reading places from configuration: [{"providerId":"yrno","placeIdentifier":"Argentina/Córdoba/Córdoba","placeAlias":"Córdoba"}] [Nuevo Thread 0x7fffd9c20700 (LWP 58814)] [Nuevo Thread 0x7fffd93f8700 (LWP 58815)] [Thread 0x7fffd9c20700 (LWP 58814) terminado] [Thread 0x7fffd93f8700 (LWP 58815) terminado] trying to show an empty dialog file:///home/yafu/.local/share/plasma/plasmoids/org.kde.weatherWidget/contents/ui/CompactRepresentation.qml:38:5: Unable to assign [undefined] to double file:///home/yafu/.local/share/plasma/plasmoids/org.kde.weatherWidget/contents/ui/CompactRepresentation.qml:36:5: Unable to assign [undefined] to double 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" file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Desktop.qml:146:19: QML Loader: Binding loop detected for property "height" [Nuevo Thread 0x7fffd93f8700 (LWP 58816)] file:///home/yafu/.local/share/plasma/plasmoids/org.kde.weatherWidget/contents/ui/CompactRepresentation.qml:38:5: Unable to assign [undefined] to double file:///home/yafu/.local/share/plasma/plasmoids/org.kde.weatherWidget/contents/ui/CompactRepresentation.qml:36:5: Unable to assign [undefined] to double file:///usr/share/plasma/plasmoids/org.kde.plasma.notes/contents/ui/main.qml:200:17: QML Binding: Not restoring previous value because restoreMode has not been set. This behavior is deprecated. You have to import QtQml 2.15 after any QtQuick imports and set the restoreMode of the binding to fix this warning. In Qt < 6.0 the default is Binding.RestoreBinding. In Qt >= 6.0 the default is Binding.RestoreBindingOrValue. [Thread 0x7fffd93f8700 (LWP 58816) terminado] Error: cannot change the containment to AppletsLayout [Nuevo Thread 0x7fffd93f8700 (LWP 58817)] [Nuevo Thread 0x7fffd9c20700 (LWP 58821)] qt.svg: link #use3956 is undefined! [Nuevo Thread 0x7fffcb8bb700 (LWP 58822)] [Nuevo Thread 0x7fffc8e99700 (LWP 58823)] file:///home/yafu/.local/share/plasma/plasmoids/org.kde.weatherWidget/contents/ui/CompactRepresentation.qml:38:5: Unable to assign [undefined] to double file:///home/yafu/.local/share/plasma/plasmoids/org.kde.weatherWidget/contents/ui/CompactRepresentation.qml:36:5: Unable to assign [undefined] to double file:///usr/share/plasma/plasmoids/org.kde.plasma.notes/contents/ui/main.qml:200:17: QML Binding: Not restoring previous value because restoreMode has not been set. This behavior is deprecated. You have to import QtQml 2.15 after any QtQuick imports and set the restoreMode of the binding to fix this warning. In Qt < 6.0 the default is Binding.RestoreBinding. In Qt >= 6.0 the default is Binding.RestoreBindingOrValue. [Thread 0x7fffc8e99700 (LWP 58823) terminado] Error: cannot change the containment to AppletsLayout qml: updating sensor gpu_boost_freq: NaN qml: exec: sudo /usr/share/plasma/plasmoids/gr.ictpro.jsalatas.plasma.pstate/contents/code/set_prefs.sh -gpu-boost-freq NaN [Detaching after fork from child process 58824] qml: updating sensor gpu_max_freq: NaN qml: exec: sudo /usr/share/plasma/plasmoids/gr.ictpro.jsalatas.plasma.pstate/contents/code/set_prefs.sh -gpu-max-freq NaN [Detaching after fork from child process 58826] qml: updating sensor gpu_min_freq: NaN qml: exec: sudo /usr/share/plasma/plasmoids/gr.ictpro.jsalatas.plasma.pstate/contents/code/set_prefs.sh -gpu-min-freq NaN [Detaching after fork from child process 58827] Thread 1 "plasmashell" received signal SIGSEGV, Segmentation fault. 0x00007ffff630686d in ?? () from /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (gdb) ================= ====== == There is a note on the p-state plasmoid site:
>The widget breaks the whole desktop if you are using Qt 5.15.1.
The point is, Plasma should be safer for the user. It should not happen that a plasmoid can break everything and leave the user without an environment. There should be some kind of safe mode where plasmashell enters in case of a problem
Information supplied, moving back to reported status for investigation. Just FYI. I have started looking into this issue and it seems (so far) that the issue is caused by the following commit https://github.com/qt/qtdeclarative/commit/cc77a0bc549ce8f0b218661e7ae0e82e5b89e0da#diff-a06a1ce0c63106ba046b18fce49a01f2a25401fe92e719efb58fd7f96d455170 I'm not able yet to generate a simple example of qml that crashes, nor to pinpoint the exact piece of code that crashes it but apparently the ensureLayoutItemsUpdated() at some point enters in an endless loop calling the same methods again and again. *** This bug has been marked as a duplicate of bug 427884 *** *** This bug has been marked as a duplicate of bug 427336 *** |