[Interest] Qt6: QQmlApplicationEngine::load eating processor and memory and never returns

Alexander Dyagilev alervdvcw at gmail.com
Tue Jul 5 14:54:23 CEST 2022


Hello,

Qt 5.12.12 - works fine.

Qt6: debug build - works fine. Release build - app can't start: it 
stucks in QQmlApplicationEngine::load call. It consumes CPU and eats 
more and more memory (GBs).

Any suggestions on how to find the culprit? My QML code is very large, 
it would not be an easy task...

I ran it under debugger, waited for it to start eating memory, clicked 
pause and this is the stack trace Qt Creator shown me:

1 QV4::MemoryManager::allocString Qt6Qml                   0x7ffc6c4af715
2 QV4::ExecutionEngine::newString Qt6Qml                   0x7ffc6c40d295
3 QQmlPropertyBinding::jsExpression Qt6Qml                   0x7ffc6c46acad
4 QV4::QQmlContextWrapper::virtualPut Qt6Qml                   
0x7ffc6c458d81
5 QV4::QQmlContextWrapper::lookupContextObjectProperty 
Qt6Qml                   0x7ffc6c45a0bf
6 QtPrivate::QDataStreamOperatorForType<std::nullptr_t,1>::dataStreamIn 
fdm                      0x7ff7ee9728b2
7 QV4::Value::toUInt16 Qt6Qml                   0x7ffc6c4a84ad
8 QV4::Function::call Qt6Qml                   0x7ffc6c425ae4
9 QQmlJavaScriptExpression::evaluate Qt6Qml                   
0x7ffc6c518469
10 QQmlBinding::dependencies Qt6Qml                   0x7ffc6c4d01fe
11 QQmlBinding::update Qt6Qml                   0x7ffc6c4d34b3
12 QQmlBinding::setEnabled Qt6Qml                   0x7ffc6c4d1f5b
13 QQmlObjectCreator::finalize Qt6Qml                   0x7ffc6c53a917
14 QQmlIncubatorPrivate::incubate Qt6Qml                   0x7ffc6c51428b
15 QQmlEnginePrivate::incubate Qt6Qml                   0x7ffc6c5138f6
16 QQmlComponent::create Qt6Qml                   0x7ffc6c4e31ee
17 QQuickStackViewAttached::`default constructor closure'                
Qt6QuickTemplates2       0x7ffc70f2b8e5
18 QQuickStackView::push Qt6QuickTemplates2       0x7ffc70f2fef9
19 QQuickStackView::qt_metacall Qt6QuickTemplates2       0x7ffc70f30290
20 QQmlVMEMetaObject::metaCall Qt6Qml                   0x7ffc6c5aaa92
21 QQmlVMEMetaObject::metaCall Qt6Qml                   0x7ffc6c5aaa76
22 QMetaObject::metacall Qt6Core                  0x7ffc6be4df9f
23 QQmlObjectCreator::setupFunctions Qt6Qml                   
0x7ffc6c541e8c
24 QV4::QObjectMethod::callInternal Qt6Qml                   0x7ffc6c464e90
25 QV4::FunctionObject::call Qt6Qml                   0x7ffc6c3cdfd3
26 QV4::Runtime::CallQmlContextPropertyLookup::call 
Qt6Qml                   0x7ffc6c47b365
27 QV4::Value::toUInt16 Qt6Qml                   0x7ffc6c4ab68a
28 QV4::Value::toUInt16 Qt6Qml                   0x7ffc6c4a8723
29 QV4::Function::updateInternalClass Qt6Qml                   
0x7ffc6c426f50
30 QV4::FunctionObject::call Qt6Qml                   0x7ffc6c3cdfd3
31 QV4::Value::toUInt16 Qt6Qml                   0x7ffc6c4ab4b9
32 QV4::Value::toUInt16 Qt6Qml                   0x7ffc6c4a8723
33 QV4::Function::updateInternalClass Qt6Qml                   
0x7ffc6c426f50
34 QV4::Function::updateInternalClass Qt6Qml                   
0x7ffc6c428249
35 QV4::Function::updateInternalClass Qt6Qml                   
0x7ffc6c426d6b
36 QV4::FunctionObject::call Qt6Qml                   0x7ffc6c4286e6
37 QQmlPrivate::AOTCompiledContext::callQmlContextPropertyLookup 
Qt6Qml                   0x7ffc6c4c45d2
38 QtPrivate::QDataStreamOperatorForType<std::nullptr_t,1>::dataStreamIn 
fdm                      0x7ff7ee92cffc
39 QV4::Value::toUInt16 Qt6Qml                   0x7ffc6c4a84ad
40 QV4::Function::call Qt6Qml                   0x7ffc6c425ae4
41 QQmlJavaScriptExpression::evaluate Qt6Qml                   
0x7ffc6c518469
42 QQmlBoundSignalExpression::evaluate Qt6Qml                   
0x7ffc6c4d63e8
43 QQmlBoundSignalExpression::~QQmlBoundSignalExpression 
Qt6Qml                   0x7ffc6c4d5e28
44 QQmlNotifier::emitNotify Qt6Qml                   0x7ffc6c532f90
45 QQmlData::signalEmitted Qt6Qml                   0x7ffc6c4fcd81
46 QObject::qt_static_metacall Qt6Core                  0x7ffc6be7db84
47 QMetaObject::activate Qt6Core                  0x7ffc6be803b4
48 QQmlObjectCreator::finalize Qt6Qml                   0x7ffc6c53afc6
49 QQmlComponentPrivate::complete Qt6Qml                   0x7ffc6c4e2c79
50 QQmlComponentPrivate::completeCreate Qt6Qml                   
0x7ffc6c4e2eb9
51 QQmlComponent::create Qt6Qml                   0x7ffc6c4e332f
52 QQmlApplicationEnginePrivate::finishLoad Qt6Qml                   
0x7ffc6c4cce1f
53 QQmlApplicationEnginePrivate::startLoad Qt6Qml                   
0x7ffc6c4cdceb
54 QQmlApplicationEngine::load Qt6Qml                   0x7ffc6c4cd5cd

It also prints the following messages when I run app using Qt Creator:

qt.core.qobject.connect: QObject::connect(QObject, Unknown): invalid 
nullptr parameter
qt.network.ssl: No functional TLS backend was found
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on background is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on popup is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.
Binding on contentItem is not deferred as requested by the 
DeferredPropertyNames class info because one or more of its sub-objects 
contain an id.



More information about the Interest mailing list