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

Crash in QPixmapCache::setCacheLimit in Windows

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P1: Critical P1: Critical
    • None
    • 6.0.1
    • None
    • Windows

      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.

        For Gerrit Dashboard: QTBUG-91445
        # Subject Branch Project Status CR V

            vhilshei Volker Hilsheimer
            mlangen Marc Langenbach
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes