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

QTreeWidget::clear() is causing a crash sporadically

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • Not Evaluated
    • None
    • 5.13.2, 5.15.1
    • Widgets: Itemviews
    • None
    • Windows

    Description

      There are sporadic crashes when QTreeWidget::clear() is called.
      The stacktrace below shows that at some point a paint event occures while cleanup is not finished yet:

      Qt5Widgetsd.dll!QTreeModel::index(const QTreeWidgetItem * item=*0xdfdfdfdfdfdfdfdf*, int column=0) Line 234
      
      -------------------------------------
      
      
       	ntdll.dll!00007ffdcadbf7e4()	Unknown
       	KernelBase.dll!00007ffdc7008973()	Unknown
       	TCVisionl.File.exe!google_breakpad::ExceptionHandler::WriteMinidumpOnHandlerThread(_EXCEPTION_POINTERS * exinfo=0x0000009d60cf9460, MDRawAssertionInfo * assertion=0x0000000000000000) Line 726	C++
       	TCVisionl.File.exe!google_breakpad::ExceptionHandler::HandleException(_EXCEPTION_POINTERS * exinfo=0x0000009d60cf9460) Line 509	C++
       	KernelBase.dll!00007ffdc70571dc()	Unknown
       	ntdll.dll!00007ffdcadc820b()	Unknown
       	ntdll.dll!00007ffdcadafd56()	Unknown
       	ntdll.dll!00007ffdcadc479f()	Unknown
       	ntdll.dll!00007ffdcad24bef()	Unknown
       	ntdll.dll!00007ffdcadc350e()	Unknown
       	Qt5Widgetsd.dll!QTreeWidgetItem::parent() Line 186	C++
      	Qt5Widgetsd.dll!QTreeModel::index(const QTreeWidgetItem * item=0xdfdfdfdfdfdfdfdf, int column=0) Line 234	C++*
      	Qt5Widgetsd.dll!QTreeModel::parent(const QModelIndex & child={...}) Line 297	C++
       	Qt5Cored.dll!QModelIndex::parent() Line 445	C++
       	Qt5Widgetsd.dll!QTreeView::indexRowSizeHint(const QModelIndex & index={...}) Line 2977	C++
       	Qt5Widgetsd.dll!QTreeViewPrivate::layout(int i=-1, bool recursiveExpanding=false, bool afterIsUninitialized=false) Line 3352	C++
       	Qt5Widgetsd.dll!QTreeView::doItemsLayout() Line 2096	C++
       	Qt5Widgetsd.dll!QTreeViewPrivate::updateScrollBars() Line 3712	C++
       	Qt5Widgetsd.dll!QTreeView::updateGeometries() Line 2858	C++
       	Qt5Widgetsd.dll!QTreeView::timerEvent(QTimerEvent * event=0x0000009d60cfc720) Line 1244	C++
       	Qt5Cored.dll!QObject::event(QEvent * e=0x0000009d60cfc720) Line 1242	C++
       	Qt5Widgetsd.dll!QWidget::event(QEvent * event=0x0000009d60cfc720) Line 9405	C++
       	Qt5Widgetsd.dll!QFrame::event(QEvent * e=0x0000009d60cfc720) Line 550	C++
       	Qt5Widgetsd.dll!QAbstractScrollArea::event(QEvent * e=0x0000009d60cfc720) Line 1168	C++
       	Qt5Widgetsd.dll!QAbstractItemView::event(QEvent * event=0x0000009d60cfc720) Line 1683	C++
       	Qt5Widgetsd.dll!QTreeWidget::event(QEvent * e=0x0000009d60cfc720) Line 3591	C++
       	Qt5Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x00000400002aeb40, QEvent * e=0x0000009d60cfc720) Line 3703	C++
       	Qt5Widgetsd.dll!QApplication::notify(QObject * receiver=0x00000400002aeb40, QEvent * e=0x0000009d60cfc720) Line 3653	C++
       	Qt5Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver=0x00000400002aeb40, QEvent * event=0x0000009d60cfc720) Line 1095	C++
       	Qt5Cored.dll!QCoreApplication::sendEvent(QObject * receiver=0x00000400002aeb40, QEvent * event=0x0000009d60cfc720) Line 1491	C++
       	Qt5Cored.dll!QEventDispatcherWin32::event(QEvent * e=0x000001a6a6d99230) Line 1076	C++
       	Qt5Widgetsd.dll!QApplicationPrivate::notify_helper(QObject * receiver=0x000001a69a49e4e0, QEvent * e=0x000001a6a6d99230) Line 3703	C++
       	Qt5Widgetsd.dll!QApplication::notify(QObject * receiver=0x000001a69a49e4e0, QEvent * e=0x000001a6a6d99230) Line 3059	C++
       	Qt5Cored.dll!QCoreApplication::notifyInternal2(QObject * receiver=0x000001a69a49e4e0, QEvent * event=0x000001a6a6d99230) Line 1095	C++
       	Qt5Cored.dll!QCoreApplication::sendEvent(QObject * receiver=0x000001a69a49e4e0, QEvent * event=0x000001a6a6d99230) Line 1491	C++
       	Qt5Cored.dll!QCoreApplicationPrivate::sendPostedEvents(QObject * receiver=0x0000000000000000, int event_type=0, QThreadData * data=0x000001a698203620) Line 1840	C++
       	Qt5Cored.dll!QEventDispatcherWin32::sendPostedEvents() Line 1102	C++
       	qwindowsd.dll!00007ffd6b045484()	Unknown
       	Qt5Cored.dll!qt_internal_proc(HWND__ * hwnd=0x0000000001080d28, unsigned int message=1025, unsigned __int64 wp=0, __int64 lp=0) Line 250	C++
       	user32.dll!00007ffdca467536()	Unknown
       	user32.dll!00007ffdca467052()	Unknown
       	user32.dll!00007ffdca47ee13()	Unknown
       	user32.dll!00007ffdca47ebd4()	Unknown
       	user32.dll!00007ffdca4c3736()	Unknown
       	user32.dll!00007ffdca4c2175()	Unknown
       	user32.dll!00007ffdca4c2eb2()	Unknown
       	user32.dll!00007ffdca4c2f3e()	Unknown
       	ucrtbased.dll!00007ffd9ac3a153()	Unknown
       	ucrtbased.dll!00007ffd9ac46a9d()	Unknown
       	ucrtbased.dll!00007ffd9ac46a03()	Unknown
       	ucrtbased.dll!00007ffd9ac46b77()	Unknown
       	ucrtbased.dll!00007ffd9ac47a8a()	Unknown
       	ucrtbased.dll!00007ffd9ac48893()	Unknown
       	ucrtbased.dll!00007ffd9ac4a22b()	Unknown
       	ucrtbased.dll!00007ffd9ac48775()	Unknown
       	ucrtbased.dll!00007ffd9ac31ef8()	Unknown
       	ucrtbased.dll!00007ffd9ac354a5()	Unknown
       	Qt5Cored.dll!operator delete(void * block=0x0000040000c438e0) Line 38	C++
       	Qt5Cored.dll!operator delete(void * block=0x0000040000c438e0, unsigned __int64 __formal=16) Line 32	C++
       	Qt5Cored.dll!QVariant::`scalar deleting destructor'(unsigned int)	C++
       	Qt5Cored.dll!QList<QVariant>::node_destruct(QList<QVariant>::Node * from=0x000001a6a6d133b0, QList<QVariant>::Node * to=0x000001a6a6d133b0) Line 513	C++
       	Qt5Cored.dll!QList<QVariant>::dealloc(QListData::Data * data=0x000001a6a6d133a0) Line 886	C++
       	Qt5Cored.dll!QList<QVariant>::~QList<QVariant>() Line 846	C++
       	Qt5Cored.dll!QList<QVariant>::`scalar deleting destructor'(unsigned int)	C++
       	Qt5Cored.dll!v_clear<QList<QVariant> >(QVariant::Private * d=0x000001a69f2fd3c8, QList<QVariant> * __formal=0x0000000000000000) Line 178	C++
       	Qt5Cored.dll!QVariantDestructor<`anonymous namespace'::CoreTypesFilter>::FilteredDestructor<QList<QVariant>,1>::FilteredDestructor<QList<QVariant>,1>(QVariant::Private * d=0x000001a69f2fd3c8) Line 411	C++
       	Qt5Cored.dll!QVariantDestructor<`anonymous namespace'::CoreTypesFilter>::delegate<QList<QVariant> >(const QList<QVariant> * __formal=0x0000000000000000) Line 437	C++
       	Qt5Cored.dll!QMetaTypeSwitcher::switcher<void,QVariantDestructor<`anonymous namespace'::CoreTypesFilter> >(QVariantDestructor<`anonymous namespace'::CoreTypesFilter> & logic={...}, int type=9, const void * data=0x0000000000000000) Line 74	C++
       	Qt5Cored.dll!`anonymous namespace'::clear(QVariant::Private * d=0x000001a69f2fd3c8) Line 127	C++
       	Qt5Cored.dll!QVariant::~QVariant() Line 1823	C++
       	Qt5Widgetsd.dll!QWidgetItemData::~QWidgetItemData()	C++
       	Qt5Widgetsd.dll!QWidgetItemData::`scalar deleting destructor'(unsigned int)	C++
       	Qt5Widgetsd.dll!QVector<QWidgetItemData>::destruct(QWidgetItemData * from=0x000001a69f2fd3d8, QWidgetItemData * to=0x000001a69f2fd438) Line 358	C++
       	Qt5Widgetsd.dll!QVector<QWidgetItemData>::freeData(QTypedArrayData<QWidgetItemData> * x=0x000001a69f2fd390) Line 554	C++
       	Qt5Widgetsd.dll!QVector<QWidgetItemData>::~QVector<QWidgetItemData>() Line 72	C++
       	Qt5Widgetsd.dll!QVector<QWidgetItemData>::`scalar deleting destructor'(unsigned int)	C++
       	Qt5Widgetsd.dll!QVector<QVector<QWidgetItemData> >::destruct(QVector<QWidgetItemData> * from=0x000001a6a6d4ab90, QVector<QWidgetItemData> * to=0x000001a6a6d4ab90) Line 358	C++
       	Qt5Widgetsd.dll!QVector<QVector<QWidgetItemData> >::freeData(QTypedArrayData<QVector<QWidgetItemData> > * x=0x000001a6a6d4ab70) Line 554	C++
       	Qt5Widgetsd.dll!QVector<QVector<QWidgetItemData> >::~QVector<QVector<QWidgetItemData> >() Line 72	C++
       	Qt5Widgetsd.dll!QTreeWidgetItem::~QTreeWidgetItem() Line 1633	C++
       	TCVisionl.File.exe!QTreeWidgetItem::`scalar deleting destructor'(unsigned int)	C++
       	Qt5Widgetsd.dll!QTreeWidgetItem::~QTreeWidgetItem() Line 1625	C++
       	TCVisionl.File.exe!QTreeWidgetItem::`scalar deleting destructor'(unsigned int)	C++
       	Qt5Widgetsd.dll!QTreeWidgetItem::~QTreeWidgetItem() Line 1625	C++
       	TCVisionl.File.exe!QTreeWidgetItem::`scalar deleting destructor'(unsigned int)	C++
       	Qt5Widgetsd.dll!QTreeModel::clear() Line 165	C++
       	Qt5Widgetsd.dll!QTreeWidget::clear() Line 3383	C++
      

      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
            ars.masiuk Ars Masiuk
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes