-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.4.2, 6.5.0 Beta1
-
None
-
b3f81380bd0bd0130620f416658deca86f005052, 049022370 (6.4)
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.
- 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 |