Details
Description
Open the attached project in Design Studio. Multiselect light and either camera or cube or all three from navigator and press delete key. All qmlpuppets crash (in release mode this causes brief flicker on them as they quietly restart, but in debug mode you get crash notification dialogs).
Single deleting the light doesn't crash, so it seems that somehow the light gets added to dirty list because of the other items included in same deletion, and then the light itself gets deleted before dirty list is handled, leaving a deleted light pointer in the dirty list.
1 QQuick3DSceneManager::updateDirtyNode qquick3dscenemanager.cpp 123 0x7ffdcdc749cb 2 QQuick3DSceneManager::updateDirtyNodes qquick3dscenemanager.cpp 108 0x7ffdcdc7496a 3 QQuick3DSceneRenderer::synchronize qquick3dscenerenderer.cpp 310 0x7ffdcdc783bb 4 QQuick3DViewport::updatePaintNode qquick3dviewport.cpp 340 0x7ffdcdc82e3e 5 QQuickPathCubic::QQuickPathCubic Qt5Quickd 0x7ffdd27bd9a6 6 QQuickPathCubic::QQuickPathCubic Qt5Quickd 0x7ffdd2a70da7 7 QmlDesigner::Internal::QuickItemNodeInstance::updateAllDirtyNodesRecursive quickitemnodeinstance.cpp 469 0x7ff786f01798 8 QmlDesigner::Internal::QuickItemNodeInstance::updateAllDirtyNodesRecursive quickitemnodeinstance.cpp 466 0x7ff786f0177c 9 QmlDesigner::Internal::QuickItemNodeInstance::updateAllDirtyNodesRecursive quickitemnodeinstance.cpp 404 0x7ff786effa50 10 QmlDesigner::ServerNodeInstance::updateDirtyNodeRecursive servernodeinstance.cpp 150 0x7ff786f2e2de 11 QmlDesigner::Qt5PreviewNodeInstanceServer::renderPreviewImage qt5previewnodeinstanceserver.cpp 98 0x7ff786efd2dd 12 QmlDesigner::Qt5PreviewNodeInstanceServer::collectItemChangesAndSendChangeCommands qt5previewnodeinstanceserver.cpp 74 0x7ff786efd525 13 QmlDesigner::NodeInstanceServer::timerEvent nodeinstanceserver.cpp 1033 0x7ff786f0ad99 14 QDateTime::fromTime_t Qt5Cored 0x7ffddc789923 15 QDateTime::fromTime_t Qt5Cored 0x7ffddc72df68 16 QDateTime::fromTime_t Qt5Cored 0x7ffddc72f7a8 17 QDateTime::fromTime_t Qt5Cored 0x7ffddc72b5a1 18 QWindow::isTopLevel Qt5Guid 0x7ffddb562924 19 QDateTime::fromTime_t Qt5Cored 0x7ffddc72cfa6 20 QDateTime::fromTime_t Qt5Cored 0x7ffddc72ad52 21 QDateTime::fromTime_t Qt5Cored 0x7ffddc7f4ced 22 QDateTime::fromTime_t Qt5Cored 0x7ffddc7f202a 23 CallWindowProcW USER32 0x7ffe241fb8fd 24 DispatchMessageW USER32 0x7ffe241fb28f 25 QDateTime::fromTime_t Qt5Cored 0x7ffddc7f296a 26 FT_Render_Glyph qwindowsd 0x7ffdf9c7e704 27 QDateTime::fromTime_t Qt5Cored 0x7ffddc7270e3 28 QDateTime::fromTime_t Qt5Cored 0x7ffddc72731e 29 QDateTime::fromTime_t Qt5Cored 0x7ffddc72ab0f 30 QWindow::isTopLevel Qt5Guid 0x7ffddb5628b8 31 internalMain qml2puppetmain.cpp 128 0x7ff786f5a529 32 main qml2puppetmain.cpp 157 0x7ff786f5a651 33 invoke_main exe_common.inl 65 0x7ff786f62e94 34 __scrt_common_main_seh exe_common.inl 253 0x7ff786f62dc7 35 __scrt_common_main exe_common.inl 296 0x7ff786f62c8e 36 mainCRTStartup exe_main.cpp 17 0x7ff786f62ea9 37 BaseThreadInitThunk KERNEL32 0x7ffe245837e4 38 RtlUserThreadStart ntdll 0x7ffe250acb81