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

Crash in QPixmapCache::setCacheLimit in Windows

    XMLWordPrintable

Details

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

    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

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

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes