Bug 425349 - QML error in Breeze SDDM theme reported by sddm-greeter
Summary: QML error in Breeze SDDM theme reported by sddm-greeter
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Theme - Breeze (show other bugs)
Version: 5.19.4
Platform: Mageia RPMs Linux
: NOR normal
Target Milestone: 1.0
Assignee: Nate Graham
URL:
Keywords:
Depends on:
Blocks: 430857
  Show dependency treegraph
 
Reported: 2020-08-14 16:07 UTC by Aurélien Oudelet (auroud85_fr)
Modified: 2020-12-27 15:13 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.20


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Aurélien Oudelet (auroud85_fr) 2020-08-14 16:07:39 UTC
SUMMARY
sddm-greeter complains about Breeze Login theme. Here is output from journal:

sddm-greeter[2075]: Loading file:///usr/share/sddm/themes/breeze/Main.qml...
sddm-greeter[2075]: QObject: Cannot create children for a parent that is in a different thread.
                   (Parent is QGuiApplication(0x7ffec7657f50), parent's thread is QThread(0x1451d10), current thread is QThread(0x14b3060)
sddm-greeter[2075]: QObject: Cannot create children for a parent that is in a different thread.
                   (Parent is QGuiApplication(0x7ffec7657f50), parent's thread is QThread(0x1451d10), current thread is QThread(0x14b3060)
sddm-greeter[2075]: QObject: Cannot create children for a parent that is in a different thread.
                   (Parent is QGuiApplication(0x7ffec7657f50), parent's thread is QThread(0x1451d10), current thread is QThread(0x14b3060)
sddm-greeter[2075]: QObject::installEventFilter(): Cannot filter events for objects in a different thread.
sddm-greeter[2075]: Error: could not load plugin for platform "" error: "La bibliothèque partagée est introuvable." QObject(0x0)
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/Main.qml:495:5: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<argument>
sddm-greeter[2075]: <input>:406:376: Could not add child element to parent element because the types are incorrect.
sddm-greeter[2075]: <input>:407:126: Could not add child element to parent element because the types are incorrect.
sddm-greeter[2075]: <input>:408:126: Could not add child element to parent element because the types are incorrect.
sddm-greeter[2075]: <input>:408:385: Could not add child element to parent element because the types are incorrect.
sddm-greeter[2075]: <input>:409:125: Could not add child element to parent element because the types are incorrect.
sddm-greeter[2075]: <input>:410:124: Could not add child element to parent element because the types are incorrect.
sddm-greeter[2075]: <input>:411:125: Could not add child element to parent element because the types are incorrect.
sddm-greeter[2075]: <input>:411:371: Could not add child element to parent element because the types are incorrect.
sddm-greeter[2075]: <input>:411:619: Could not add child element to parent element because the types are incorrect.
sddm-greeter[2075]: file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:209:13: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax i>
sddm-greeter[2075]: file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:209:13: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax i>
sddm-greeter[2075]: file:///usr/lib64/qt5/qml/QtQuick/Controls/Styles/Plasma/ToolButtonStyle.qml:209:13: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax i>
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/VirtualKeyboard.qml:20:1: module "QtQuick.VirtualKeyboard" is not installed
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/Login.qml:103:13: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<argume>
sddm-greeter[2075]: file:///usr/lib64/qt5/qml/org/kde/plasma/components/Button.qml:52: ReferenceError: PlasmaCore is not defined
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/Main.qml:192: TypeError: Cannot read property 'Locked' of undefined
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/Main.qml:463: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/lib64/qt5/qml/org/kde/plasma/workspace/components/BatteryIcon.qml:42: TypeError: Cannot call method 'roundToIconSize' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/Battery.qml:27: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/Main.qml:441: TypeError: Cannot read property 'largeSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/Main.qml:446: TypeError: Cannot read property 'gridUnit' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/Main.qml:157: TypeError: Cannot read property 'gridUnit' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:102: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:39: TypeError: Cannot read property 'gridUnit' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:55: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:41: TypeError: Cannot read property 'largeSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:42: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:102: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:39: TypeError: Cannot read property 'gridUnit' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:55: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:41: TypeError: Cannot read property 'largeSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:42: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:102: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:39: TypeError: Cannot read property 'gridUnit' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:55: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:41: TypeError: Cannot read property 'largeSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:42: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:102: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:39: TypeError: Cannot read property 'gridUnit' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:55: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:41: TypeError: Cannot read property 'largeSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/ActionButton.qml:42: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/Login.qml:120: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/Login.qml:115: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/SessionManagementScreen.qml:84: TypeError: Cannot read property 'gridUnit' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/SessionManagementScreen.qml:114: TypeError: Cannot read property 'largeSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/SessionManagementScreen.qml:100: TypeError: Cannot read property 'gridUnit' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/SessionManagementScreen.qml:101: TypeError: Cannot read property 'gridUnit' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/SessionManagementScreen.qml:91: TypeError: Cannot read property 'gridUnit' of null
kernel: traps: sddm-greeter[2075] general protection fault ip:7fd5d704e137 sp:7ffec7655cc0 error:0 in libQt5Qml.so.5.15.0[7fd5d6e2e000+2b6000]

sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/Login.qml:120: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/Login.qml:115: TypeError: Cannot read property 'smallSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/SessionManagementScreen.qml:84: TypeError: Cannot read property 'gridUnit' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/SessionManagementScreen.qml:114: TypeError: Cannot read property 'largeSpacing' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/SessionManagementScreen.qml:100: TypeError: Cannot read property 'gridUnit' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/SessionManagementScreen.qml:101: TypeError: Cannot read property 'gridUnit' of null
sddm-greeter[2075]: file:///usr/share/sddm/themes/breeze/components/SessionManagementScreen.qml:91: TypeError: Cannot read property 'gridUnit' of null

OBSERVED RESULT
Login is fine, no lag on my system. Therefore, such logging errors in journal are cumbersome and come from default Breeze theme shipped by Breeze package. Upstream issue?

EXPECTED RESULT
Login fine. No errors in journal related to Breeze files.

SOFTWARE/OS VERSIONS

Operating System: Mageia 8
KDE Plasma Version: 5.19.4
KDE Frameworks Version: 5.73.0
Qt Version: 5.15.0
Kernel Version: 5.8.1-desktop-2.mga8
OS Type: 64-bit
Processors: 4 × Intel® Core™ i5-6600K CPU @ 3.50GHz
Memory: 15.6 Gio of RAM
Graphics Processor: GeForce GTX 1660 Ti/PCIe/SSE2

On Mageia-side,
sddm is at version 0.18.1 (Latest upstream version)
Breeze theme is 5.73
And Breeze SDDM theme comes from our plasma-workspace-5.19.4-2.mga8 package.
Comment 1 Nate Graham 2020-08-17 16:34:09 UTC
Will be fixed by https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/209
Comment 2 Nate Graham 2020-08-20 16:28:44 UTC
Git commit bcaf3886d92da5b5cc6f2ab6a6b43dbc096d7c60 by Nate Graham.
Committed on 20/08/2020 at 16:24.
Pushed by ngraham into branch 'master'.

Fix all errors and warnings on login, lock, and logout screens

There were three principal sources of errors and warnings:
1. Un-ported `onFooChanged` statements
2. `config.fontSize` being unconditionally referenced from components
   without access to it (it comes from the SDDM config)
3. Accessing units from the context property rather than the singleton

All are fixed now. Tested with:
1. `sddm-greeter --test-mode --theme ~/kde/usr/share/sddm/themes/breeze/`
2. `~/kde/usr/lib64/libexec/kscreenlocker_greet --testing --theme ~/kde/src/plasma-workspace/lookandfeel`
3. `/kde/usr/lib64/libexec/ksmserver-logout-greeter --fakearg`

No regressions found.
FIXED-IN: 5.20

M  +1    -1    components/workspace/BatteryIcon.qml
M  +2    -2    lookandfeel/contents/components/ActionButton.qml
M  +6    -2    lookandfeel/contents/components/Battery.qml
M  +0    -4    lookandfeel/contents/components/KeyboardLayoutButton.qml
M  +3    -2    lookandfeel/contents/components/SessionManagementScreen.qml
M  +2    -3    lookandfeel/contents/components/UserDelegate.qml
M  +3    -0    lookandfeel/contents/components/UserList.qml
M  +1    -1    lookandfeel/contents/lockscreen/LockScreen.qml
M  +5    -5    lookandfeel/contents/lockscreen/LockScreenUi.qml
M  +1    -1    lookandfeel/contents/lockscreen/MainBlock.qml
M  +0    -1    lookandfeel/contents/logout/Logout.qml
M  +0    -1    sddm-theme/KeyboardButton.qml
M  +1    -1    sddm-theme/Login.qml
M  +20   -2    sddm-theme/Main.qml
M  +0    -2    sddm-theme/SessionButton.qml

https://invent.kde.org/plasma/plasma-workspace/commit/bcaf3886d92da5b5cc6f2ab6a6b43dbc096d7c60