- 
    
Bug
 - 
    Resolution: Duplicate
 - 
    
P2: Important
 - 
    5.2.0, 5.2.1, 5.3.0 Alpha
 - 
    None
 - 
    Mac OS X 10.9.2, Windows 8.1
 
- 
        dc9bf8ecdcc2ee59006c7ce2d57faadd755e9557 (qtdeclarative)
 
Passing ListModel variables to Loader results in crash.
import QtQuick 2.0
Rectangle {
    width: 320; height: 480; 
    
    property int count : 6;
    ListModel {
        id: testModel        
    }
    Timer {
        interval: 500; running: true; repeat: true
        onTriggered: {
            testModel.append({"name" : "test " + count});
            count = count + 1;
            if (count%10 == 0) {
                testModel.clear();
            }
        }
    }
    
    Component {
        id: menuItem
        Rectangle {
            width: 5
            height: 5
            color: "blue"
            Text {
                text: modelData.name + " is " + modelIndex                
            }
        }
    }
    GridView {
            
        anchors {
            fill: parent
        }
        
        model: testModel
        
        delegate: Rectangle {
            width: 10;
            height: 10;
            Loader {
                id: loader
                property var modelData: model
                property var modelIndex: index
                sourceComponent: menuItem
            }
            Text {
                text: name                
            }
        }    
    }
}
Call stack:
 	testApp.exe!qt_assert(const char * assertion=0x04a59d98, const char * file=0x04a59ce0, int line=497) Line 2124	C++
 	testApp.exe!QQmlEnginePrivate::get(QQmlEngine * e=0x00000000) Line 497	C++
 	testApp.exe!QQmlVMEMetaObject::readVarProperty(int id=0) Line 1001	C++
 	testApp.exe!QQmlVMEMetaObject::vmeProperty(int index=50) Line 1204	C++
 	testApp.exe!QV4::QObjectWrapper::getProperty(QObject * object=0x0abf3698, QV4::ExecutionContext * ctx=0x0036bb38, QQmlPropertyData * property=0x0aafaae8, bool captureRequired=true) Line 393	C++
 	testApp.exe!QV4::QObjectWrapper::getQmlProperty(QV4::ExecutionContext * ctx=0x0036bb38, QQmlContextData * qmlContext=0x0abf5ef0, QV4::String * n=0x00d7c000, QV4::QObjectWrapper::RevisionMode revisionMode=CheckRevision, bool * hasProperty=0x0036b9bb, bool includeImports=false) Line 333	C++
 	testApp.exe!QV4::QObjectWrapper::getQmlProperty(QV4::ExecutionContext * ctx=0x0036bb38, QQmlContextData * qmlContext=0x0abf5ef0, QObject * object=0x0abf3698, QV4::String * name=0x00d7c000, QV4::QObjectWrapper::RevisionMode revisionMode=CheckRevision, bool * hasProperty=0x0036b9bb) Line 422	C++
 	testApp.exe!QV4::QmlContextWrapper::get(QV4::Managed * m=0x01101f00, const QV4::StringRef name={...}, bool * hasProperty=0x0036baaa) Line 263	C++
 	testApp.exe!QV4::Object::get(const QV4::StringRef name={...}, bool * hasProperty=0x0036baaa) Line 247	C++
 	testApp.exe!QV4::ExecutionContext::getProperty(const QV4::StringRef name={...}) Line 390	C++
 	testApp.exe!QV4::__qmljs_get_activation_property(QV4::ExecutionContext * ctx=0x0036bb38, const QV4::StringRef name={...}) Line 679	C++
 	085f0480()	Unknown
 	[Frames below may be incorrect and/or missing]	
 	testApp.exe!QV4::SimpleScriptFunction::call(QV4::Managed * that=0x00ef1560, QV4::CallData * callData=0x08e00008) Line 585	C++
 	testApp.exe!QV4::Object::call(QV4::CallData * d=0x08e00008) Line 273	C++
 	testApp.exe!QQmlJavaScriptExpression::evaluate(QQmlContextData * context=0x0abf6288, const QV4::ValueRef function={...}, QV4::CallData * callData=0x08e00008, bool * isUndefined=0x0036bdad) Line 166	C++
 	testApp.exe!QQmlJavaScriptExpression::evaluate(QQmlContextData * context=0x0abf6288, const QV4::ValueRef function={...}, bool * isUndefined=0x0036bdad) Line 123	C++
 	testApp.exe!QQmlBinding::update(QFlags<enum QQmlPropertyPrivate::WriteFlag> flags={...}) Line 253	C++
 	testApp.exe!QQmlBinding::update() Line 106	C++
 	testApp.exe!QQmlBinding::expressionChanged(QQmlJavaScriptExpression * e=0x0abf69a8) Line 313	C++
 	testApp.exe!QQmlJavaScriptExpressionGuard_callback(QQmlNotifierEndpoint * e=0x0a993ff0, void * * __formal=0x00000000) Line 372	C++
 	testApp.exe!QQmlNotifier::emitNotify(QQmlNotifierEndpoint * endpoint=0x0a993ff0, void * * a=0x00000000) Line 81	C++
 	testApp.exe!QQmlData::signalEmitted(QAbstractDeclarativeData * __formal=0x0abf36a8, QObject * object=0x0abf3698, int index=39, void * * a=0x00000000) Line 721	C++
 	testApp.exe!QMetaObject::activate(QObject * sender=0x0abf3698, int signalOffset=39, int local_signal_index=0, void * * argv=0x00000000) Line 3569	C++
 	testApp.exe!QQmlVMEMetaObject::activate(QObject * object=0x0abf3698, int index=54, void * * args=0x00000000) Line 1332	C++
 	testApp.exe!QQmlVMEVariantQObjectPtr::objectDestroyed(QObject * __formal=0x0aaeac18) Line 88	C++
 	testApp.exe!QQmlData::destroyed(QObject * object=0x0aaeac18) Line 1659	C++
 	testApp.exe!QQmlData::destroyed(QAbstractDeclarativeData * d=0x0ab03bf8, QObject * o=0x0aaeac18) Line 633	C++
 	testApp.exe!QObject::~QObject() Line 916	C++
 	testApp.exe!QQmlDelegateModelItem::~QQmlDelegateModelItem() Line 1843	C++
 	testApp.exe!QQmlDMCachedModelData::~QQmlDMCachedModelData()	C++
 	testApp.exe!QQmlDMAbstractItemModelData::~QQmlDMAbstractItemModelData()	C++
 	testApp.exe!QQmlDMAbstractItemModelData::`scalar deleting destructor'(unsigned int)	C++
 	testApp.exe!QQmlDelegateModelItem::Dispose() Line 1855	C++
 	testApp.exe!QQmlDelegateModelPrivate::release(QObject * object=0x0abf34d0) Line 521	C++
 	testApp.exe!QQmlDelegateModel::release(QObject * item=0x0abf34d0) Line 537	C++
 	testApp.exe!QQuickItemViewPrivate::releaseItem(FxViewItem * item=0x0abf70a8) Line 2341	C++
 	testApp.exe!QQuickItemViewPrivate::applyModelChanges(QQuickItemViewPrivate::ChangeResult * totalInsertionResult=0x0036c3dc, QQuickItemViewPrivate::ChangeResult * totalRemovalResult=0x0036c40c) Line 2025	C++
 	testApp.exe!QQuickItemViewPrivate::layout() Line 1830	C++
 	testApp.exe!QQuickItemView::updatePolish() Line 1440	C++
 	testApp.exe!QQuickWindowPrivate::polishItems() Line 269	C++
 	testApp.exe!QSGWindowsRenderLoop::renderWindow(QQuickWindow * window=0x0843f6c0) Line 474	C++
 	testApp.exe!QSGWindowsRenderLoop::render() Line 425	C++
 	testApp.exe!QSGWindowsRenderLoop::event(QEvent * event=0x0036cc60) Line 405	C++
 	testApp.exe!QApplicationPrivate::notify_helper(QObject * receiver=0x0044d788, QEvent * e=0x0036cc60) Line 3520	C++
 	testApp.exe!QApplication::notify(QObject * receiver=0x0044d788, QEvent * e=0x0036cc60) Line 2940	C++
 	testApp.exe!QCoreApplication::notifyInternal(QObject * receiver=0x0044d788, QEvent * event=0x0036cc60) Line 937	C++
 	testApp.exe!QCoreApplication::sendEvent(QObject * receiver=0x0044d788, QEvent * event=0x0036cc60) Line 237	C++
 	testApp.exe!QEventDispatcherWin32Private::sendTimerEvent(int timerId=2) Line 585	C++
 	testApp.exe!QEventDispatcherWin32::event(QEvent * e=0x0ab55258) Line 1137	C++
 	testApp.exe!QApplicationPrivate::notify_helper(QObject * receiver=0x003f19f0, QEvent * e=0x0ab55258) Line 3520	C++
 	testApp.exe!QApplication::notify(QObject * receiver=0x003f19f0, QEvent * e=0x0ab55258) Line 2940	C++
 	testApp.exe!QCoreApplication::notifyInternal(QObject * receiver=0x003f19f0, QEvent * event=0x0ab55258) Line 937	C++
 	testApp.exe!QCoreApplication::sendEvent(QObject * receiver=0x003f19f0, QEvent * event=0x0ab55258) Line 237	C++
 	testApp.exe!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver=0x00000000, int event_type=0, QThreadData * data=0x003eeaf0) Line 1541	C++
 	testApp.exe!QCoreApplication::sendPostedEvents(QObject * receiver=0x00000000, int event_type=0) Line 1399	C++
 	testApp.exe!QWindowsGuiEventDispatcher::sendPostedEvents() Line 88	C++
 	testApp.exe!qt_internal_proc(HWND__ * hwnd=0x007d0e06, unsigned int message=1025, unsigned int wp=0, long lp=0) Line 423	C++
 	user32.dll!_InternalCallWinProc@20()	Unknown
 	user32.dll!_UserCallWinProcCheckWow@32()	Unknown
 	user32.dll!_DispatchMessageWorker@8()	Unknown
 	user32.dll!_DispatchMessageW@4()	Unknown
 	testApp.exe!QEventDispatcherWin32::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 757	C++
 	testApp.exe!QWindowsGuiEventDispatcher::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 80	C++
 	testApp.exe!QEventLoop::processEvents(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 137	C++
 	testApp.exe!QEventLoop::exec(QFlags<enum QEventLoop::ProcessEventsFlag> flags={...}) Line 212	C++
- is replaced by
 - 
                    
QTBUG-37227 Assert in qqmlengine_p.h when running the following testcase
-         
 - Closed
 
 -