Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.7.0 RC
-
None
-
-
c7995e6aa (dev), e594a9e73 (6.7)
Description
The crash is encountered in QQuickDesignerSupport:: allPropertyNames().
else if (QQmlGadgetPtrWrapper *valueType = QQmlGadgetPtrWrapper::instance(qmlEngine(object), metaProperty.metaType())) { valueType->setValue(metaProperty.read(object)); <-- crash propertyNameList.append(baseName + QQuickDesignerSupport::PropertyName(metaProperty.name())); propertyNameList.append(allPropertyNames(valueType, baseName + QQuickDesignerSupport::PropertyName(metaProperty.name()) + '.', inspectedObjects, depth + 1)); }
See QDS-12263 for details on the Qt Design Studio side.
Stack trace:
[Inline Frame] Qt6Core.dll!QtMetaTypePrivate::copyConstruct(const QtPrivate::QMetaTypeInterface *) Line 177 C++ [Inline Frame] Qt6Core.dll!?A0x9d6ae52b::clonePrivate(const QVariant::Private &) Line 312 C++ Qt6Core.dll!QVariant::QVariant(const QVariant & p) Line 544 C++ [Inline Frame] Qt6Core.dll!QtMetaTypePrivate::copyConstruct(const QtPrivate::QMetaTypeInterface *) Line 177 C++ [Inline Frame] Qt6Core.dll!QtMetaTypePrivate::construct(const QtPrivate::QMetaTypeInterface * iface, void *) Line 194 C++ Qt6Core.dll!QMetaType::construct(void * where, const void * copy) Line 712 C++ > qml2puppet-4.5.0.exe!QmlDesigner::Internal::allPropertyNamesFork(QObject * object, const QByteArray & baseName, QList<QObject *> * inspectedObjects, int depth) Line 175 C++
In every case of this crash the QVariant contained a QJSValue. The band-aid fix is to ignore QVariants containing a QJSValue. See: https://codereview.qt-project.org/c/qt-creator/qt-creator/+/549336
While debugging I encountered another crash when call QVariant::convert on the variant containing the QJSValue:
Qt6Qml.dll!QV4::PersistentValueStorage::allocate() Line 172 C++ Qt6Qml.dll!QJSValuePrivate::encode(const QV4::Value & qv4Value) Line 156 C++ Qt6Qml.dll!QJSValue::QJSValue(const QJSValue & other) Line 258 C++
The QML properties in question were properties like this one:
property var model
Attachments
Issue Links
- relates to
-
QDS-12263 2D/3D broken, emulation layer crash in some of the examples
- Closed