Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.14.2
-
Win10, MSVC2017 x64
-
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
For Gerrit Dashboard: QTBUG-84031 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
304434,3 | QNAM: Move QNetworkConnectionMonitor along during moveToThread | 5.15 | qt/qtbase | Status: MERGED | +2 | 0 |
304887,2 | QNetworkStatusMonitor(Win): make it possible to reinit COM | 5.15 | qt/qtbase | Status: MERGED | +2 | 0 |
305169,2 | QNAM: Make QNetworkConnectionMonitor able to move to another thread | dev | qt/qtbase | Status: MERGED | +2 | 0 |