Bug 487815 - After changing the system monitor widget to an application table or process table, the entire shell freezes whenever the widget is loaded
Summary: After changing the system monitor widget to an application table or process t...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: System Monitor widgets (show other bugs)
Version: git-stable-Plasma/6.1
Platform: Arch Linux Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2024-05-30 20:45 UTC by Andreï V. Kostyrka
Modified: 2024-08-06 19:10 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.1
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andreï V. Kostyrka 2024-05-30 20:45:24 UTC
SUMMARY
After I accidentally changed the display style of the CPU usage tray sensor to ‘Application list’, the entire shell froze; Alt+Tab and shortcuts (e.g. Terminal, Ctrl+Alt+T) still work. Rebooting changes nothing – it still freezes.

STEPS TO REPRODUCE
1. In the CPU usage monitor in the system tray, change ‘Bar chart’ to ‘Application list’
2. The system tray and desktop freeze and become unresponsive.

OBSERVED RESULT
After `kquitapp5 plasmashell` and `kstart5 plasmashell`, here is the console log:
```
(base) [avk@UL0012159 ~]$ kstart5 plasmashell
(base) [avk@UL0012159 ~]$ kf.plasma.quick: Applet preload policy set to 1
file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:196:25: QML FolderViewDropArea (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumWidth"
file:///usr/share/plasma/plasmoids/org.kde.desktopcontainment/contents/ui/main.qml:196:25: QML FolderViewDropArea (parent or ancestor of QQuickLayoutAttached): Binding loop detected for property "minimumWidth"
qml: The backend got an unknown wallpaper provider type. The wallpaper will now fall back to the default. Please check your wallpaper configuration!
file:///usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/main.qml:162:21: QML KSortFilterProxyModel: Binding loop detected for property "sourceModel"
file:///usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/main.qml:162:21: QML KSortFilterProxyModel: Binding loop detected for property "sourceModel"
qml: SystemTray ItemLoader: Invalid state, cannot determine source!
qt.gui.imageio: libpng warning: iCCP: known incorrect sRGB profile
qt.gui.imageio: libpng warning: iCCP: known incorrect sRGB profile
qt.gui.imageio: libpng warning: iCCP: known incorrect sRGB profile
QFont::setPointSizeF: Point size <= 0 (0.000000), must be greater than 0
QFont::setPointSizeF: Point size <= 0 (0.000000), must be greater than 0
file:///usr/lib/qt6/qml/org/kde/kirigami/Dialog.qml:334:18: QML ScrollView: Binding loop detected for property "calculatedImplicitWidth"
file:///usr/lib/qt6/qml/org/kde/kirigami/Dialog.qml:386:33: QML Binding: Binding loop detected for property "target"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
...
<dozens of identical messages omitted>
```

EXPECTED RESULT
Expected responsive shell and working widget that would show the CPU usage.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux
KDE Plasma Version: 6.0.5
KDE Frameworks Version: 6.0.5
Qt Version: qt6-base 6.7.1-3, qt5-base 5.15.14+kde+r140-1
Comment 1 raindrac+kde 2024-06-01 04:01:49 UTC
Confirmed on Fedora Kinoite Rawhide in the 6.1 beta. From my testing, it occurs with any sensor type (or lack thereof) and whenever the either the application table or process table display styles are selected, making them entirely non-functional. It can be reproduced by applying the application list or process list display style at any point. The hang related to both the application table and process table appear to be the same bug.

I recommend that someone with the necessary permissions to increase the priority and severity from "NOR normal"; once the display style is applied to the system monitor widget, plasmashell will hang whenever loaded until the problematic widget is removed from the configuration file or within the very short timeframe before the shell finishes loading.

Here are some logs from my triage:
❯ APPLICATION TABLE APPLIED
qt.qml.context: qrc:/ConfigAppearance.qml:163:13 Parameter "index" is not declared. Injection of parameters into signal handlers is deprecated. Use JavaScript functions with formal parameters instead.
KPackageStructure of KPluginMetaData(pluginId:"org.gerrnperl.text", fileName: "/home/raindrop/.local/share/ksysguard/sensorfaces/org.gerrnperl.text/metadata.json") does not match requested format "KSysguard/SensorFace"
KPackageStructure of KPluginMetaData(pluginId:"org.kde.plasma.plasm6desktopindicator", fileName: "/home/raindrop/.local/share/plasma/plasmoids/org.kde.plasma.plasm6desktopindicator/metadata.json") does not match requested format "Plasma/Applet"
KPackageStructure of KPluginMetaData(pluginId:"split-clock", fileName: "/home/raindrop/.local/share/plasma/plasmoids/split-clock/metadata.json") does not match requested format "Plasma/Applet"
qrc:/ConfigAppearance.qml:68:5: QML OverlaySheet: Binding loop detected for property "implicitHeight"
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:43:5: Unable to assign [undefined] to bool
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:44:5: Unable to assign [undefined] to double
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:45:5: Unable to assign [undefined] to double
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:51:9: Unable to assign [undefined] to bool
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/FullRepresentation.qml:23:5: Unable to assign [undefined] to bool
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:43:5: Unable to assign [undefined] to bool
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:44:5: Unable to assign [undefined] to double
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:45:5: Unable to assign [undefined] to double
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:51:9: Unable to assign [undefined] to bool
file:///usr/lib64/qt6/qml/org/kde/kirigami/Dialog.qml:334:18: QML ScrollView: Binding loop detected for property "calculatedImplicitWidth"
file:///usr/lib64/qt6/qml/org/kde/kirigami/Dialog.qml:386:33: QML Binding: Binding loop detected for property "target"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"

