Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-85106

Crash when restoring/apply PropertyChanges during a StateMachine state change in certain cases

    XMLWordPrintable

Details

    • 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.

      Attachments

        1. qtbug85106.zip
          4 kB
          Taylor Braun-Jones
        For Gerrit Dashboard: QTBUG-85106
        # Subject Branch Project Status CR V

        Activity

          People

            semlanik Alexey Edelev
            nocnokneo Taylor Braun-Jones
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes