Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.12.7, 5.12.8, 5.15.0, 6.0.0
-
Tested environments (crash occurs in all of them):
* Qt 5.15.0, Ubuntu 18.04
* Qt 5.12.8, Ubuntu 18.04
* Qt 5.12.7, Ubuntu 18.04
* Qt 5.12.7, Windows 10
-
96763dbb105fde20431a264789ac27abfdab841c (qt/qtdeclarative/dev) 1381aff5850dbcb53de8b62a90f0c87cba1bb765 (qt/tqtc-qtdeclarative/tqtc/lts-5.15)
Description
I get a crash with the following back trace when PropertyChanges are applied/restored during StateMachine state changes.
1 QQmlData::get qqmldata_p.h 249 0x7ffff714f83a 2 removeOldBinding qqmlproperty.cpp 760 0x7ffff714f83a 3 QQmlPropertyPrivate::setBinding qqmlproperty.cpp 892 0x7ffff7150bde 4 QQuickTransitionManagerPrivate::applyBindings qquicktransitionmanager.cpp 113 0x7fffd262e33c 5 QQuickTransitionManager::complete qquicktransitionmanager.cpp 94 0x7fffd262e3aa 6 QQuickTransitionManager::transition qquicktransitionmanager.cpp 256 0x7fffd262ff75 7 QQuickState::apply qquickstate.cpp 689 0x7fffd262c0ce 8 QQuickStateGroupPrivate::setCurrentStateInternal qquickstategroup.cpp 495 0x7fffd263664d 9 QQuickStateGroup::setState qquickstategroup.cpp 291 0x7fffd2636c1b 10 QQuickStateGroupPrivate::updateAutoState qquickstategroup.cpp 367 0x7fffd2636d87 11 QQuickStateGroup::updateAutoState qquickstategroup.cpp 335 0x7fffd2636fd9 12 QQuickState::setWhen qquickstate.cpp 233 0x7fffd2629d38 13 QQuickState::qt_static_metacall moc_qquickstate_p.cpp 200 0x7fffd262a028 14 QQmlPropertyData::writeProperty qqmlpropertycache_p.h 346 0x7ffff71c54cf 15 QQmlBindingBinding::doUpdate qqmlbinding.cpp 228 0x7ffff71c54cf 16 QQmlBinding::update qqmlbinding.cpp 185 0x7ffff71c1e13 17 QQmlBinding::refresh qqmlbinding.cpp 535 0x7ffff71c20de 18 QQmlNotifier::emitNotify qqmlnotifier.cpp 104 0x7ffff719bdac 19 QQmlData::signalEmitted qqmlengine.cpp 883 0x7ffff71448b4 20 QMetaObject::activate qobject.cpp 3676 0x7ffff69ed49e 21 QQmlVMEMetaObject::activate qqmlvmemetaobject.cpp 1209 0x7ffff713e815 22 QQmlVMEMetaObject::metaCall qqmlvmemetaobject.cpp 802 0x7ffff714038b 23 QQmlPropertyData::writeProperty qqmlpropertycache_p.h 350 0x7ffff715626a 24 QQmlPropertyPrivate::write qqmlproperty.cpp 1217 0x7ffff7154cd8 25 QV4::QObjectWrapper::setProperty qv4qobjectwrapper.cpp 567 0x7ffff70a320b 26 QV4::QObjectWrapper::setQmlProperty qv4qobjectwrapper.cpp 437 0x7ffff70a3ff7 27 QV4::QQmlContextWrapper::virtualPut qv4qmlcontext.cpp 429 0x7ffff707b6c6 28 QV4::Object::put qv4object_p.h 318 0x7ffff702c1c0 29 QV4::ExecutionContext::setProperty qv4context.cpp 311 0x7ffff702c1c0 30 QV4::Runtime::method_storeNameSloppy qv4runtime.cpp 959 0x7ffff711ad58 31 QV4::Moth::VME::interpret qv4vme_moth.cpp 582 0x7ffff70bad85 32 QV4::Moth::VME::exec qv4vme_moth.cpp 447 0x7ffff70bf4a4 33 QV4::Function::call qv4function.cpp 68 0x7ffff7055e86 34 QQmlJavaScriptExpression::evaluate qqmljavascriptexpression.cpp 211 0x7ffff71bafb9 35 QQmlBoundSignalExpression::evaluate qqmlboundsignal.cpp 225 0x7ffff7161242 36 QQmlBoundSignal_callback qqmlboundsignal.cpp 358 0x7ffff7162743 37 QQmlNotifier::emitNotify qqmlnotifier.cpp 104 0x7ffff719bdac 38 QQmlData::signalEmitted qqmlengine.cpp 883 0x7ffff71448b4 39 QMetaObject::activate qobject.cpp 3676 0x7ffff69ed49e 40 QMetaObject::activate qobject.cpp 3657 0x7ffff69ed717 41 QAbstractState::exited moc_qabstractstate.cpp 197 0x7ffff6a7ddea 42 QAbstractStatePrivate::emitExited qabstractstate.cpp 131 0x7ffff6a7df7b 43 QStateMachinePrivate::exitStates qstatemachine.cpp 837 0x7ffff6a73a86 44 QStateMachinePrivate::microstep qstatemachine.cpp 696 0x7ffff6a74411 45 QStateMachinePrivate::_q_process qstatemachine.cpp 1909 0x7ffff6a74602 46 QStateMachinePrivate::processEvents qstatemachine.cpp 2025 0x7ffff6a74bc1 47 QStateMachinePrivate::handleTransitionSignal qstatemachine.cpp 2431 0x7ffff6a750fd 48 QSignalEventGenerator::execute qstatemachine.cpp 3104 0x7ffff6a752d6 49 QSignalEventGenerator::qt_static_metacall qstatemachine.cpp 3058 0x7ffff6a788df 50 QSignalEventGenerator::qt_metacall qstatemachine.cpp 3090 0x7ffff6a788df 51 QMetaObject::activate qobject.cpp 3822 0x7ffff69ecfa4 52 QMetaObject::activate qobject.cpp 3657 0x7ffff69ed717 53 QState::finished moc_qstate.cpp 259 0x7ffff6a7e447 54 QState::qt_static_metacall moc_qstate.cpp 119 0x7ffff6a7f76b 55 QState::qt_metacall moc_qstate.cpp 228 0x7ffff6a80130 56 State::qt_metacall moc_state.cpp 142 0x7fffd12ee735 57 QQmlVMEMetaObject::metaCall qqmlvmemetaobject.cpp 944 0x7ffff713fc1d 58 QQmlObjectOrGadget::metacall qqmlpropertycache.cpp 1770 0x7ffff7191b39 59 CallMethod qv4qobjectwrapper.cpp 1313 0x7ffff709f01b 60 CallPrecise qv4qobjectwrapper.cpp 1561 0x7ffff709fa86 61 QV4::QObjectMethod::callInternal qv4qobjectwrapper.cpp 2118 0x7ffff70a07fe 62 QV4::FunctionObject::call qv4functionobject_p.h 202 0x7ffff70bc71b 63 QV4::Moth::VME::interpret qv4vme_moth.cpp 737 0x7ffff70bc71b 64 QV4::Moth::VME::exec qv4vme_moth.cpp 447 0x7ffff70bf4a4 65 QV4::Function::call qv4function.cpp 68 0x7ffff7055e86 66 QQmlJavaScriptExpression::evaluate qqmljavascriptexpression.cpp 211 0x7ffff71bafb9 67 QQmlBoundSignalExpression::evaluate qqmlboundsignal.cpp 225 0x7ffff7161242 68 QQmlBoundSignal_callback qqmlboundsignal.cpp 358 0x7ffff7162743 69 QQmlNotifier::emitNotify qqmlnotifier.cpp 104 0x7ffff719bdac 70 QQmlData::signalEmitted qqmlengine.cpp 883 0x7ffff71448b4 71 QMetaObject::activate qobject.cpp 3676 0x7ffff69ed49e 72 QMetaObject::activate qobject.cpp 3657 0x7ffff69ed717 73 QQuickMouseArea::clicked moc_qquickmousearea_p.cpp 666 0x7fffd2793a82 74 QQuickMouseArea::setPressed qquickmousearea.cpp 1249 0x7fffd279522b 75 QQuickMouseArea::mouseReleaseEvent qquickmousearea.cpp 806 0x7fffd27961d4 76 QQuickItem::event qquickitem.cpp 8096 0x7fffd270460e 77 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1088 0x7ffff69c1348 78 QCoreApplication::sendEvent qcoreapplication.cpp 1476 0x7ffff69c14fe 79 QQuickWindowPrivate::deliverMouseEvent qquickwindow.cpp 1798 0x7fffd271da4f 80 QQuickWindowPrivate::deliverPointerEvent qquickwindow.cpp 2361 0x7fffd271ed8b 81 QQuickWindowPrivate::handleMouseEvent qquickwindow.cpp 2224 0x7fffd271fbc5 82 QWindow::event qwindow.cpp 2347 0x7ffff76e7cab 83 QQuickWindow::event qquickwindow.cpp 1687 0x7fffd2720b75 84 QCoreApplication::notifyInternal2 qcoreapplication.cpp 1088 0x7ffff69c1348 85 QCoreApplication::sendSpontaneousEvent qcoreapplication.cpp 1488 0x7ffff69c150e 86 QGuiApplicationPrivate::processMouseEvent qguiapplication.cpp 2107 0x7ffff76dd33a 87 QGuiApplicationPrivate::processWindowSystemEvent qguiapplication.cpp 1842 0x7ffff76de885 88 QWindowSystemInterface::sendWindowSystemEvents qwindowsysteminterface.cpp 1151 0x7ffff76bbe7b 89 xcbSourceDispatch qxcbeventdispatcher.cpp 105 0x7ffff0272c1a 90 g_main_context_dispatch 0x7ffff249f417 91 ?? 0x7ffff249f650 92 g_main_context_iteration 0x7ffff249f6dc 93 QEventDispatcherGlib::processEvents qeventdispatcher_glib.cpp 422 0x7ffff6a1875f 94 QEventLoop::exec qeventloop.cpp 225 0x7ffff69bfc0a 95 QCoreApplication::exec qcoreapplication.cpp 1389 0x7ffff69c8650 96 main main.cpp 26 0x555555556cdd
Minimal reproducible example to follow.