Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.9.2
-
Arch Linux, Qt 5.9.1 and 5.9.2 build from source (behavior is identical for official builds). Qt Creator 4.4.1
Description
Upgraded my build environment from 5.9.1 -> 5.9.2, and now the application does not start any more. The application is the open source project Subsurface Divelog (https://github.com/Subsurface-divelog/). This is a mix of C, C++, Qt and for the mobile version a QML based UI.
The mobile version (that can be build and run on desktop as well) does load a main.qml file in its very early stages of execution:
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:///qml/main.qml")));
The engine.load() call does not produce any output, but fails silently, without any valid result.
Before this load() call, there are numerous qmlRegisterType() calls, and maximum 2 qmlRegisterSingletonType() calls. Temporarily disabling the qmlRegisterSingletonType() calls restores the engine.load() call, in such a way that numerous QML errors are reported. Obliviously, that version does not run at all due to the disabled singletons, but the engine.load() returns with a valid response. My suspicion went towards singleton handling in QML/C++ context.
I found commit 98358715930739ca8de172d88c5ce6941c275ff3 (https://codereview.qt-project.org/#/c/205260/) in qtdeclarative. Reverted that, and the application is running again, but now with 5.9.2 instead of 5.9.1. Revering it, is obviously no valid solution, but shows the strong relation to the problem at hand.
Attachments
Issue Links
- duplicates
-
QTBUG-63770 QtQuick Application window not showing up, process gets stuck
- Closed
- is duplicated by
-
QTBUG-64934 QQmlApplicationEngine.load() still occasionally fails silently
- Reported
-
QTBUG-39703 It should be able to use a property in a singleton from an another singleton
- Open
- relates to
-
QTBUG-66976 Disk caching broken for modules with multiple QML singletons
- Closed
-
QTBUG-49370 Use Singleton object from other Singleton object within the same package will hang
- Closed
For Gerrit Dashboard: QTBUG-64017 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
209990,3 | Prevent the QML engine from registering circular dependencies | 5.9 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
209993,1 | Prevent the QML engine from registering circular dependencies | wip/new-backend | qt/qtdeclarative | Status: ABANDONED | 0 | 0 |
222749,2 | Fix circular dependency handling for composite singletons | 5.11 | qt/qtdeclarative | Status: ABANDONED | -2 | 0 |