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

QNetworkAccessManager causes a crash when moved to a different thread and deleted

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.14.2
    • Fix Version/s: 5.15.1
    • Component/s: Network
    • Environment:
      Win10, MSVC2017 x64
    • Commits:
      bde6b27882143acbafa8c0b2e8055c3808ae3dd4 (qt/qtbase/5.15)

      Description

      Creating an instance of a QNetworkAccessManager, moving the instance to a different thread and deleting the instance will cause a crash in Qt 5.14.2. Similar crash doesn't seem to occur in earlier versions such as Qt 5.12.

      Test app crashes with:

      c:\program files (x86)\windows kits\10\include\10.0.18362.0\winrt\wrl\client.h:176: error: Debugger encountered an exception: Exception at 0x7ffebfe3212f, code: 0xc0000005: read access violation at: 0x7ffef10713f0, flags=0x0 (first chance)

      Call stack:

      1 Microsoft::WRL::ComPtr<IConnectionPoint>::InternalRelease client.h 176 0x7ffebfe3212f
      2 Microsoft::WRL::ComPtr<IConnectionPoint>::~ComPtr<IConnectionPoint> client.h 232 0x7ffebfe30fb3
      3 QNetworkListManagerEvents::~QNetworkListManagerEvents qnetconmonitor_win.cpp 583 0x7ffebfe2eaca
      4 QNetworkListManagerEvents::`scalar deleting destructor' Qt5Networkd 0x7ffebfe31c27
      5 QNetworkListManagerEvents::Release qnetconmonitor_win.cpp 505 0x7ffebfe32509
      6 Microsoft::WRL::ComPtr<QNetworkListManagerEvents>::InternalRelease client.h 176 0x7ffebfe323d2
      7 Microsoft::WRL::ComPtr<QNetworkListManagerEvents>::Reset client.h 369 0x7ffebfe32623
      8 QNetworkStatusMonitorPrivate::~QNetworkStatusMonitorPrivate qnetconmonitor_win.cpp 655 0x7ffebfe2f18f
      9 QNetworkStatusMonitorPrivate::`scalar deleting destructor' Qt5Networkd 0x7ffebfe31cc7
      10 QScopedPointerDeleter<QObjectData>::cleanup qscopedpointer.h 60 0x7ffe98499513
      11 QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData>>::~QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData>> qscopedpointer.h 107 0x7ffe98497629
      12 QObject::~QObject qobject.cpp 1119 0x7ffe9848474a
      13 QNetworkStatusMonitor::~QNetworkStatusMonitor qnetconmonitor_win.cpp 690 0x7ffebfe2c6e3
      14 QNetworkAccessManagerPrivate::~QNetworkAccessManagerPrivate qnetworkaccessmanager.cpp 1927 0x7ffebfc71b95
      15 QNetworkAccessManagerPrivate::`scalar deleting destructor' Qt5Networkd 0x7ffebfc7fd77
      16 QScopedPointerDeleter<QObjectData>::cleanup qscopedpointer.h 60 0x7ffe98499513
      17 QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData>>::~QScopedPointer<QObjectData,QScopedPointerDeleter<QObjectData>> qscopedpointer.h 107 0x7ffe98497629
      18 QObject::~QObject qobject.cpp 1119 0x7ffe9848474a
      19 QNetworkAccessManager::~QNetworkAccessManager qnetworkaccessmanager.cpp 535 0x7ffebfc6d77a
      20 QNetworkAccessManager::`scalar deleting destructor' INC_1392186 0x7ff68dc539d8
      ... <More>

        Attachments

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

          Activity

            People

            Assignee:
            manordheim MÃ¥rten Nordheim
            Reporter:
            miikapernu Miika Pernu
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes