Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
6.2.4, 6.3.1
-
None
-
-
8
-
24dedaeaa1 (qt/qtbase/dev) ee349ffba0 (qt/qtbase/6.4) ee349ffba0 (qt/tqtc-qtbase/6.4) 24dedaeaa1 (qt/tqtc-qtbase/dev) 0006a401a4 (qt/tqtc-qtbase/6.2) 018d013181 (qt/qtbase/6.3) 018d013181 (qt/tqtc-qtbase/6.3)
-
Foundation Sprint 65, Foundation Sprint 66
Description
A chain like:
#include <QCoreApplication> #include <QtConcurrent> int main(int argc, char* argv[]) { auto a = QCoreApplication(argc, argv); QObject obj(&a); QtConcurrent::run( [] { qDebug() << "block 0"; } ).then( [] { qDebug() << "block 1"; } ).then( &obj, [] { qDebug() << "block 2"; } ); a.exec(); }
Produces:
block 0 block 1 Exception thrown: read access violation. **_Mem** was 0xFFFFFFFFFFFFFFFF.
The problem does not arise when the continuation "block 1" is removed.
Attachments
Issue Links
- relates to
-
QTBUG-105182 Access violation / infinite loop in QFutureInterfaceBase::isChainCanceled()
- Closed
For Gerrit Dashboard: QTBUG-106083 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
432002,7 | QFuture: fix handling of cancelled continuation chain | dev | qt/qtbase | Status: MERGED | +2 | 0 |
433993,3 | QFuture: fix handling of cancelled continuation chain | 6.3 | qt/qtbase | Status: MERGED | +2 | 0 |
433994,2 | QFuture: fix handling of cancelled continuation chain | 6.4 | qt/qtbase | Status: MERGED | +2 | 0 |
433995,3 | QFuture: fix handling of cancelled continuation chain | tqtc/lts-6.2 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |