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

quickBeginDeferred: crash in combination with inline components

    XMLWordPrintable

Details

    • 84835c51f (dev), d48d4d978 (dev), 7b239f4de (6.8), 48e30b628 (6.8)

    Description

      The attached example creates an inline component "Button" in a file called MyComponents.qml. This component derives from QQuickButton. When it's instantiated from Main.qml, it causes the application to hit an assert:

      ASSERT: "_size < _alloc" in file qtdeclarative/src/qml/qml/ftw/qfinitestack_p.h, line 79

      The stack trace indicates that this has to do with the "background" delegate of a QQuickControl being deferred until QQuickControl::componentComplete().

           frame #7: 0x000000010b00fc30 QtCore`qt_assert(assertion="_size < _alloc", file="/Users/richard/dev/qt/source/dev/qtdeclarative/src/qml/qml/ftw/qfinitestack_p.h", line=79) at qassert.cpp:105:14
          frame #8: 0x00000001054af1c4 QtQml`QFiniteStack<QQmlParserStatus*>::push(this=0x0000600001b328a8, o=0x000000016fdfcc18) at qfinitestack_p.h:79:5
          frame #9: 0x00000001054a520c QtQml`QQmlObjectCreator::createInstance(this=0x000000014b645070, index=2, parent=0x0000600001730c40, isContextObject=false) at qqmlobjectcreator.cpp:1422:47
          frame #10: 0x00000001054aa93c QtQml`QQmlObjectCreator::setPropertyBinding(this=0x000000014b645070, bindingProperty=0x0000600001c30e40, binding=0x000000014c815c8c) at qqmlobjectcreator.cpp:886:28
          frame #11: 0x00000001054ce118 QtQml`QQmlObjectCreator::populateDeferred(QObject*, int, QQmlPropertyPrivate const*, QV4::CompiledData::Binding const*)::$_0::operator()(this=0x000000016fdfddf0) const at qqmlobjectcreator.cpp:266:9
          frame #12: 0x00000001054a5d68 QtQml`void QQmlObjectCreator::doPopulateDeferred<QQmlObjectCreator::populateDeferred(QObject*, int, QQmlPropertyPrivate const*, QV4::CompiledData::Binding const*)::$_0>(this=0x000000014b645070, instance=0x0000000000000000, deferredIndex=1, f=(unnamed class) @ 0x000000016fdfddf0) at qqmlobjectcreator_p.h:306:9
          frame #13: 0x00000001054a5a94 QtQml`QQmlObjectCreator::populateDeferred(this=0x000000014b645070, instance=0x0000600001730c40, deferredIndex=1, qmlProperty=0x0000600001c30e10, binding=0x000000014c815c8c) at qqmlobjectcreator.cpp:250:5
          frame #14: 0x00000001054a62e4 QtQml`QQmlObjectCreator::populateDeferredBinding(this=0x000000014b645070, qmlProperty=0x000000016fdfe198, deferredIndex=1, binding=0x000000014c815c8c) at qqmlobjectcreator.cpp:290:9
          frame #15: 0x0000000113621a4c QtQuickTemplates2`QtQuickPrivate::beginDeferred(enginePriv=0x000000014c8070d0, property=0x000000016fdfe198, deferredState=0x000000016fdfe1a0 size=0) at qquickdeferredexecute.cpp:93:30
          frame #16: 0x00000001136213c8 QtQuickTemplates2`QtQuickPrivate::beginDeferred(object=0x0000600001730c40, property=0x000000016fdfe270, delegate=0x000000014b643278, isOwnState=true) at qquickdeferredexecute.cpp:116:13
          frame #17: 0x00000001135c98ec QtQuickTemplates2`void quickBeginDeferred<QQuickItem>(object=0x0000600001730c40, property=0x000000016fdfe270, delegate=0x000000014b643278) at qquickdeferredexecute_p_p.h:41:5
          frame #18: 0x000000011361907c QtQuickTemplates2`QQuickControlPrivate::executeBackground(this=0x000000014b643080, complete=true) at qquickcontrol.cpp:750:9
          frame #19: 0x000000011361bfbc QtQuickTemplates2`QQuickControl::componentComplete(this=0x0000600001730c40) at qquickcontrol.cpp:1950:8
          frame #20: 0x00000001135ccf48 QtQuickTemplates2`QQuickAbstractButton::componentComplete(this=0x0000600001730c40) at qquickabstractbutton.cpp:1152:20
      

       

      Attachments

        For Gerrit Dashboard: QTBUG-131442
        # Subject Branch Project Status CR V

        Activity

          People

            fabiankosmale Fabian Kosmale
            richard Richard Moe Gustavsen
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: