-
Bug
-
Resolution: Duplicate
-
P1: Critical
-
6.4
-
8ea9646019 (qt/qtdeclarative/dev) 8ea9646019 (qt/qtdeclarative/6.4) 8ea9646019 (qt/tqtc-qtdeclarative/6.4)
The following QML code crashes qmlsc:
Item {
id: myItem
readonly property var foo: myItem.actionList
readonly property list<Action> actionList: [
Action {}
]
}
Stacktrace:
#0 QQmlJSScope::accessSemantics (this=0x0) at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljsscope_p.h:482
#1 QQmlJSTypeResolver::listType (this=this@entry=0x7ffc0dfd6358, elementType=..., mode=mode@entry=QQmlJSTypeResolver::UseListReference)
at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljstyperesolver.cpp:147
#2 0x00007f52d7e22984 in operator() (__closure=0x7ffc0dfd31b0, scope=..., mode=<optimized out>) at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljstyperesolver.cpp:1014
#3 0x00007f52d7e2367e in operator()<QDeferredSharedPointer<const QQmlJSScope> > (mode=QQmlJSScope::NotExtension, scope=..., this=<synthetic pointer>)
at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljsutils_p.h:191
#4 QQmlJSUtils::searchBaseAndExtensionTypes<QDeferredSharedPointer<const QQmlJSScope>, QQmlJSTypeResolver::memberType(const ConstPtr&, const QString&) const::<lambda(const ConstPtr&, QQmlJSSc
ope::ExtensionKind)> > (check=..., type=...) at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljsutils_p.h:225
#5 QQmlJSTypeResolver::memberType (this=this@entry=0x7ffc0dfd6358, type=..., name=...) at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljstyperesolver.cpp:1053
#6 0x00007f52d7e23e3a in QQmlJSTypeResolver::memberType (this=this@entry=0x7ffc0dfd6358, type=..., name=...) at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljstyperesolver.cpp:1099
#7 0x00007f52d7e0638f in QQmlJSTypePropagator::propagatePropertyLookup (this=0x7ffc0dfd5060, propertyName=...) at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljstypepropagator.cpp:710
#8 0x00007f52d7e07b5f in QQmlJSTypePropagator::generate_GetLookup (this=<optimized out>, index=<optimized out>) at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljstypepropagator.cpp:886
#9 0x00007f52d78a8ad1 in QV4::Moth::ByteCodeHandler::decode (this=this@entry=0x7ffc0dfd5060, code=0x184ea34 "\030\006\002", len=<optimized out>)
at /home/qt/work/qt/qtdeclarative/src/qml/compiler/qv4bytecodehandler.cpp:77
#10 0x00007f52d7e0c129 in QQmlJSTypePropagator::run (this=0x7ffc0dfd5060, function=<optimized out>, error=<optimized out>)
at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljstypepropagator.cpp:78
#11 0x000000000040f2d7 in ?? ()
#12 0x000000000041022d in ?? ()
#13 0x00007f52d7d6909c in operator() (bindingOrFunction=..., __closure=<synthetic pointer>) at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljscompiler.cpp:327
#14 std::for_each<__gnu_cxx::__normal_iterator<BindingOrFunction*, std::vector<BindingOrFunction> >, qCompileQmlFile(QmlIR::Document&, const QString&, QQmlJSSaveFunction, QQmlJSAotCompiler*, Q
QmlJSCompileError*, bool, QV4::Compiler::CodegenWarningInterface*, const QString*)::<lambda(const BindingOrFunction&)> > (__f=..., __last={m_binding = 0x1d3c360, m_function = 0x31},
__first=...) at /opt/rh/gcc-toolset-10/root/usr/include/c++/10/bits/stl_algo.h:3844
#15 qCompileQmlFile(QmlIR::Document&, QString const&, std::function<bool (QV4::CompiledData::SaveableUnitPointer const&, QMap<int, QQmlJSAotFunction> const&, QString*)>, QQmlJSAotCompiler*, QQ
mlJSCompileError*, bool, QV4::Compiler::CodegenWarningInterface*, QString const*) (irDocument=..., inputFileName=..., saveFunction=..., aotCompiler=aotCompiler@entry=0x7ffc0dfd6350,
error=error@entry=0x7ffc0dfd60f0, storeSourceLocation=<optimized out>, interface=<optimized out>, fileContents=<optimized out>)
at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljscompiler.cpp:350
#16 0x00007f52d7d6a316 in qCompileQmlFile(QString const&, std::function<bool (QV4::CompiledData::SaveableUnitPointer const&, QMap<int, QQmlJSAotFunction> const&, QString*)>, QQmlJSAotCompiler*
, QQmlJSCompileError*, bool, QV4::Compiler::CodegenWarningInterface*, QString const*) (inputFileName=..., saveFunction=..., aotCompiler=0x7ffc0dfd6350, error=0x7ffc0dfd60f0,
storeSourceLocation=<optimized out>, interface=0x4294a8, fileContents=0x0) at /home/qt/work/qt/qtdeclarative/src/qmlcompiler/qqmljscompiler.cpp:211
#17 0x000000000040b29f in ?? ()
#18 0x00007f52d6a49550 in __libc_start_call_main () from /lib64/libc.so.6
#19 0x00007f52d6a49609 in __libc_start_main_impl () from /lib64/libc.so.6
#20 0x000000000040b61e in ?? ()
The attached example reproduces the case.
- duplicates
-
QTBUG-103920 qmlcachegen crashes when code uses list<...> qml type
-
- Closed
-