-
Bug
-
Resolution: Done
-
P1: Critical
-
6.1.0
-
None
With the introduction of Qt 6 we encountered a memory leak which seems to be caused by sending queued signals.
I attached an example project along with a heaptrack summary that points to some QByteArray reallocation when queued_activate for a signal is called.
The sample project is quite simple: A producer generates some signals in a thread. These signals are connected as Qt::QueuedConnections to a slot of an object in the main thread.
If I do something wrong in connection the thread please let me know ![]()
Btw, I made the same test with Qt 5.15 and the memory usage was stable.
- relates to
-
QTBUG-93019 [REG 5.15-6.0] QList/QVector regressions
-
- Open
-
-
QTBUG-92912 Recursive QTimer:singleshot causes memory leak.
-
- Open
-
| For Gerrit Dashboard: QTBUG-91801 | ||||||
|---|---|---|---|---|---|---|
| # | Subject | Branch | Project | Status | CR | V |
| 344081,3 | QPostEventList: port to std::vector | dev | qt/qtbase | Status: NEW | -1 | 0 |
| 340105,1 | Fix QList::remove(0, ...) case | dev | qt/qtbase | Status: ABANDONED | -1 | 0 |
| 340586,15 | Resurrect data moves in QList | 6.1.0 | qt/qtbase | Status: MERGED | +2 | 0 |
| 341360,3 | Shift data left in QList::remove() when too much free space at begin | dev | qt/qtbase | Status: ABANDONED | -1 | 0 |
| 343627,1 | WIP: Test cyclic reinsertion into QList | dev | qt/qtbase | Status: ABANDONED | -2 | 0 |
| 344244,3 | Teach QList to readjust its free space | dev | qt/qtbase | Status: ABANDONED | -2 | 0 |
| 345606,5 | Resurrect data moves in QList | dev | qt/qtbase | Status: MERGED | +2 | 0 |
| 345609,2 | Resurrect data moves in QList | 6.1 | qt/qtbase | Status: MERGED | +2 | 0 |
| 345610,2 | Resurrect data moves in QList | 6.0 | qt/qtbase | Status: MERGED | +2 | 0 |