Details
-
Bug
-
Resolution: Incomplete
-
Not Evaluated
-
None
-
5.4.0
-
None
Description
we are using statically linked qt within a plugin. the first plugin instance works fine. however further plugin instances (after unloading the initial instance) cannot instantiate the qml file anymore:
- QQmlComponent::loadUrl() can load the url
- QQmlComponent::create() crashes in:
Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000008 Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 myPlugin 0x00000001274fcf3c QT_NAMESPACE::QScopedPointer<QT_NAMESPACE::QObjectData, QT_NAMESPACE::QScopedPointerDeleter<QT_NAMESPACE::QObjectData> >::data() const + 12 1 myPlugin 0x00000001274f32b5 QT_NAMESPACE::QScopedPointer<QT_NAMESPACE::QObjectData, QT_NAMESPACE::QScopedPointerDeleter<QT_NAMESPACE::QObjectData> >::pointer QT_NAMESPACE::qGetPtrHelper<QT_NAMESPACE::QScopedPointer<QT_NAMESPACE::QObjectData, QT_NAMESPACE::QScopedPointerDeleter<QT_NAMESPACE::QObjectData> > >(QT_NAMESPACE::QScopedPointer<QT_NAMESPACE::QObjectData, QT_NAMESPACE::QScopedPointerDeleter<QT_NAMESPACE::QObjectData> > const&) + 21 2 myPlugin 0x00000001274f3f6c QT_NAMESPACE::QObject::d_func() const + 28 3 myPlugin 0x00000001274e7153 QT_NAMESPACE::QObject::objectName() const + 35 4 myPlugin 0x000000012635c7d1 QT_NAMESPACE::QQmlObjectCreator::populateInstance(int, QT_NAMESPACE::QObject*, QT_NAMESPACE::QObject*, QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QBitArray const&) + 113 5 myPlugin 0x000000012635ac76 QT_NAMESPACE::QQmlObjectCreator::setPropertyBinding(QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QV4::CompiledData::Binding const*) + 438 6 myPlugin 0x0000000126358583 QT_NAMESPACE::QQmlObjectCreator::setupBindings(QT_NAMESPACE::QBitArray const&) + 2115 7 myPlugin 0x000000012635cd1d QT_NAMESPACE::QQmlObjectCreator::populateInstance(int, QT_NAMESPACE::QObject*, QT_NAMESPACE::QObject*, QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QBitArray const&) + 1469 8 myPlugin 0x0000000126357792 QT_NAMESPACE::QQmlObjectCreator::createInstance(int, QT_NAMESPACE::QObject*, bool) + 4290 9 myPlugin 0x000000012635af4e QT_NAMESPACE::QQmlObjectCreator::setPropertyBinding(QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QV4::CompiledData::Binding const*) + 1166 10 myPlugin 0x0000000126358583 QT_NAMESPACE::QQmlObjectCreator::setupBindings(QT_NAMESPACE::QBitArray const&) + 2115 11 myPlugin 0x000000012635cd1d QT_NAMESPACE::QQmlObjectCreator::populateInstance(int, QT_NAMESPACE::QObject*, QT_NAMESPACE::QObject*, QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QBitArray const&) + 1469 12 myPlugin 0x0000000126357792 QT_NAMESPACE::QQmlObjectCreator::createInstance(int, QT_NAMESPACE::QObject*, bool) + 4290 13 myPlugin 0x000000012635af4e QT_NAMESPACE::QQmlObjectCreator::setPropertyBinding(QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QV4::CompiledData::Binding const*) + 1166 14 myPlugin 0x0000000126358583 QT_NAMESPACE::QQmlObjectCreator::setupBindings(QT_NAMESPACE::QBitArray const&) + 2115 15 myPlugin 0x000000012635cd1d QT_NAMESPACE::QQmlObjectCreator::populateInstance(int, QT_NAMESPACE::QObject*, QT_NAMESPACE::QObject*, QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QBitArray const&) + 1469 16 myPlugin 0x0000000126357792 QT_NAMESPACE::QQmlObjectCreator::createInstance(int, QT_NAMESPACE::QObject*, bool) + 4290 17 myPlugin 0x000000012635af4e QT_NAMESPACE::QQmlObjectCreator::setPropertyBinding(QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QV4::CompiledData::Binding const*) + 1166 18 myPlugin 0x0000000126358583 QT_NAMESPACE::QQmlObjectCreator::setupBindings(QT_NAMESPACE::QBitArray const&) + 2115 19 myPlugin 0x000000012635cd1d QT_NAMESPACE::QQmlObjectCreator::populateInstance(int, QT_NAMESPACE::QObject*, QT_NAMESPACE::QObject*, QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QBitArray const&) + 1469 20 myPlugin 0x0000000126357792 QT_NAMESPACE::QQmlObjectCreator::createInstance(int, QT_NAMESPACE::QObject*, bool) + 4290 21 myPlugin 0x000000012635af4e QT_NAMESPACE::QQmlObjectCreator::setPropertyBinding(QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QV4::CompiledData::Binding const*) + 1166 22 myPlugin 0x0000000126358583 QT_NAMESPACE::QQmlObjectCreator::setupBindings(QT_NAMESPACE::QBitArray const&) + 2115 23 myPlugin 0x000000012635cd1d QT_NAMESPACE::QQmlObjectCreator::populateInstance(int, QT_NAMESPACE::QObject*, QT_NAMESPACE::QObject*, QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QBitArray const&) + 1469 24 myPlugin 0x0000000126357792 QT_NAMESPACE::QQmlObjectCreator::createInstance(int, QT_NAMESPACE::QObject*, bool) + 4290 25 myPlugin 0x0000000126356567 QT_NAMESPACE::QQmlObjectCreator::create(int, QT_NAMESPACE::QObject*, QT_NAMESPACE::QQmlInstantiationInterrupt*) + 1943 26 myPlugin 0x0000000126356eed QT_NAMESPACE::QQmlObjectCreator::createInstance(int, QT_NAMESPACE::QObject*, bool) + 2077 27 myPlugin 0x000000012635af4e QT_NAMESPACE::QQmlObjectCreator::setPropertyBinding(QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QV4::CompiledData::Binding const*) + 1166 28 myPlugin 0x0000000126358583 QT_NAMESPACE::QQmlObjectCreator::setupBindings(QT_NAMESPACE::QBitArray const&) + 2115 29 myPlugin 0x000000012635cd1d QT_NAMESPACE::QQmlObjectCreator::populateInstance(int, QT_NAMESPACE::QObject*, QT_NAMESPACE::QObject*, QT_NAMESPACE::QQmlPropertyData*, QT_NAMESPACE::QBitArray const&) + 1469 30 myPlugin 0x0000000126357792 QT_NAMESPACE::QQmlObjectCreator::createInstance(int, QT_NAMESPACE::QObject*, bool) + 4290 31 myPlugin 0x0000000126356567 QT_NAMESPACE::QQmlObjectCreator::create(int, QT_NAMESPACE::QObject*, QT_NAMESPACE::QQmlInstantiationInterrupt*) + 1943 32 myPlugin 0x0000000126356eed QT_NAMESPACE::QQmlObjectCreator::createInstance(int, QT_NAMESPACE::QObject*, bool) + 2077 33 myPlugin 0x0000000126356567 QT_NAMESPACE::QQmlObjectCreator::create(int, QT_NAMESPACE::QObject*, QT_NAMESPACE::QQmlInstantiationInterrupt*) + 1943 34 myPlugin 0x00000001262b415c QT_NAMESPACE::QQmlComponentPrivate::beginCreate(QT_NAMESPACE::QQmlContextData*) + 940 35 myPlugin 0x00000001262b3da2 QT_NAMESPACE::QQmlComponent::beginCreate(QT_NAMESPACE::QQmlContext*) + 98 36 myPlugin 0x00000001262b3cfd QT_NAMESPACE::QQmlComponent::create(QT_NAMESPACE::QQmlContext*) + 125
this crash somehow seems to be triggered, if a Component:
- contains Keys properties, like
Keys.onReturnPressed: doSomething() Keys.onEnterPressed: doSomething() Keys.onEscapePressed: doSomethingElse()
- contains elements from QtGraphicalEffects (like DropShadow or ColorOverlay)
removing all Keys properties and QtGraphicalEffects components resolves this issue.