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

Crash when removing item containing ShaderEffect with a UniformAnimator from the scene

    XMLWordPrintable

Details

    Description

      Attached reproducible example. Run it and click "Add scene item" and "Remove scene item" quickly, one after the other.

      The inferior stopped because it triggered an exception.
      Stopped in thread 18 by: Exception at 0x7ffbb368951a, code: 0xc0000005: read access violation at: 0xffffffffffffffff, flags=0x0.
      
      1  QOpenGLSharedResourceGuard::id                qopenglcontext_p.h               114  0x7ffbb368951a
      2  QOpenGLFramebufferObjectPrivate::fbo          qopenglframebufferobject_p.h     147  0x7ffbb3c3a691
      3  QOpenGLFramebufferObject::isBound             qopenglframebufferobject.cpp     1651 0x7ffbb3c336e3
      4  QSGOpenGLLayer::bind                          qsgopengllayer.cpp               164  0x7ffbb2b6a32e
      5  QQuickCustomMaterialShader::updateState       qquickopenglshadereffectnode.cpp 168  0x7ffbb2e13288
      6  QSGBatchRenderer::Renderer::renderMergedBatch qsgbatchrenderer.cpp             3100 0x7ffbb2a9a086
      7  QSGBatchRenderer::Renderer::renderBatches     qsgbatchrenderer.cpp             4066 0x7ffbb2a94bf6
      8  QSGBatchRenderer::Renderer::render            qsgbatchrenderer.cpp             4365 0x7ffbb2a8f48f
      9  QSGRenderer::renderScene                      qsgrenderer.cpp                  265  0x7ffbb2a852e6
      10 QSGRenderer::renderScene                      qsgrenderer.cpp                  213  0x7ffbb2a8553a
      11 QSGDefaultRenderContext::renderNextFrame      qsgdefaultrendercontext.cpp      230  0x7ffbb2b5a06e
      12 QQuickWindowPrivate::renderSceneGraph         qquickwindow.cpp                 619  0x7ffbb2c3670f
      13 QSGRenderThread::syncAndRender                qsgthreadedrenderloop.cpp        839  0x7ffbb2b7a4f2
      14 QSGRenderThread::run                          qsgthreadedrenderloop.cpp        1047 0x7ffbb2b793e4
      15 QThreadPrivate::start                         qthread_win.cpp                  407  0x7ffbb568aa8b
      16 BaseThreadInitThunk                           KERNEL32                              0x7ffc016e7c24
      17 RtlUserThreadStart                            ntdll                                 0x7ffc0340d4d1
      

      It doesn't crash if the animation is commented out:

          UniformAnimator {
              target: root
              uniform: "t"
              from: 0
              to: 1
              duration: 500
              running: true
              loops: -1
          }
      

      Attachments

        Issue Links

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

          Activity

            People

              kskau Kristoffer Skau
              mitch_curtis Mitch Curtis
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There is 1 open Gerrit change