Details
-
Bug
-
Resolution: Fixed
-
P1: Critical
-
6.5.2
-
None
-
-
0bdb7b2a4 (dev), cfdf76be4 (6.6), bc3d82d4a (6.5)
Description
I started notice such crashes in our users crash reports since we migrated effects from Qt5Compat GraphicalEffects to MultiEffect.
It doesn't reproduces for us locally, so I have no any simple reproducer for this at the moment.
There are crashes both on Windows and macOS.
Call stack:
Qt6Quick.dll!QQuickShaderEffect::setFragmentShader(const QUrl & fileUrl) Line 564 C++ > Qt6QuickEffects.dll!QQuickMultiEffectPrivate::updateEffectShaders() Line 1621 C++ [Inline Frame] Qt6QuickEffects.dll!QQuickMultiEffectPrivate::setBlurMax(int) Line 1087 C++ Qt6QuickEffects.dll!QQuickMultiEffect::setBlurMax(int blurMax) Line 432 C++ Qt6Qml.dll!QQmlPropertyData::writeProperty(QObject * target, void * value, QFlags<enum QQmlPropertyData::WriteFlag> flags) Line 339 C++ [Inline Frame] Qt6Qml.dll!GenericBinding<2>::doStore(int value, const QQmlPropertyData *) Line 275 C++ Qt6Qml.dll!GenericBinding<2>::write(const QV4::Value & result, bool isUndefined, QFlags<enum QQmlPropertyData::WriteFlag> flags) Line 269 C++ [Inline Frame] Qt6Qml.dll!QQmlJavaScriptExpression::DeleteWatcher::wasDeleted() Line 235 C++ Qt6Qml.dll!QQmlBinding::doUpdate(const QQmlJavaScriptExpression::DeleteWatcher & watcher, QFlags<enum QQmlPropertyData::WriteFlag> flags, QV4::Scope & scope) Line 703 C++ Qt6Qml.dll!QQmlBinding::update(QFlags<enum QQmlPropertyData::WriteFlag> flags) Line 166 C++ Qt6Qml.dll!QQmlNotifier::emitNotify(QQmlNotifierEndpoint * endpoint, void * * a) Line 71 C++ Qt6Qml.dll!QQmlData::signalEmitted(QAbstractDeclarativeData * __formal, QObject * object, int index, void * * a) Line 357 C++ Qt6Core.dll!doActivate<0>(QObject * sender, int signal_index, void * * argv) Line 3890 C++ Qt6Core.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 4053 C++ [Inline Frame] Qt6Quick.dll!QQuickImageBase::sourceSizeChanged() Line 607 C++ Qt6Quick.dll!QQuickImageBase::requestFinished() Line 380 C++ Qt6Quick.dll!QQuickImageBase::loadPixmap(const QUrl & url, QFlags<enum QQuickImageBase::LoadPixmapOption> loadOptions) Line 341 C++ Qt6Quick.dll!QQuickImageBase::componentComplete() Line 429 C++ Qt6Qml.dll!QQmlObjectCreator::finalize(QQmlInstantiationInterrupt & interrupt) Line 1487 C++ Qt6Qml.dll!QQmlIncubatorPrivate::incubate(QQmlInstantiationInterrupt & i) Line 346 C++ Qt6Qml.dll!QQmlEnginePrivate::incubate(QQmlIncubator & i, const QQmlRefPointer<QQmlContextData> & forContext) Line 55 C++ Qt6Qml.dll!QQmlComponent::create(QQmlIncubator & incubator, QQmlContext * context, QQmlContext * forContext) Line 1421 C++ Qt6Quick.dll!QQuickLoaderPrivate::_q_sourceLoaded() Line 743 C++ Qt6Quick.dll!QQuickLoader::loadFromSource() Line 410 C++ [Inline Frame] Qt6Quick.dll!QQuickLoader::setSource(const QUrl &) Line 389 C++ Qt6Quick.dll!QQuickLoader::setSourceWithoutResolve(const QUrl & url) Line 373 C++ Qt6Qml.dll!QQmlPropertyData::writeProperty(QObject * target, void * value, QFlags<enum QQmlPropertyData::WriteFlag> flags) Line 339 C++ Qt6Qml.dll!QQmlPropertyPrivate::write(QObject * object, const QQmlPropertyData & property, const QVariant & value, const QQmlRefPointer<QQmlContextData> & context, QFlags<enum QQmlPropertyData::WriteFlag> flags) Line 1543 C++ Qt6Qml.dll!QQmlPropertyPrivate::writeValueProperty(QObject * object, const QQmlPropertyData & core, const QQmlPropertyData & valueTypeData, const QVariant & value, const QQmlRefPointer<QQmlContextData> & context, QFlags<enum QQmlPropertyData::WriteFlag> flags) Line 1313 C++ Qt6Qml.dll!QQmlBinding::slowWrite(const QQmlPropertyData & core, const QQmlPropertyData & valueTypeData, const QV4::Value & result, bool isUndefined, QFlags<enum QQmlPropertyData::WriteFlag> flags) Line 540 C++ Qt6Qml.dll!GenericBinding<0>::write(const QV4::Value & result, bool isUndefined, QFlags<enum QQmlPropertyData::WriteFlag> flags) Line 269 C++ [Inline Frame] Qt6Qml.dll!QQmlJavaScriptExpression::DeleteWatcher::wasDeleted() Line 235 C++ Qt6Qml.dll!QQmlBinding::doUpdate(const QQmlJavaScriptExpression::DeleteWatcher & watcher, QFlags<enum QQmlPropertyData::WriteFlag> flags, QV4::Scope & scope) Line 703 C++ Qt6Qml.dll!QQmlBinding::update(QFlags<enum QQmlPropertyData::WriteFlag> flags) Line 166 C++ Qt6Qml.dll!QQmlNotifier::emitNotify(QQmlNotifierEndpoint * endpoint, void * * a) Line 71 C++ Qt6Qml.dll!QQmlData::signalEmitted(QAbstractDeclarativeData * __formal, QObject * object, int index, void * * a) Line 357 C++ Qt6Core.dll!doActivate<0>(QObject * sender, int signal_index, void * * argv) Line 3890 C++ Qt6Core.dll!QMetaObject::activate(QObject * sender, const QMetaObject * m, int local_signal_index, void * * argv) Line 4053 C++ ...
Crashed in QQuickMultiEffectPrivate::updateEffectShaders() on m_shaderEffect->setFragmentShader(fs)
Pay attention that m_shaderEffect is nullptr at the moment.