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

Using DelegateModel with Repeater causes crashes

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.5.0
    • None
    • macOS

    Description

      If I try to use a DelegateModel to do sort/filtering and visualize it with a Repeater inside a Column, Qt crashes. If I visualize the data with a ListView, it does not crash.

      ```

      Qt Warn: QQuickItem::stackBefore: Cannot stack PdgAttrDelegate_QMLTYPE_1519(0x6000064500e0, parent=0x600006157400, geometry=0,0 0x0) before PdgAttrDelegate_QMLTYPE_1519(0x6000023a4ee0), which must be a sibling
      Qt Warn: QQuickItem::stackBefore: Cannot stack PdgAttrDelegate_QMLTYPE_1519(0x600006450ee0, parent=0x600006157400, geometry=0,0 0x0) before PdgAttrDelegate_QMLTYPE_1519(0x6000023a4ee0), which must be a sibling
      86956: Fatal error: Segmentation fault (sent by pid 0)
      – TRACEBACK BEGIN –
      2   libUT.dylib                         0x0000000140a191e8 stackTrace(UTsignalHandlerArg) + 272
      3   libUT.dylib                         0x0000000140a18da4 signalCallback(UTsignalHandlerArg) + 984
      4   libUT.dylib                         0x0000000140ddecbc UT_Signal::processSignal(int, __siginfo*, void*) + 112
      5   libsystem_platform.dylib            0x000000018d1b2584 _sigtramp + 56
      6   QtQuick                             0x0000000108c440bc QQuickRepeater::initItem(int, QObject*) + 776
      7   QtQuick                             0x0000000108c440bc QQuickRepeater::initItem(int, QObject*) + 776
      8   QtQuick                             0x0000000108c453c0 QQuickRepeater::qt_metacall(QMetaObject::Call, int, void**) + 192
      9   QtCore                              0x000000010a9fe2b0 void doActivate<false>(QObject*, int, void**) + 728
      10  QtQmlModels                         0x0000000105646268 QQmlInstanceModel::initItem(int, QObject*) + 72
      11  QtQmlModels                         0x0000000105680760 QQmlDelegateModelPrivate::setInitialState(QQDMIncubationTask*, QObject*) + 332
      12  QtQml                               0x0000000107abc8dc QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt&) + 2100
      13  QtQml                               0x0000000107abbea4 QQmlEnginePrivate::incubate(QQmlIncubator&, QQmlRefPointer<QQmlContextData> const&) + 328
      14  QtQml                               0x0000000107a799cc QQmlComponentPrivate::incubateObject(QQmlIncubator*, QQmlComponent*, QQmlEngine*, QQmlRefPointer<QQmlContextData> const&, QQmlRefPointer<QQmlContextData> const&) + 280
      15  QtQmlModels                         0x0000000105680d90 QQmlDelegateModelPrivate::object(QQmlListCompositor::Group, int, QQmlIncubator::IncubationMode) + 1556
      16  QtQuick                             0x0000000108c44664 QQuickRepeater::modelUpdated(QQmlChangeSet const&, bool) + 1420
      17  QtQuick                             0x0000000108c453c0 QQuickRepeater::qt_metacall(QMetaObject::Call, int, void**) + 192
      18  QtCore                              0x000000010a9fe2b0 void doActivate<false>(QObject*, int, void**) + 728
      19  QtQmlModels                         0x00000001056476b4 QQmlInstanceModel::modelUpdated(QQmlChangeSet const&, bool) + 64
      20  QtQmlModels                         0x0000000105684680 non-virtual thunk to QQmlDelegateModelPrivate::emitModelUpdated(QQmlChangeSet const&, bool) + 28
      21  QtQmlModels                         0x000000010567c2ec QQmlDelegateModelPrivate::emitChanges() + 340
      22  QtQmlModels                         0x000000010568b424 QQmlDelegateModelGroup::move(QQmlV4Function*) + 672
      23  QtQmlModels                         0x000000010568e610 QQmlDelegateModelGroup::qt_metacall(QMetaObject::Call, int, void**) + 184
      24  QtQml                               0x00000001079c220c QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const + 1904
      25  QtQml                               0x0000000107a0eef4 QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) + 4472
      26  QtQml                               0x0000000107a0dd24 QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) + 360
      27  QtQml                               0x0000000107985624 qfoDoCall(QV4::FunctionObject const*, QV4::Value const*, QV4::Value const*, int) + 348
      28  QtQml                               0x0000000107a0eef4 QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) + 4472
      29  QtQml                               0x0000000107a0dd24 QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) + 360
      30  QtQml                               0x0000000107980228 QV4::doCall(QV4::Function*, QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext*) + 324
      31  QtQml                               0x000000010797fa64 QV4::Function::call(QObject*, void*, QMetaType const, int, QV4::ExecutionContext*) + 612
      32  QtQml                               0x0000000107ac051c QQmlJavaScriptExpression::evaluate(void*, QMetaType const, int) + 264
      33  QtQml                               0x0000000107a694d4 QQmlBoundSignalExpression::evaluate(void**) + 264
      34  QtQml                               0x0000000107a69bf4 QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) + 308
      35  QtQml                               0x0000000107ae2854 QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) + 480
      36  QtCore                              0x000000010a9fe070 void doActivate<false>(QObject*, int, void**) + 152
      37  QtQml                               0x0000000107b714a4 QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) + 4320
      38  QtQml                               0x0000000107afe1f0 QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlRefPointer<QQmlContextData> const&, QFlags<QQmlPropertyData::WriteFlag>) + 1292
      39  QtQml                               0x00000001079bd280 QV4::QObjectWrapper::setProperty(QV4::ExecutionEngine*, QObject*, QQmlPropertyData const*, QV4::Value const&) + 3844
      40  QtQml                               0x00000001079bc324 QV4::QObjectWrapper::setQmlProperty(QV4::ExecutionEngine*, QQmlRefPointer<QQmlContextData> const&, QObject*, QV4::String*, QFlags<QV4::QObjectWrapper::Flag>, QV4::Value const&) + 200
      41  QtQml                               0x00000001079beba8 QV4::QObjectWrapper::virtualPut(QV4::Managed*, QV4::PropertyKey, QV4::Value const&, QV4::Value*) + 580
      42  QtQml                               0x0000000107998a54 QV4::Lookup::setterFallback(QV4::Lookup*, QV4::ExecutionEngine*, QV4::Value&, QV4::Value const&) + 244
      43  QtQml                               0x0000000107a0e92c QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) + 2992
      44  QtQml                               0x0000000107a0dd24 QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) + 360
      45  QtQml                               0x0000000107980228 QV4::doCall(QV4::Function*, QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext*) + 324
      46  QtQml                               0x000000010797fa64 QV4::Function::call(QObject*, void*, QMetaType const, int, QV4::ExecutionContext*) + 612
      47  QtQml                               0x0000000107ac051c QQmlJavaScriptExpression::evaluate(void*, QMetaType const, int) + 264
      48  QtQml                               0x0000000107a69690 QQmlBoundSignalExpression::evaluate(void**) + 708
      49  QtQml                               0x0000000107a69bf4 QQmlBoundSignal_callback(QQmlNotifierEndpoint*, void**) + 308
      50  QtQml                               0x0000000107ae2854 QQmlNotifier::emitNotify(QQmlNotifierEndpoint*, void**) + 480
      51  QtCore                              0x000000010a9fe070 void doActivate<false>(QObject*, int, void**) + 152
      52  QtQml                               0x0000000107b70758 QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) + 916
      53  QtQml                               0x00000001079c6b30 QV4::CallMethod(QQmlObjectOrGadget const&, int, QMetaType, int, QMetaType const*, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) + 392
      54  QtQml                               0x00000001079c4814 QV4::CallPrecise(QQmlObjectOrGadget const&, QQmlPropertyData const&, QV4::ExecutionEngine*, QV4::CallData*, QMetaObject::Call) + 644
      55  QtQml                               0x00000001079c2228 QV4::QObjectMethod::callInternal(QV4::Value const*, QV4::Value const*, int) const + 1932
      56  QtQml                               0x0000000107a0eef4 QV4::Moth::VME::interpret(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*, char const*) + 4472
      57  QtQml                               0x0000000107a0dd24 QV4::Moth::VME::exec(QV4::JSTypesStackFrame*, QV4::ExecutionEngine*) + 360
      58  QtQml                               0x0000000107980228 QV4::doCall(QV4::Function*, QV4::Value const*, QV4::Value const*, int, QV4::ExecutionContext*) + 324
      59  QtQml                               0x000000010797fa64 QV4::Function::call(QObject*, void*, QMetaType const, int, QV4::ExecutionContext*) + 612
      60  QtQml                               0x0000000107ac051c QQmlJavaScriptExpression::

      ```

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            mattsidefx Matt Chaput
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes