Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
None
-
6.0.1
-
None
Description
We encounter random crashes on Windows that share the same backtrace:
8# RtlRaiseException in ntdll
9# KiUserExceptionDispatcher in ntdll
10# QPixmapCache::clear in Qt6Gui
11# QPixmapCache::totalUsed in Qt6Gui
12# QPixmapCache::find in Qt6Gui
13# QPixmapCache::setCacheLimit in Qt6Gui
14# QObject::event in Qt6Core
15# QApplicationPrivate::notify_helper in Qt6Widgets
16# QApplication::notify in Qt6Widgets
17# QCoreApplication::notifyInternal2 in Qt6Core
18# QEventDispatcherWin32Private::sendTimerEvent in Qt6Core
19# QEventDispatcherWin32::processEvents in Qt6Core
Having a look at the implementation, it looks that a QHash is used for the cache and that pointers into the hash are stored.
Unluckily these pointer are no longer stable once the hash is modified - that's what we also already encountered in our own code - due to the new implementation of QHash in Qt6.
I wonder if these random crashes might come from the "old" usage of the "new" QHash implementation.
Attachments
Issue Links
- relates to
-
QTBUG-97903 Sporadic crash on QPMCache::flushDetachedPixmaps
-
- Closed
-
-
QTBUG-99224 Crash in QPixmapCache
-
- Closed
-