Bug 429029 - Neon (Testing) Plasmashell crash with segmentation fault
Summary: Neon (Testing) Plasmashell crash with segmentation fault
Status: RESOLVED DUPLICATE of bug 427336
Alias: None
Product: neon
Classification: KDE Neon
Component: Packages Testing Edition (show other bugs)
Version: unspecified
Platform: Other Linux
: NOR crash
Target Milestone: ---
Assignee: Neon Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-12 18:58 UTC by YAFU
Modified: 2020-11-16 20:33 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description YAFU 2020-11-12 18:58:15 UTC
Neon (Testing) 20.04

After installing many updates of today Thursday 12 November, when I reboot the PC then plasmashell it loads for a second but then I get a completely black screen. When starting plasmashell from the terminal the same thing happens. This is the end of the output I get in the terminal: 

===========================
========
file:///usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/contents/ui/Tooltip.qml:66:9: QML GridLayout (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumWidth"
file:///usr/share/plasma/plasmoids/org.kde.panel/contents/ui/main.qml:30:1: QML DropArea (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "maximumHeight"
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.

Error: cannot change the containment to AppletsLayout
libkcups: CUPS-Get-Printers last error: 1030 No se han añadido destinos.
libkcups: Create-Printer-Subscriptions last error: 0 successful-ok
libkcups: Get-Jobs last error: 0 successful-ok
libkcups: Get-Jobs last error: 0 successful-ok
Cyclic dependency detected between "file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/global/Globals.qml" and "file:///usr/share/plasma/plasmoids/org.kde.plasma.notifications/contents/ui/NotificationHeader.qml"
qml: +++ new BUtton textsDesactivar,Cancelar
qml: +++ new BUtton textsDesactivar,Cancelar
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/plasma/components/Dialog.qml:308:9: QML QQuickItem: Binding loop detected for property "height"
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/plasma/components/Dialog.qml:308:9: QML QQuickItem: Binding loop detected for property "height"
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/plasma/components/Dialog.qml:274:5: QML QQuickItem: Binding loop detected for property "width"
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/plasma/components/Dialog.qml:274:5: QML QQuickItem: Binding loop detected for property "width"
qml:  in external window
file:///usr/share/plasma/plasmoids/org.kde.plasma.battery/contents/ui/CompactRepresentation.qml:53:17: Unable to assign [undefined] to int
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/plasma/extras/PlasmoidHeading.qml:53:5: Unable to assign [undefined] to int
libkcups: 0
libkcups: 0
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"
trying to show an empty dialog
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
Both point size and pixel size set. Using pixel size.
trying to show an empty dialog
qt.svg: link #use3956 is undefined!
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/plasma/extras/PlasmoidHeading.qml:53:5: Unable to assign [undefined] to int
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/plasma/components.3/ComboBox.qml:74:9: Unable to assign [undefined] to QQmlComponent*
kf.config.core: Access to ' "/home/yafu/Escritorio/user-home.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/user-home.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/trash-can.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/trash-can.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/network.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/network.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/computer.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/computer.desktop" ' denied, not owned by root, executable flag not set.
file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/FolderItemDelegate.qml:323:17: QML Label: Binding loop detected for property "width"
kf.kio.core: "No se ha podido entrar en la carpeta tags:/."
kf.kio.core: "No se ha podido entrar en la carpeta tags:/."
file:///usr/lib/x86_64-linux-gnu/qt5/qml/org/kde/plasma/components/ModelContextMenu.qml:38:1: QML ModelContextMenu: Accessible must be attached to an Item
kf.config.core: Access to ' "/home/yafu/Escritorio/network.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/network.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/user-home.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/user-home.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/computer.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/computer.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/trash-can.desktop" ' denied, not owned by root, executable flag not set.
kf.config.core: Access to ' "/home/yafu/Escritorio/trash-can.desktop" ' denied, not owned by root, executable flag not set.
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
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
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
Violación de segmento
=============================
========
Comment 1 YAFU 2020-11-12 20:22:56 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.
Comment 2 David Redondo 2020-11-13 08:03:02 UTC
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
Comment 3 YAFU 2020-11-13 11:16:52 UTC
@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
Comment 4 YAFU 2020-11-13 11:56:27 UTC
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) 

=================
======
==
Comment 5 YAFU 2020-11-13 12:02:32 UTC
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
Comment 6 Justin Zobel 2020-11-13 22:08:22 UTC
Information supplied, moving back to reported status for investigation.
Comment 7 John Salatas 2020-11-16 20:18:22 UTC
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.
Comment 8 John Salatas 2020-11-16 20:26:18 UTC

*** This bug has been marked as a duplicate of bug 427884 ***
Comment 9 Nate Graham 2020-11-16 20:33:48 UTC

*** This bug has been marked as a duplicate of bug 427336 ***