Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.15.2
-
None
-
-
bac93541ba324e75c532c1987e861109e1c5b131 (qt/qtdeclarative/dev) 1fc81ad78c66e76d6c96b43bd67cf969b91d67ca (qt/qtdeclarative/6.0) be794a433489b2d580abbfb8f54cc2a26a5aa92b (qt/tqtc-qtdeclarative/tqtc/lts-5.15)
Description
In some cases calling `m_renderLoop->interleaveIncubation()` in QQuickWindowIncubationController leads to a segfault, if the QSGRenderLoop has already been destroyed. I can reliably reproduce it here, if i kill the app right after it has started been started.
#0 0x0000000000000000 in 0x00000000 () #1 0x000000010376ed54 in QQuickWindowIncubationController::incubate() at src/qt/qtdeclarative/src/quick/items/qquickwindow.cpp:169 #2 0x000000010376edc0 in QQuickWindowIncubationController::animationStopped() at src/qt/qtdeclarative/src/quick/items/qquickwindow.cpp:179 #3 0x000000010376ecfc in QQuickWindowIncubationController::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) at src/qt-build/qtdeclarative/src/quick/.moc/debug/qquickwindow.moc:76 #4 0x0000000102b103f0 in void doActivate<false>(QObject*, int, void**) at src/qt/qtbase/src/corelib/kernel/qobject.cpp:3898 #5 0x0000000102b0f208 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) at src/qt/qtbase/src/corelib/kernel/qobject.cpp:3946 #6 0x0000000102854940 in QAnimationDriver::stopped() at src/qt-build/qtbase/src/corelib/.moc/debug/moc_qabstractanimation.cpp:441 #7 0x0000000102854908 in QAnimationDriver::stop() at src/qt/qtbase/src/corelib/animation/qabstractanimation.cpp:886 #8 0x00000001028520dc in QUnifiedTimer::stopAnimationDriver() at src/qt/qtbase/src/corelib/animation/qabstractanimation.cpp:290 #9 0x000000010285320c in QUnifiedTimer::uninstallAnimationDriver(QAnimationDriver*) at src/qt/qtbase/src/corelib/animation/qabstractanimation.cpp:533 #10 0x00000001028546bc in QAnimationDriver::uninstall() at src/qt/qtbase/src/corelib/animation/qabstractanimation.cpp:861 #11 0x0000000102854648 in QAnimationDriver::~QAnimationDriver() at src/qt/qtbase/src/corelib/animation/qabstractanimation.cpp:772 #12 0x00000001036bc840 in QSGAnimationDriver::~QSGAnimationDriver() at src/qt/qtdeclarative/src/quick/scenegraph/qsgcontext.cpp:112 #13 0x00000001036bbfb4 in QSGAnimationDriver::~QSGAnimationDriver() at src/qt/qtdeclarative/src/quick/scenegraph/qsgcontext.cpp:112 #14 0x00000001036bbfe8 in QSGAnimationDriver::~QSGAnimationDriver() at src/qt/qtdeclarative/src/quick/scenegraph/qsgcontext.cpp:112 #15 0x0000000102b07b34 in QObjectPrivate::deleteChildren() at src/qt/qtbase/src/corelib/kernel/qobject.cpp:2104 #16 0x0000000102b07710 in QObject::~QObject() at src/qt/qtbase/src/corelib/kernel/qobject.cpp:1082 #17 0x00000001036c83ac in QSGRenderLoop::~QSGRenderLoop() at src/qt/qtdeclarative/src/quick/scenegraph/qsgrenderloop.cpp:111 #18 0x00000001036fa134 in QSGThreadedRenderLoop::~QSGThreadedRenderLoop() at src/qt/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1089 #19 0x00000001036fa218 in QSGThreadedRenderLoop::~QSGThreadedRenderLoop() at src/qt/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1086 #20 0x00000001036fa24c in QSGThreadedRenderLoop::~QSGThreadedRenderLoop() at src/qt/qtdeclarative/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1086 #21 0x00000001036c8518 in QSGRenderLoop::cleanup() at src/qt/qtdeclarative/src/quick/scenegraph/qsgrenderloop.cpp:124 #22 0x0000000102abb1e0 in qt_call_post_routines() at src/qt/qtbase/src/corelib/kernel/qcoreapplication.cpp:336 #23 0x0000000102d76064 in QGuiApplication::~QGuiApplication() at src/qt/qtbase/src/gui/kernel/qguiapplication.cpp:682 #24 0x0000000102d764c4 in QGuiApplication::~QGuiApplication() at src/qt/qtbase/src/gui/kernel/qguiapplication.cpp:679 #25 0x0000000102d764f8 in QGuiApplication::~QGuiApplication() at src/qt/qtbase/src/gui/kernel/qguiapplication.cpp:679