Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.6.2, 5.7.0, 5.9.0 Beta 1
Description
Crash in QQmlPropertyCache::resolve when triggering some specific signals for some specific QML files.
QQmlEngine pointer appears to be dangling.
The code intentionnally triggers the issue and is not actual production code.
Stack trace attached as stack.tasks
Repro project attached as repro.zip
build and run, edit macros to show/hide ui (default is hidden for automatic crash), or use workaround QML file.
diff the two QML files to clearly see the workaround.
location of crash:
void QQmlPropertyCache::resolve(QQmlPropertyData *data) const
{
...
data->flags |= flagsForPropertyType(data->propType, engine->qmlEngine()); <<----------
}
data->flags &= ~QQmlPropertyData::NotFullyResolved;
}
Thank you!
Attachments
For Gerrit Dashboard: QTBUG-57633 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
192031,4 | QML: clear the property cache on QObjectWrapper destuction | 5.6 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
192037,3 | QML: clear the property cache on QObjectWrapper destuction | 5.9 | qt/qtdeclarative | Status: MERGED | +2 | 0 |