Details
-
Bug
-
Resolution: Duplicate
-
P1: Critical
-
6.4
-
8ea9646019 (qt/qtdeclarative/dev) 8ea9646019 (qt/qtdeclarative/6.4) 8ea9646019 (qt/tqtc-qtdeclarative/6.4)
Description
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.
Attachments
Issue Links
- duplicates
-
QTBUG-103920 qmlcachegen crashes when code uses list<...> qml type
- Closed