Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.4.0, 5.9
-
None
-
Windows 7
-
eec58534ab9c3fae74a1b4cb0861d4b40253cd2d
Description
When declaring a property alias in QML to another qml file (see atachments), the application will abort with this assert:
ASSERT: "typeRef" in file compiler\qqmltypecompiler.cpp, line 1605
Full backtrace:
-------------------------------------------------------------------- #0 0x75b68e76 in msvcrt!abort () from C:\Windows\syswow64\msvcrt.dll No symbol table info available. #1 0x6b78fe35 in qt_message_fatal (context=..., message=...) at global\qlogging.cpp:1414 No locals. #2 0x6b78d8e0 in QMessageLogger::fatal (this=0x1dafcf7c, msg=0x6baa502c <_ZStL6ignore+227> "ASSERT: \"%s\" in file %s, line %d") at global\qlogging.cpp:639 message = {static null = {<No data fields>}, d = 0x27b8a898} ap = 0x1dafcf58 "XjÇ" #3 0x6b78aceb in qt_assert (assertion=0xc76a58 <_ZStL6ignore+1332> "typeRef", file=0xc769f2 <_ZStL6ignore+1230> "compiler\\qqmltypecompiler.cpp", line=1605) at global\qglobal.cpp:2810 __PRETTY_FUNCTION__ = "void qt_assert(const char*, const char*, int)" #4 0x009d7381 in QQmlComponentAndAliasResolver::resolveAliases (this=0x1dafd234) at compiler\qqmltypecompiler.cpp:1605 targetObject = 0x1d85c6e8 typeRef = 0x0 notifySignal = -1 propertyFlags = 8 dynamicData = @0x0: <error reading variable> propertyName = {static null = {<No data fields>}, d = 0x1dafd0d0} subProperty = {m_string = 0x0, m_position = 0, m_size = 0} type = 0 resettable = false targetObjectIndex = 1 targetId = 0 propIdx = -1 flags = 0 idIndex = 5 aliasPropertyValue = {static null = {<No data fields>}, d = 0x6baaa240 <QArrayData::shared_null>} property = {m_string = 0x1dafd004, m_position = 0, m_size = 0} propertySeparator = -1 propType = 0 writable = false aliasData = {contextIdx = 498061304, propertyIdx = 666411696, propType = 498061300, flags = 498061296, notifySignal = 666411696} vmd = 0x5 propertyIndex = 0 obj = 0x1d85c638 propertyCache = 0x27b8c010 effectivePropertyIndex = 35 effectiveAliasIndex = 0 effectiveSignalIndex = 49 p = 0x1d85c6c0 objectIndex = 0 _container_ = {c = {<QListSpecialMethods<int>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x27b8c3d0}, d = 0x27b8c3d0}}, i = {i = 0x27b8c3e0}, e = {i = 0x27b8c3e4}, control = 1} #5 0x009d6c49 in QQmlComponentAndAliasResolver::resolve (this=0x1dafd234) at compiler\qqmltypecompiler.cpp:1508 objCountWithoutSynthesizedComponents = 2 #6 0x009d09b4 in QQmlTypeCompiler::compile (this=0x1dafd48c) at compiler\qqmltypecompiler.cpp:197 resolver = {<QQmlCompilePass> = {_vptr.QQmlCompilePass = 0xd2c8c8 <vtable for QQmlComponentAndAliasResolver+8>, compiler = 0x1dafd48c}, enginePrivate = 0x1d7a16b8, pool = 0x1d84cc20, qmlObjects = 0x1d84cc7c, indexOfRootObject = 0, componentRoots = {d = 0x6baaa240 <QArrayData::shared_null>}, componentBoundaries = {d = 0x6baaa310 <qt_array+16>}, _componentIndex = -1, _idToObjectIndex = {{d = 0x1d89f348, e = 0x1d89f348}}, _objectIndexToIdInScope = 0x27b8a7a0, _objectsWithAliases = {<QListSpecialMethods<int>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x27b8c3d0}, d = 0x27b8c3d0}}, resolvedTypes = 0x27b8a784, propertyCaches = {d = 0x27bc0860}, vmeMetaObjectData = 0x27b8a78c, objectIndexToIdForRoot = 0x27b8a7a0, objectIndexToIdPerComponent = 0x27b8a79c} resolvedTypes = @0x1d84c3e0: {{d = 0x27b62478, e = 0x27b62478}} bindingCount = 498062424 scripts = @0x1d84c3d4: {<QListSpecialMethods<QQmlTypeData::ScriptReference>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x6baaddfc <QListData::shared_null>}, d = 0x6baaddfc <QListData::shared_null>}} qmlGenerator = {<No data fields>} qmlUnit = 0x1dafd438 validator = {<QQmlCompilePass> = {_vptr.QQmlCompilePass = 0xd2c8c8 <vtable for QQmlComponentAndAliasResolver+8>, compiler = 0x1dafd48c}, <QQmlCustomParserCompilerBackend> = {_vptr.QQmlCustomParserCompilerBackend = 0x1d7a16b8}, enginePrivate = 0x1d84cc20, qmlUnit = 0x1d84cc7c, resolvedTypes = @0x0, customParsers = @0x6baaa240, propertyCaches = @0x6baaa310, objectIndexToIdPerComponent = {{d = 0xffffffff, e = 0xffffffff}}, customParserBindingsPerObject = 0x1d89f348, deferredBindingsPerObject = {{d = 0x27b8a7a0, e = 0x27b8a7a0}}, _seenObjectWithId = 208} parserStatusCount = 498062496 objectCount = 12301251 #7 0x00a8b6ad in QQmlTypeData::compile (this=0x1d84c388) at qml\qqmltypeloader.cpp:2359 prof = {<QQmlProfilerHelper> = {<QQmlProfilerDefinitions> = {<No data fields>}, profiler = 0x1d850248}, <No data fields>} compiler = {errors = {<QListSpecialMethods<QQmlError>> = {<No data fields>}, {p = {static shared_null = {ref = {atomic = {_q_value = -1}}, alloc = 0, begin = 0, end = 0, array = {0x0}}, d = 0x6baaddfc <QListData::shared_null>}, d = 0x6baaddfc <QListData::shared_null>}}, engine = 0x1d7a16b8, compiledData = 0x27b8a758, typeData = 0x1d84c388, document = 0x1d84cc18, customParsers = {{d = 0x6baadc00 <QHashData::shared_null>, e = 0x6baadc00 <QHashData::shared_null>}}} #8 0x00a8a6bc in QQmlTypeData::done (this=0x1d84c388) at qml\qqmltypeloader.cpp:2184 type = 0x0 #9 0x00a83e4a in QQmlDataBlob::tryDone (this=0x1d84c388) at qml\qqmltypeloader.cpp:608 No locals. #10 0x00a8599b in QQmlDataLoader::setData (this=0x1d7a173c, blob=0x1d84c388, d=...) at qml\qqmltypeloader.cpp:1224 _qml_memory_scope = {pushed = false} #11 0x00a858af in QQmlDataLoader::setData (this=0x1d7a173c, blob=0x1d84c388, file=0x1dafd678) at qml\qqmltypeloader.cpp:1206 _qml_memory_scope = {pushed = false} d = {d = {ptr_value = 498062970, static FlagBit = <optimized out>, static Flag2Bit = <optimized out>, static FlagsMask = <optimized out>}} #12 0x00a850c3 in QQmlDataLoader::loadThread (this=0x1d7a173c, blob=0x1d84c388) at qml\qqmltypeloader.cpp:1084 file = {d = 0x1d84c8d0} _qml_memory_scope = {pushed = false} engine_d = 0x1d7a16b8 debugCache = {{d = 0x6baadc00 <QHashData::shared_null>, e = 0x6baadc00 <QHashData::shared_null>}} #13 0x00a845b2 in QQmlDataLoaderThread::loadThread (this=0x1d7a1890, b=0x1d84c388) at qml\qqmltypeloader.cpp:817 No locals. #14 0x00c5f101 in void QQmlThread::callMethodInThread<QQmlDataBlob*, QQmlDataBlob*, QQmlDataLoaderThread>(void (QQmlDataLoaderThread::*)(QQmlDataBlob*), QQmlDataBlob* const&)::I::call(QQmlThread*) (this=0x1d84c840, thread=0x1d7a1890) at ../../include/QtQml/5.4.0/QtQml/private/../../../../../src/qml/qml/ftw/qqmlthread_p.h:154 me = 0x1d7a1890 #15 0x00acd9ca in QQmlThreadPrivate::threadEvent (this=0x1d7a18c0) at qml\ftw\qqmlthread.cpp:190 message = 0x1d84c840 #16 0x00acd7af in QQmlThreadPrivate::event (this=0x1d7a18c0, e=0x1d84c870) at qml\ftw\qqmlthread.cpp:128 No locals. #17 0x0a66f4e5 in QApplicationPrivate::notify_helper (this=0x1bb94730, receiver=0x1d7a18c0, e=0x1d84c870) at kernel\qapplication.cpp:3722 consumed = false #18 0x0a66ceb0 in QApplication::notify (this=0x28fe40, receiver=0x1d7a18c0, e=0x1d84c870) at kernel\qapplication.cpp:3164 d = 0x1bb94730 __PRETTY_FUNCTION__ = "virtual bool QApplication::notify(QObject*, QEvent*)" res = false #19 0x6b92e6f8 in QCoreApplication::notifyInternal (this=0x28fe40, receiver=0x1d7a18c0, event=0x1d84c870) at kernel\qcoreapplication.cpp:932 threadData = 0x1d7a0ea0 loopLevelCounter = {threadData = 0x1d7a0ea0} result = false cbdata = {0x1d7a18c0, 0x1d84c870, 0x1dafdd27} d = 0x1d7a0e18 #20 0x6b9d47e3 in QCoreApplication::sendEvent (receiver=0x1d7a18c0, event=0x1d84c870) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228 No locals. #21 0x6b92f890 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1d7a0ea0) at kernel\qcoreapplication.cpp:1536 e = 0x1d84c870 pe = @0x1d84c8a8: {receiver = 0x1d7a18c0, event = 0x0, priority = 0} r = 0x1d7a18c0 unlocker = {m = @0x1dafdda0} event_deleter = {d = 0x1d84c870} __PRETTY_FUNCTION__ = "static void QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*)" locker = {val = 494538428} startOffset = 0 i = @0x1d7a0eb4: 1 cleanup = {receiver = 0x0, event_type = 0, data = 0x1d7a0ea0, exceptionCaught = true} #22 0x6b97fad6 in QEventDispatcherWin32::sendPostedEvents (this=0x1d7a1468) at kernel\qeventdispatcher_win.cpp:1202 d = 0x1d7a0fa8 #23 0x6b97cec8 in qt_internal_proc(HWND__*, unsigned int, unsigned int, long)@16 (hwnd=0x106e8, message=1025, wp=0, lp=0) at kernel\qeventdispatcher_win.cpp:412 localSerialNumber = 2 msg = {hwnd = 0x106e8, message = 1025, wParam = 0, lParam = 0, time = 1805111731, pt = {x = 0, y = 0}} q = 0x1d7a1468 dispatcher = 0x1d7a1468 result = 0 d = 0x1d7a0fa8 #24 0x759562fa in gapfnScSendMessage () from C:\Windows\syswow64\user32.dll No symbol table info available. ...
Attachments
For Gerrit Dashboard: QTBUG-43567 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
216313,7 | Fix segfault when alias target refers to lowercase-named type | 5.9 | qt/qtdeclarative | Status: MERGED | -2 | 0 |