❯ PLASMASHELL RESTART AFTER APPLICATION TABLE APPLIED
file:///usr/lib64/qt6/qml/org/kde/kirigami/Dialog.qml:334:18: QML ScrollView: Binding loop detected for property "calculatedImplicitWidth"
file:///usr/lib64/qt6/qml/org/kde/kirigami/Dialog.qml:386:33: QML Binding: Binding loop detected for property "target"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"

❯ PROCESS TABLE APPLIED
qt.qml.context: qrc:/ConfigAppearance.qml:163:13 Parameter "index" is not declared. Injection of parameters into signal handlers is deprecated. Use JavaScript functions with formal parameters instead.
qrc:/ConfigAppearance.qml:68:5: QML OverlaySheet: Binding loop detected for property "implicitHeight"
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:43:5: Unable to assign [undefined] to bool
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:44:5: Unable to assign [undefined] to double
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:45:5: Unable to assign [undefined] to double
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:51:9: Unable to assign [undefined] to bool
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/FullRepresentation.qml:23:5: Unable to assign [undefined] to bool
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:43:5: Unable to assign [undefined] to bool
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:44:5: Unable to assign [undefined] to double
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:45:5: Unable to assign [undefined] to double
file:///usr/share/ksysguard/sensorfaces/org.kde.ksysguard.piechart/contents/ui/PieChart.qml:51:9: Unable to assign [undefined] to bool
file:///usr/lib64/qt6/qml/org/kde/kirigami/Dialog.qml:334:18: QML ScrollView: Binding loop detected for property "calculatedImplicitWidth"
file:///usr/lib64/qt6/qml/org/kde/kirigami/Dialog.qml:386:33: QML Binding: Binding loop detected for property "target"
file:///usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/main.qml:38:25: QML FullRepresentation: Binding loop detected for property "contentItem"

❯ PLASMASHELL RESTART AFTER PROCESS TABLE APPLIED
file:///usr/lib64/qt6/qml/org/kde/kirigami/Dialog.qml:334:18: QML ScrollView: Binding loop detected for property "calculatedImplicitWidth"
file:///usr/lib64/qt6/qml/org/kde/kirigami/Dialog.qml:386:33: QML Binding: Binding loop detected for property "target"
Comment 2 Akseli Lahtinen 2024-06-05 13:37:18 UTC
Can also confirm, this completely froze my system on Plasma 6.2 dev

Operating System: Fedora Linux 40
KDE Plasma Version: 6.1.80
KDE Frameworks Version: 6.4.0
Qt Version: 6.7.1
Kernel Version: 6.8.11-300.fc40.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 3600 6-Core Processor
Memory: 15.5 GiB of RAM
Graphics Processor: AMD Radeon RX 6600
Comment 3 Bug Janitor Service 2024-06-06 11:16:40 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4422
Comment 4 Bug Janitor Service 2024-06-07 11:10:17 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-systemmonitor/-/merge_requests/297
Comment 5 Akseli Lahtinen 2024-06-07 11:12:26 UTC
Git commit ea5b49eda837ca5f25c87453b01f71eea5087056 by Akseli Lahtinen.
Committed on 07/06/2024 at 11:09.
Pushed by akselmo into branch 'master'.

faces/FullRepresentation.qml: add minimum sizes

Without minimum sizes these items will get stuck in a loop
switching back and forth between compact and full representation,
which then freezes plasmashell.

This change ensures there is some minimum sizes available.

M  +2    -0    src/faces/applicationstable/contents/ui/FullRepresentation.qml
M  +2    -0    src/faces/processtable/contents/ui/FullRepresentation.qml

https://invent.kde.org/plasma/plasma-systemmonitor/-/commit/ea5b49eda837ca5f25c87453b01f71eea5087056
Comment 6 Akseli Lahtinen 2024-06-07 11:15:07 UTC
Git commit eaee4367003a4755f66d139cf0104e4c60a544a4 by Akseli Lahtinen.
Committed on 07/06/2024 at 11:12.
Pushed by akselmo into branch 'Plasma/6.1'.

faces/FullRepresentation.qml: add minimum sizes

Without minimum sizes these items will get stuck in a loop
switching back and forth between compact and full representation,
which then freezes plasmashell.

This change ensures there is some minimum sizes available.


(cherry picked from commit ea5b49eda837ca5f25c87453b01f71eea5087056)

ea5b49ed faces/FullRepresentation.qml: add minimum sizes

Co-authored-by: Akseli Lahtinen <akselmo@akselmo.dev>

M  +2    -0    src/faces/applicationstable/contents/ui/FullRepresentation.qml
M  +2    -0    src/faces/processtable/contents/ui/FullRepresentation.qml

https://invent.kde.org/plasma/plasma-systemmonitor/-/commit/eaee4367003a4755f66d139cf0104e4c60a544a4