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

Crash when removing Pixmap from QPixmapCache

    XMLWordPrintable

Details

    Description

      Crash occurs when pixmap is being removed from QPixmapCache using this function:

      void QPixmapCache::remove(const QString &key)
      

      The crash actually occurs in qtbase/src/gui/image/qpixmapcache.cpp:387:

      return QCache<QPixmapCache::Key, QPixmapCacheEntry>::remove(cacheKey.value());
      

      In this line cacheKey does not exist.

      Here is the call stack:

      Qt5Guid.dll!qHash(const QPixmapCache::Key & k) Line 235	C++
      Qt5Guid.dll!qHash<QPixmapCache::Key>(const QPixmapCache::Key & t, unsigned int seed) Line 111	C++
      Qt5Guid.dll!QHash<QPixmapCache::Key,QCache<QPixmapCache::Key,QPixmapCacheEntry>::Node>::findNode(const QPixmapCache::Key & akey, unsigned int * ahp) Line 921	C++
      Qt5Guid.dll!QHash<QPixmapCache::Key,QCache<QPixmapCache::Key,QPixmapCacheEntry>::Node>::find(const QPixmapCache::Key & akey) Line 889	C++
      Qt5Guid.dll!QCache<QPixmapCache::Key,QPixmapCacheEntry>::remove(const QPixmapCache::Key & key) Line 143	C++
      Qt5Guid.dll!QPMCache::remove(const QString & key) Line 388	C++
      Qt5Guid.dll!QPixmapCache::remove(const QString & key) Line 628	C++
      qt-crash.exe!main(int argc, char * * argv) Line 62	C++
      qt-crash.exe!WinMain(HINSTANCE__ * __formal, HINSTANCE__ * __formal, char * __formal, int __formal) Line 104	C++
      

      See source example in the attachment qt-crash.zip.
      There is no such crash in Qt 5.7.1

      Attachments

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

        Activity

          People

            kleint Friedemann Kleint
            govage Vasil Hancharenka
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes