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

Segfault in QQuickWindowIncubationController when accessing QSGRenderLoop on Application shutdown

    XMLWordPrintable

Details

    • iOS/tvOS/watchOS
    • 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
      

      Attachments

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

        Activity

          People

            qt.team.quick.subscriptions Qt Quick and Widgets Team
            mike.achtelik Mike Achtelik
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews