Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.5.3
-
4c1cee7e1 (dev), 9036e492d (6.6), 80fd26ff2 (tqtc/lts-6.5)
Description
We're getting a crash in a complex QML file that has a DelegateModel. I've made and attached a reproducible example. This crash is NOT reproducible in Debug mode.
It must be some kind of race condition because lowering the repeater count or commenting out items from the ListModel prevents the crash. If you're not getting a crash, try increasing the Repeater count or adding more ListElements.
Backtrace:
#0 incrementIndexes (cacheItem=0x0, count=6, deltas=deltas@entry=0x7fffffffa4e0) at /home/qt/work/qt/qtdeclarative/src/qmlmodels/qqmldelegatemodel.cpp:1461 #1 0x00007ffff7ee045a in QQmlDelegateModelPrivate::itemsInserted (this=this@entry=0x475bf50, inserts=..., translatedInserts=translatedInserts@entry=0x7fffffffa560, movedItems=movedItems@entry=0x0) at /home/qt/work/install/include/QtCore/qarraydatapointer.h:105 #2 0x00007ffff7ee0ca5 in QQmlDelegateModelPrivate::itemsInserted (this=this@entry=0x475bf50, inserts=...) at /home/qt/work/qt/qtdeclarative/src/qmlmodels/qqmldelegatemodel.cpp:1533 #3 0x00007ffff7ee1123 in QQmlDelegateModelPrivate::insert (this=0x475bf50, before=..., object=..., groups=2) at /home/qt/work/install/include/QtCore/qarraydataops.h:75 #4 0x00007ffff7ee15ad in QQmlDelegateModelGroup::insert (this=<optimized out>, args=0x7fffffffaa50) at /home/qt/work/qt/qtdeclarative_build/include/QtQml/6.5.3/QtQml/private/../../../../../../qtdeclarative/src/qml/jsruntime/qv4scopedvalue_p.h:215 #5 0x00007ffff7ee866f in QQmlDelegateModelGroup::qt_metacall (this=0x475bce0, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fffffffaa10) at /home/qt/work/qt/qtdeclarative_build/src/qmlmodels/QmlModels_autogen/include/moc_qqmldelegatemodel_p.cpp:1005 #6 0x00007ffff66e142d in QQmlObjectOrGadget::metacall (this=this@entry=0x7fffffffa9f0, type=type@entry=QMetaObject::InvokeMetaMethod, index=<optimized out>, argv=argv@entry=0x7fffffffaa10) at /home/qt/work/qt/qtdeclarative_build/include/QtQml/6.5.3/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/ftw/qbipointer_p.h:186 #7 0x00007ffff659e6a6 in operator() (__closure=<optimized out>) at /home/qt/work/qt/qtdeclarative_build/include/QtQml/6.5.3/QtQml/private/../../../../../../qtdeclarative/src/qml/qml/qqmlpropertydata_p.h:247 #8 operator()<QV4::QObjectMethod::callInternal(const QV4::Value*, const QV4::Value*, int) const::<lambda()> > (call=..., __closure=<synthetic pointer>) at /home/qt/work/qt/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2705 #9 QV4::QObjectMethod::callInternal (this=0x7fffffffa9f0, thisObject=<optimized out>, argv=0x7fffc6b68578, argc=2) at /home/qt/work/qt/qtdeclarative/src/qml/jsruntime/qv4qobjectwrapper.cpp:2716 #10 0x00007ffff65b7ef5 in QV4::FunctionObject::call (argc=2, argv=0x7fffc6b68578, thisObject=0x7fffc6b68560, this=0x7fffffffaac8) at /home/qt/work/qt/qtdeclarative/src/qml/jsruntime/qv4functionobject_p.h:139 #11 QV4::Runtime::CallPropertyLookup::call (engine=0x6fad20, base=..., index=<optimized out>, argv=0x7fffc6b68578, argc=2) at /home/qt/work/qt/qtdeclarative/src/qml/jsruntime/qv4runtime.cpp:1487 #12 0x00007fffd005bd05 in ?? () #13 0x0000000000000000 in ?? ()