Bug 1838801 - Many settings pages fail to load due to Qt error
Summary: Many settings pages fail to load due to Qt error
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: kde-settings
Version: epel8
Hardware: x86_64
OS: Linux
Target Milestone: ---
Assignee: Troy Dawson
QA Contact: Fedora Extras Quality Assurance
Depends On:
TreeView+ depends on / blocked
Reported: 2020-05-21 19:54 UTC by David
Modified: 2020-07-10 00:29 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Last Closed: 2020-07-10 00:29:02 UTC
Type: Bug

Attachments (Terms of Use)
Screen shot. (138.64 KB, image/png)
2020-05-21 19:54 UTC, David
no flags Details

Description David 2020-05-21 19:54:54 UTC
Created attachment 1690785 [details]
Screen shot.

Description of problem:

Many of the settings pages in the settings application do not load due to Qt errors.

Version-Release number of selected component (if applicable):

KDE 5.18.4
KDE Frameworks 5.68.0
Qt 5.12.5

How reproducible:
Every time.

Steps to Reproduce:
1. Open the KDE settings application.
2. Click on a page on the left side bar, most of them exhibit this (example: Global Theme)
3. The errors appear.

Actual results:

A stack trace appears, eventually pointing to QtControl.Dialog.anchors is not available due to component versioning.

Expected results:

The correct configuration page should occur.

Additional info:

This began happening when I updated to the KDE stuff in epel testing.

Comment 1 Troy Dawson 2020-05-21 20:04:42 UTC

Are you running RHEL 8.2 or CentOS Stream?
It probably will happen on both, but just incase I don't see it in my testing, that might help narrow things down.

Comment 2 Troy Dawson 2020-05-21 20:09:56 UTC
I have verified it on RHEL 8.2.
Investigating further.

Comment 3 David 2020-05-21 20:12:45 UTC
RHEL 8.2 - thank you!

Comment 4 Troy Dawson 2020-05-21 23:13:32 UTC
Still investigating, but here are some of the things I've found.
RHEL 8.2 and CentOS Stream both have the error.  Doesn't matter if it's an update or a fresh install.
All the files in the error are there, so it's not a missing files issue.
In the messages file you get errors similar to the following

systemsettings5[2058]: "file:///usr/share/kpackage/kcms/kcm_colors/contents/ui/main.qml" #012 "Error loading QML file.\n351: Type NewStuff.Button unavailable\n125: Type NewStuff.Dialog unavailable\n95: Type NewStuff.DialogContent unavailable\n64: Type NewStuff.Page unavailable\n108: Type NewStuff.QuestionAsker unavailable\n45: \"QtControls.Dialog.anchors\" is not available due to component versioning.\n"

I haven't been able to test a rebuild of kf5-knewstuff yet.  But I have verified that all the packages there when it was built are the newer qt5, plasma, and kf5 packages.  But I haven't ruled out a rebuild of it.

Comment 5 Troy Dawson 2020-05-22 13:26:38 UTC
Still working on getting/testing rebuilt packages.
Looking at the changes of what is listed in settings on the older KDE versus the new one, almost all of the ones that are failling are new, or have changed in some way.
The ones that still work were in the older version.  But, like I tested before, it doesn't seem to matter if I upgrade or do a fresh install.  So it's not an upgrade issue.

I'm guessing something was built out of order.  But tracking down what that is will take some time.

Comment 6 Troy Dawson 2020-06-04 18:56:21 UTC
I'm sorry it's taking so long to get this fixed.  I haven't forgotten about it.  bodhi has done some wonderfully crazy things with my kde update.  In the end, since this is irritating, but not critical, I'm going to have to release the kde update with this bug, and get it fixed as soon after as I can.
Thank you for your patience.

Comment 7 Troy Dawson 2020-06-15 17:00:50 UTC
Still working on this.
All the things I've tried haven't done anything.
I'm thinking this doesn't really  have to do with build orders, but something to do with the paths.  I'm having a hard time tracking down which paths are missing, and which config is needed to be tweeked.

If anyone has idea's on this.  I'm open to suggestions.

Comment 8 John Bollinger 2020-06-17 15:28:29 UTC
My apologies if this is already obvious to everyone, but the error message seems to be saying that _as imported by component org.kde.newstuff.QuestionAsker_, component QtControls.Dialog does not expose a property named "anchors".  In other words, it seems to indicate a feature-versioning issue.  Supposing that the message in fact accurately characterizes the problem, I am inclined to guess that there is a bona fide incompatibility, not necessarily in the underlying binaries, but at least in the QML.  I have tried to trace down such an issue, but my QML skills are weak.

It is furthermore conceivable that the key change -- whether intentional or errant -- responsible for the breakage manifesting is in Qt5 and its QML handling.  For example, perhaps one of the components involved is a bit sloppy, and Qt5 got stricter.  Or perhaps Qt5 acquired a bug that this particular combination of components happens to tickle.

Comment 9 Troy Dawson 2020-06-17 15:57:36 UTC
That is a very good point.
Looking at the error, my first guess is to try recompile and/or updating qt5-qtquickcontrols and qt5-qtquickcontrols2.

Comment 10 Troy Dawson 2020-06-17 18:59:14 UTC
Incase people are wondering, nope, not just those two packages.  Didn't fix anything.
I'm going to try updating all of the RHEL packages to 15.2.8, so they are all the same, and see if that works.
This is going to take a little longer than just those two.

Comment 11 Aram Minasyan 2020-06-19 05:12:19 UTC
I have installed the packages from https://copr.fedorainfracloud.org/coprs/loise/KentOS-8.2.2004/ over the broken KDE/QT/EPEL ones and they work. Just some info for people searching for a fix.

Comment 12 Troy Dawson 2020-06-19 13:30:01 UTC
Yep, if you need a fix, that will work.
Just know that those are qt5-5.15, while the qt5 in RHEL8 is qt5-5.12.

Comment 13 Aram Minasyan 2020-06-19 15:57:53 UTC
Sorry this is probably not the place for such discussion, but I have been a RedHat/CentOS consumer since 7.2 (Enigma).
After what RedHat has done (and I'm not just talking about throwing out KDE) I don't mind going off from RedHat versioning.

Comment 14 Troy Dawson 2020-06-19 17:07:36 UTC
Not a problem, I'm glad there is a work-around if people want to go that route.
I just wanted people to know why EPEL8 isn't able to go that route.

Comment 15 Troy Dawson 2020-06-23 22:18:35 UTC
I've tried various different things, still without success.  Here are the various things I've tried and the results.

Is "anchors" in the qt5 5.12.5/8 code?  Yes
I've grepped through several components, and some form of anchors is there.  I don't know enough of this feature to know what version or features are in there, but there is anchors code there.

I've tried different versions of kf5-knewstuff, and although that didn't fix things, it did give me a different error.  When I downgraded it to kf5-knewstuff-5.59.0, I got the following error when I click on "Global Theme".
  file:///usr/share/kpackage/kcms/kcm_lookandfeel/contents/ui/main.qml:24 module "org.kde.newstuff" version 1.62 is not installed

All of the errors end with "Type NewStuff.QuestionAsker unavailable\n45: \"QtControls.Dialog.anchors\" is not available due to component versioning." and line 45 is
  "anchors.centerIn: QtControls.Overlay.overlay"
I've searched through the code and "anchors.centerIn" appears to be in the code.  So my thought was that maybe we're calling QtControls with the wrong version, thus it isn't working.
With that in mind I've tried calling it with various different versions during import.  Without success.

Comment 16 Jan Grulich 2020-06-24 05:23:01 UTC
It should be correct, because "QtControls.Dialog.anchors.centerIn" comes from "QtControls.Popup" [1] and this property is there since Qt 5.8 so including QtControls 5.11 should be okay. Maybe you can try to import QtControls 5.12 in case the versioning is somehow broken.

[1] - https://doc.qt.io/qt-5/qml-qtquick-controls2-popup.html#anchors.centerIn-prop

Comment 17 Troy Dawson 2020-06-24 16:34:54 UTC
Thanks Jan for the pointer.  It didn't seem to help directly,  but it did get an idea into my head that provided a fairly good workaround.
Since we don't need the popup for everything, I figure it's better to be able to change things normally, and occasionally be missing some pop-up, than to not change things at all.
So I took out the line from Page.qml that calls QuestionAsker.
Everything seems to be working with that one change.
I'm sure there will be something that is missing, but I think for now that get's the majority of functionality back.
I'll have a test build soon, hopefully today.

Comment 18 Fedora Update System 2020-06-24 17:44:11 UTC
FEDORA-EPEL-2020-f21297604d has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-f21297604d

Comment 19 Fedora Update System 2020-06-25 01:12:02 UTC
FEDORA-EPEL-2020-f21297604d has been pushed to the Fedora EPEL 8 testing repository.

You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-f21297604d

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 20 Fedora Update System 2020-07-10 00:29:02 UTC
FEDORA-EPEL-2020-f21297604d has been pushed to the Fedora EPEL 8 stable repository.
If problem still persists, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.