Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.4.2, 6.5.0 Beta1
-
None
-
b3f81380bd0bd0130620f416658deca86f005052, 049022370 (6.4)
Description
The attached code tries to get rid of the messages of QTBUG-110248 by adding the suggested QML_SEQUENTIAL_CONTAINER. Doing so crashes with
AddressSanitizer:DEADLYSIGNAL ================================================================= ==349426==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000010 (pc 0x7ff98634815b bp 0x6040000b9420 sp 0x7ffc68b35130 T0) ==349426==The signal is caused by a READ memory access. ==349426==Hint: address points to the zero page. #0 0x7ff98634815b in QMetaObject::indexOfProperty(char const*) const /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.cpp:1032 #1 0x7ff9878a787e in initValueLookup /home/qt/work/qt/qtdeclarative/src/qml/qml/qqml.cpp:999 #2 0x7ff9878aac79 in QQmlPrivate::AOTCompiledContext::initGetValueLookup(unsigned int, QMetaObject const*, QMetaType) const /home/qt/work/qt/qtdeclarative/src/qml/qml/qqml.cpp:1570 #3 0x4153af in QmlCacheGeneratedCode::_sandbox_main_qml::aotBuiltFunctions::{lambda(QQmlPrivate::AOTCompiledContext const*, void*, QQmlPrivate::AOTCompiledContext const**)#1}::operator()(QQmlPrivate::AOTCompiledContext const, QQmlPrivate::AOTCompiledContext const*, void*) const::{lambda(QQmlPrivate::AOTCompiledContext const, void*)#1}::operator()(QQmlPrivate::AOTCompiledContext const, void*) const (/var/home/prcs1076/tmp/sandbox/build/appsandbox+0x4153af) #4 0x415622 in QmlCacheGeneratedCode::_sandbox_main_qml::aotBuiltFunctions::{lambda(QQmlPrivate::AOTCompiledContext const*, void*, QQmlPrivate::AOTCompiledContext const**)#1}::_FUN(QQmlPrivate::AOTCompiledContext const, QQmlPrivate::AOTCompiledContext const*, void*) (/var/home/prcs1076/tmp/sandbox/build/appsandbox+0x415622) #5 0x7ff98787353f in QV4::Moth::VME::exec(QV4::MetaTypesStackFrame*, QV4::ExecutionEngine*) /home/qt/work/qt/qtdeclarative/src/qml/jsruntime/qv4vme_moth.cpp:472 #6 0x7ff9877cf288 in QV4::Function::call(QObject*, void**, QMetaType const*, int, QV4::ExecutionContext*) /home/qt/work/qt/qtdeclarative/src/qml/jsruntime/qv4function.cpp:39 #7 0x7ff987919a07 in QQmlJavaScriptExpression::evaluate(void**, QMetaType const*, int) /home/qt/work/qt/qtdeclarative/src/qml/qml/qqmljavascriptexpression.cpp:270 #8 0x7ff9878ba474 in QQmlBinding::evaluate(void*, QMetaType) /home/qt/work/qt/qtdeclarative/src/qml/qml/qqmlbinding_p.h:115 #9 0x7ff9878ba474 in QQmlNonbindingBinding::doUpdate(QQmlJavaScriptExpression::DeleteWatcher const&, QFlags<QQmlPropertyData::WriteFlag>, QV4::Scope&) /home/qt/work/qt/qtdeclarative/src/qml/qml/qqmlbinding.cpp:237 #10 0x7ff9878b6488 in QQmlBinding::update(QFlags<QQmlPropertyData::WriteFlag>) /home/qt/work/qt/qtdeclarative/src/qml/qml/qqmlbinding.cpp:163 #11 0x7ff987941ac5 in QQmlObjectCreator::finalize(QQmlInstantiationInterrupt&) /home/qt/work/qt/qtdeclarative/src/qml/qml/qqmlobjectcreator.cpp:1391 #12 0x7ff9878ce268 in QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) /home/qt/work/qt/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1027 #13 0x7ff9878ce268 in QQmlComponentPrivate::complete(QQmlEnginePrivate*, QQmlComponentPrivate::ConstructionState*) /home/qt/work/qt/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1023 #14 0x7ff9878d1786 in QQmlComponentPrivate::completeCreate() /home/qt/work/qt/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1121 #15 0x7ff9878d18d2 in QQmlComponent::completeCreate() /home/qt/work/qt/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:1108 #16 0x7ff9878d18d2 in QQmlComponent::create(QQmlContext*) /home/qt/work/qt/qtdeclarative/src/qml/qml/qqmlcomponent.cpp:840 #17 0x7ff9878b2902 in QQmlApplicationEnginePrivate::finishLoad(QQmlComponent*) /home/qt/work/qt/qtdeclarative/src/qml/qml/qqmlapplicationengine.cpp:122 #18 0x7ff9878b2eab in QQmlApplicationEngine::load(QUrl const&) /home/qt/work/qt/qtdeclarative/src/qml/qml/qqmlapplicationengine.cpp:287 #19 0x40d3e4 in main (/var/home/prcs1076/tmp/sandbox/build/appsandbox+0x40d3e4) #20 0x7ff985e1650f in __libc_start_call_main (/lib64/libc.so.6+0x2750f) #21 0x7ff985e165c8 in __libc_start_main@GLIBC_2.2.5 (/lib64/libc.so.6+0x275c8) #22 0x404754 in _start (/var/home/prcs1076/tmp/sandbox/build/appsandbox+0x404754)AddressSanitizer can not provide additional info. SUMMARY: AddressSanitizer: SEGV /home/qt/work/qt/qtbase/src/corelib/kernel/qmetaobject.cpp:1032 in QMetaObject::indexOfProperty(char const*) const ==349426==ABORTING
Works in when running via debugger.
Attachments
Issue Links
- duplicates
-
QTBUG-110438 QML_SEQUENTIAL_CONTAINERS and assignment to QML property does not work
- Closed
For Gerrit Dashboard: QTBUG-110315 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
456259,2 | QmlCompiler: Wrap sequences with unknown elemnts in QVariantList | 6.4 | qt/qtdeclarative | Status: MERGED | +2 | 0 |