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

Crash in QQuickAnimatorProxyJob::sceneGraphInitialized()

    XMLWordPrintable

Details

    • 10095542d16fc9f5b2c585abf72fe00be9debff3 (qt/qtdeclarative/5.11) 2ededacdde179357eb686901202789bbee35771a (qt/qtdeclarative/5.9)

    Description

      After upgrading from Qt 5.7 to Qt 5.9.2 I started to get the crashes (100% reproducible) when using XAnimator during the startup of my two-window based QML application.

      From the call-stack (shown below) and debugging it is visible that this fragment is problematic:

      m_controller->window()
      
      https://github.com/qt/qtdeclarative/blob/5.9/src/quick/util/qquickanimatorjob.cpp#L220

      Indeed, m_controller is a null pointer.

      Comparing to the Qt 5.7 it's visible that there were changes in that region of code, so this may be a kind of regression.

       

      Full call-stack is:

       

      1  QQuickAnimatorController::window
                                                qquickanimatorcontroller_p.h 93   0x7ffb88e0696a 
      2  QQuickAnimatorProxyJob::sceneGraphInitialized
                                                qquickanimatorjob.cpp        216  0x7ffb88dfcd7f 
      3  QtPrivate::FunctorCall<QtPrivate::IndexesList<>,QtPrivate::List<>,void,void (__cdecl QQuickAnimatorProxyJob:: *)(void) __ptr64>::call 
                                                qobjectdefs_impl.h           136  0x7ffb88e03711 
      4  QtPrivate::FunctionPointer<void (__cdecl QQuickAnimatorProxyJob:: *)(void) __ptr64>::call<QtPrivate::List<>,void>                     
                                                qobjectdefs_impl.h           170  0x7ffb88dffe3d 
      5  QtPrivate::QSlotObject<void (__cdecl QQuickAnimatorProxyJob:: *)(void) __ptr64,QtPrivate::List<>,void>::impl                          
                                                qobject_impl.h               121  0x7ffb88e04ff6 
      6  QtPrivate::QSlotObjectBase::call
                                                qobject_impl.h               101  0x6da09718     
      7  QMetaCallEvent::placeMetaCall
                                                qobject.cpp                  501  0x6da01696     
      8  QObject::event
                                                qobject.cpp                  1246 0x6d9fa05f     
      9  QCoreApplicationPrivate::notify_helper
                                                qcoreapplication.cpp         1153 0x6d9a2c7e     
      10 doNotify
                                                qcoreapplication.cpp         1093 0x6d9a4408     
      11 QCoreApplication::notify
                                                qcoreapplication.cpp         1080 0x6d9a0501     
      12 QGuiApplication::notify
                                                qguiapplication.cpp          1689 0x7ffb84ea99a9 
      13 QCoreApplication::notifyInternal2
                                                qcoreapplication.cpp         1018 0x6d9a1dc6     
      14 QCoreApplication::sendEvent
                                                qcoreapplication.h           233  0x6d9ace32     
      15 QCoreApplicationPrivate::sendPostedEvents
                                                qcoreapplication.cpp         1678 0x6d9a3682     
      16 QEventDispatcherWin32::sendPostedEvents
                                                qeventdispatcher_win.cpp     1064 0x6da5fe1a     
      17 qt_plugin_query_metadata
                                                qwindowsd                         0x7ffb96310754 
      18 qt_internal_proc
                                                qeventdispatcher_win.cpp     237  0x6da5daf7     
      19 CallWindowProcW
                                                USER32                            0x7ffbd8e8b85d 
      20 DispatchMessageW
                                                USER32                            0x7ffbd8e8b1ef 
      21 QEventDispatcherWin32::processEvents
                                                qeventdispatcher_win.cpp     628  0x6da5e50b     
      22 qt_plugin_query_metadata
                                                qwindowsd                         0x7ffb96310714 
      23 QEventLoop::processEvents
                                                qeventloop.cpp               135  0x6d99c198     
      24 QEventLoop::exec
                                                qeventloop.cpp               212  0x6d99c3de     
      25 QCoreApplication::exec
                                                qcoreapplication.cpp         1291 0x6d99fa6f     
      26 QGuiApplication::exec
                                                qguiapplication.cpp          1680 0x7ffb84ea9948 
      27 main
                                                main.cpp                     174  0x7ff6bab76a60 
      28 invoke_main
                                                exe_common.inl               65   0x7ff6babb63b4 
      29 __scrt_common_main_seh
                                                exe_common.inl               253  0x7ff6babb6277 
      30 __scrt_common_main
                                                exe_common.inl               296  0x7ff6babb613e 
      31 mainCRTStartup
                                                exe_main.cpp                 17   0x7ff6babb63d9 
      32 BaseThreadInitThunk
                                                KERNEL32                          0x7ffbdb1f1fe4 
      33 RtlUserThreadStart
                                                ntdll
      0x7ffbdb71ef91 
      
      

      Unfortunately, I am unable to create a self-contained code example.

      Attachments

        For Gerrit Dashboard: QTBUG-64402
        # Subject Branch Project Status CR V

        Activity

          People

            srutledg Shawn Rutledge
            sthlm58 Michal Kucharski
            Votes:
            5 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes