Bug 500374 - Plasmashell logs error to the journal after startup / system boot Binding loop detected for property sourceModel
Summary: Plasmashell logs error to the journal after startup / system boot Binding loo...
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: System Tray widget (show other bugs)
Version: 6.3.1
Platform: Arch Linux Linux
: NOR minor
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-19 07:37 UTC by hbr
Modified: 2025-03-08 07:41 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description hbr 2025-02-19 07:37:18 UTC
SUMMARY
After system boot / Plasma startup the following error is logged to the journal the journal:

plasmashell[1285]: file:///usr/share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/main.qml:50:9: QML KSortFilterProxyModel: Binding loop detected for property "sourceModel"

STEPS TO REPRODUCE
1. Start Plasma / boot your system
2. Check the journal

OBSERVED RESULT
The above error message appears in the journal.

EXPECTED RESULT
No error happens / error messages get logged.

SOFTWARE/OS VERSIONS
Operating System: EndeavourOS 
KDE Plasma Version: 6.3.1
KDE Frameworks Version: 6.11.0
Qt Version: 6.8.2
Kernel Version: 6.13.2-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 7800X3D 8-Core Processor
Memory: 30,9 GiB of RAM
Graphics Processor: AMD Radeon RX 7900 XTX
Manufacturer: ASRock
Product Name: X670E Steel Legend
Comment 1 Bug Janitor Service 2025-03-06 11:22:07 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/5293
Comment 2 cwo 2025-03-07 22:57:04 UTC
Git commit e3f43758f6997dee33e0d4fb7c7afcda44312a35 by Christoph Wolk.
Committed on 07/03/2025 at 22:25.
Pushed by cwo into branch 'master'.

applets/systemtray: remove KSortFilterProxyModel binding loop

The systemtray's KSortFilterProxyModels bind to the model exposed on the
C++ side, which are in turn QSortFilterProxyModels. This causes a
binding loop.

The binding is unnecessary in first place though, the (sorted) models
are marked as CONSTANT and cannot themselves change (their contents can,
of course, but it's still the same sorted models). So we can just set it
once on startup and avoid the bindings and any errors or effort
associated with them.

M  +1    -1    applets/systemtray/package/contents/ui/ConfigEntries.qml
M  +2    -2    applets/systemtray/package/contents/ui/main.qml

https://invent.kde.org/plasma/plasma-workspace/-/commit/e3f43758f6997dee33e0d4fb7c7afcda44312a35
Comment 3 cwo 2025-03-08 07:41:25 UTC
Git commit 64e8dfceed4e0038f7af11a2a266dfab10b2a391 by Christoph Wolk.
Committed on 08/03/2025 at 07:11.
Pushed by cwo into branch 'Plasma/6.3'.

applets/systemtray: remove KSortFilterProxyModel binding loop

The systemtray's KSortFilterProxyModels bind to the model exposed on the
C++ side, which are in turn QSortFilterProxyModels. This causes a
binding loop.

The binding is unnecessary in first place though, the (sorted) models
are marked as CONSTANT and cannot themselves change (their contents can,
of course, but it's still the same sorted models). So we can just set it
once on startup and avoid the bindings and any errors or effort
associated with them.


(cherry picked from commit e3f43758f6997dee33e0d4fb7c7afcda44312a35)

Co-authored-by: Christoph Wolk <cwo.kde@posteo.net>

M  +1    -1    applets/systemtray/package/contents/ui/ConfigEntries.qml
M  +2    -2    applets/systemtray/package/contents/ui/main.qml

https://invent.kde.org/plasma/plasma-workspace/-/commit/64e8dfceed4e0038f7af11a2a266dfab10b2a391