Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.3.2, 5.4.0 RC
-
None
-
Linux
-
b60bedf42ce7714180ced5597e8849b66a4d942b (qtdeclarative)
Description
The librarymetrics_performance benchmark highlights several issues related to handling of plugins and types after calling qmlClearTypeRegistrations().
In particular, the QtQuick2 QML module will initialize its value type providers during registration, but will not deinitialize them during destruction, which can result in "cycles" in the QML engine's value type provider linked list (resulting in hangs).
Furthermore, the QML type compiler has unsafe code when dealing with types which have been registered by a plugin which was previous unloaded and then reloaded, due to the use of a static pointer variable.
Attachments
Issue Links
- duplicates
-
QTBUG-43746 qml value provider not cleaned up in statically linked Qt
- Closed
For Gerrit Dashboard: QTBUG-43004 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
101048,2 | Fix QtQuick2 module unload support | 5.3 | qt/qtdeclarative | Status: ABANDONED | -1 | 0 |
101317,3 | Fix QtQuick2 module unload support | 5.4 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
101741,1 | Fix QtQuick2 module unload support | dev | qt/qtdeclarative | Status: ABANDONED | 0 | 0 |