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

Deleting a view that uses importScene and then deleting the importScene after that crashes

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 6.0.0
    • 6.0.0 Beta5
    • Quick: 3D
    • 3

    Description

      Deleting a view that uses importScene and then deleting the importScene after that crashes when clearing materials. It happens because clearing materials marks model dirty, and dirty handling accesses sceneManager->dirtySpatialNodeList, which presumably is garbage at this point.

      This causes crash in QDS during qmlpuppet shutdown. It can probably be worked around there by not deleting the views at shutdown, though.

      See attached example.

      1   QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData>>::get           qscopedpointer.h     137  0x7ffd7cf73edb 
      2   qGetPtrHelper<QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData>>> qglobal.h            1154 0x7ffd7cf5ae58 
      3   QQuick3DObject::d_func                                                        qquick3dobject.h     51   0x7ffd7cf7218f 
      4   QQuick3DObjectPrivate::get                                                    qquick3dobject_p.h   91   0x7ffd7cf73f18 
      5   QQuick3DObjectPrivate::addToDirtyList                                         qquick3dobject.cpp   838  0x7ffd7cff1857 
      6   QQuick3DObjectPrivate::dirty                                                  qquick3dobject.cpp   797  0x7ffd7cff154a 
      7   QQuick3DObject::update                                                        qquick3dobject.cpp   130  0x7ffd7cfee3bc 
      8   QQuick3DModel::markDirty                                                      qquick3dmodel.cpp    504  0x7ffd7cfd9b54 
      9   QQuick3DModel::qmlClearMaterials                                              qquick3dmodel.cpp    604  0x7ffd7cfda13b 
      10  QQuick3DModel::~QQuick3DModel                                                 qquick3dmodel.cpp    133  0x7ffd7cfd8158 
      11  QQmlPrivate::QQmlElement<QQuick3DModel>::~QQmlElement<QQuick3DModel>          qqmlprivate.h        133  0x7ffd7d075f42 
      12  QQmlPrivate::QQmlElement<QQuick3DModel>::`scalar deleting destructor'         Qt6Quick3Dd               0x7ffd7d07ebfc 
      13  qDeleteInEventHandler                                                         qobject.cpp          4710 0x7ffd72076d9f 
      14  QObject::event                                                                qobject.cpp          1294 0x7ffd7206c702 
      15  QCoreApplicationPrivate::notify_helper                                        qcoreapplication.cpp 1201 0x7ffd71a3de46 
      16  doNotify                                                                      qcoreapplication.cpp 1130 0x7ffd71a3feb4 
      17  QCoreApplication::notify                                                      qcoreapplication.cpp 1117 0x7ffd71a3ab46 
      18  QGuiApplication::notify                                                       qguiapplication.cpp  1945 0x7ffd7e334a63 
      19  QCoreApplication::notifyInternal2                                             qcoreapplication.cpp 1040 0x7ffd71a3c6a5 
      20  QCoreApplication::sendEvent                                                   qcoreapplication.cpp 1436 0x7ffd71a3a203 
      ... <More>                                                                                                                 
       

      Attachments

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

        Activity

          People

            janichol Andy Nichols
            e0348803 Miikka Heikkinen
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes