-
Bug
-
Resolution: Done
-
P1: Critical
-
5.9.2, 5.11.1
-
None
-
Windows 10, Qt 5.9.2
-
10095542d16fc9f5b2c585abf72fe00be9debff3 (qt/qtdeclarative/5.11) 2ededacdde179357eb686901202789bbee35771a (qt/qtdeclarative/5.9)
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.