Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-43567

[crash] when using a qml property alias to another qml file

    XMLWordPrintable

Details

    • 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

        1. data.qml
          0.1 kB
        2. main.qml
          0.2 kB
        3. qtbug43567.zip
          2 kB
        For Gerrit Dashboard: QTBUG-43567
        # Subject Branch Project Status CR V

        Activity

          People

            shausman Simon Hausmann
            cristianbuzdug Cristian Buzduga
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes