Details
-
Bug
-
Resolution: Incomplete
-
Not Evaluated
-
None
-
5.13.2, 5.15.1
-
None
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++