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

Crash in renderer when using two ApplicationWindows and ShaderEffectSource

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.4.0
    • 5.3.0 Beta1
    • Quick: SceneGraph
    • None
    • 81ba77d736f07efac37d284cd741d71f9dad4149

    Description

      I get the following backtrace when running the attached main.qml through qmlscene:

      Thread 9 (Thread 0x7fffe1ac5700 (LWP 27219)):
      #0 0x00007ffff7836dfa in QSGBasicGeometryNode::clipList (this=0x0) at ../../include/QtQuick/5.3.0/QtQuick/private/../../../../../../../src/qtdeclarative-stable/src/quick/scenegraph/coreapi/qsgnode.h:200
      #1 0x00007ffff78305be in QSGBatchRenderer::Renderer::renderMergedBatch (this=0x7fffd000c670, batch=0x7fffd00454b0) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:2033
      #2 0x00007ffff7831e60 in QSGBatchRenderer::Renderer::renderBatches (this=0x7fffd000c670) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:2274
      #3 0x00007ffff78331ad in QSGBatchRenderer::Renderer::render (this=0x7fffd000c670) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:2431
      #4 0x00007ffff78473ec in QSGRenderer::renderScene (this=0x7fffd000c670, bindable=...) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/coreapi/qsgrenderer.cpp:259
      #5 0x00007ffff79d9519 in QQuickShaderEffectTexture::grab (this=0x7fffd0010d00) at /home/thomas/src/qtdeclarative-stable/src/quick/items/qquickshadereffectsource.cpp:461
      #6 0x00007ffff79d7cb3 in QQuickShaderEffectTexture::updateTexture (this=0x7fffd0010d00) at /home/thomas/src/qtdeclarative-stable/src/quick/items/qquickshadereffectsource.cpp:223
      #7 0x00007ffff7876bfb in QSGDefaultImageNode::preprocess (this=0x7fffd000b880) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/qsgdefaultimagenode.cpp:297
      #8 0x00007ffff7847b65 in QSGRenderer::preprocess (this=0x7fffd0005650) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/coreapi/qsgrenderer.cpp:373
      #9 0x00007ffff7832127 in QSGBatchRenderer::Renderer::preprocess (this=0x7fffd0005650) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp:2323
      #10 0x00007ffff78472db in QSGRenderer::renderScene (this=0x7fffd0005650, bindable=...) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/coreapi/qsgrenderer.cpp:238
      #11 0x00007ffff78471fe in QSGRenderer::renderScene (this=0x7fffd0005650) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/coreapi/qsgrenderer.cpp:218
      #12 0x00007ffff7860a41 in QSGRenderContext::renderNextFrame (this=0x8e9b60, renderer=0x7fffd0005650, fboId=0) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/qsgcontext.cpp:374
      #13 0x00007ffff78b880b in QQuickWindowPrivate::renderSceneGraph (this=0x8e9640, size=...) at /home/thomas/src/qtdeclarative-stable/src/quick/items/qquickwindow.cpp:386
      #14 0x00007ffff7888dcd in QSGRenderThread::syncAndRender (this=0xacd590) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/qsgthreadedrenderloop.cpp:616
      #15 0x00007ffff7889264 in QSGRenderThread::run (this=0xacd590) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/qsgthreadedrenderloop.cpp:704
      #16 0x00007ffff524990b in QThreadPrivate::start (arg=0xacd590) at /home/thomas/src/qtbase-stable/src/corelib/thread/qthread_unix.cpp:345
      #17 0x00007ffff4cf0e0f in start_thread () from /lib64/libpthread.so.0
      #18 0x00007ffff420d44d in clone () from /lib64/libc.so.6

      Thread 8 (Thread 0x7fffe22c6700 (LWP 27218)):
      #0 0x00007ffff4cf4964 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1 0x00007fffea4c4543 in ?? () from /usr/lib64/dri/r600_dri.so
      #2 0x00007ffff4cf0e0f in start_thread () from /lib64/libpthread.so.0

      Thread 7 (Thread 0x7fffe2c81700 (LWP 27217)):
      #0 QByteArray::reallocData (this=0x7ffff522b8ad <QFlags<QArrayData::AllocationOption>::QFlags(QFlag)+27>, alloc=32767, options=...) at /home/thomas/src/qtbase-stable/src/corelib/tools/qbytearray.cpp:1496
      #1 0x00007ffff524e638 in QByteArray::append (this=0x7fffe2c7e9b0, ba=Python Exception <class 'gdb.error'> cannot resolve overloaded method `data': no arguments supplied:
      ) at /home/thomas/src/qtbase-stable/src/corelib/tools/qbytearray.cpp:1653
      #2 0x00007ffff784c431 in QByteArray::operator+= (this=0x7fffe2c7e9b0, a=Python Exception <class 'gdb.error'> cannot resolve overloaded method `data': no arguments supplied:
      ) at /home/thomas/install/opt/qt5-desktop-stable/include/QtCore/qbytearray.h:538
      #3 0x00007ffff785979c in QSGDistanceFieldGlyphCacheManager::fontKey (font=...) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/util/qsgdistancefieldutil.cpp:95
      #4 0x00007ffff7859534 in QSGDistanceFieldGlyphCacheManager::cache (this=0x7fffd80125d0, font=...) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/util/qsgdistancefieldutil.cpp:78
      #5 0x00007ffff7860ac5 in QSGRenderContext::distanceFieldGlyphCache (this=0x96d230, font=...) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/qsgcontext.cpp:390
      #6 0x00007ffff786f7d6 in QSGDistanceFieldGlyphNode::setGlyphs (this=0x7fffd80120a0, position=..., glyphs=...) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/qsgdistancefieldglyphnode.cpp:116
      #7 0x00007ffff79159d3 in QQuickTextNode::addGlyphs (this=0x7fffd8007e90, position=..., glyphs=..., color=..., style=QQuickText::Normal, styleColor=..., parentNode=0x0) at /home/thomas/src/qtdeclarative-stable/src/quick/items/qquicktextn
      ode.cpp:152
      #8 0x00007ffff791b5e0 in QQuickTextNodeEngine::addToSceneGraph (this=0x7fffd8228220, parentNode=0x7fffd8007e90, style=QQuickText::Normal, styleColor=...) at /home/thomas/src/qtdeclarative-stable/src/quick/items/qquicktextnodeengine.cpp:
      732
      #9 0x00007ffff79164bd in QQuickTextNode::addTextLayout (this=0x7fffd8007e90, position=..., textLayout=0x8e7c30, color=..., style=QQuickText::Normal, styleColor=..., anchorColor=..., selectionColor=..., selectedTextColor=..., selectionSt
      art=-1, selectionEnd=-1, lineStart=0, lineCount=1) at /home/thomas/src/qtdeclarative-stable/src/quick/items/qquicktextnode.cpp:291
      #10 0x00007ffff7911bb4 in QQuickText::updatePaintNode (this=0x880880, oldNode=0x7fffd8007e90, data=0x88a0a0) at /home/thomas/src/qtdeclarative-stable/src/quick/items/qquicktext.cpp:2246
      #11 0x00007ffff78c1a0b in QQuickWindowPrivate::updateDirtyNode (this=0x889f10, item=0x880880) at /home/thomas/src/qtdeclarative-stable/src/quick/items/qquickwindow.cpp:2648
      #12 0x00007ffff78c0a69 in QQuickWindowPrivate::updateDirtyNodes (this=0x889f10) at /home/thomas/src/qtdeclarative-stable/src/quick/items/qquickwindow.cpp:2473
      #13 0x00007ffff78b83fc in QQuickWindowPrivate::syncSceneGraph (this=0x889f10) at /home/thomas/src/qtdeclarative-stable/src/quick/items/qquickwindow.cpp:347
      #14 0x00007ffff7888ae1 in QSGRenderThread::sync (this=0xa6e070) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/qsgthreadedrenderloop.cpp:545
      #15 0x00007ffff7888c45 in QSGRenderThread::syncAndRender (this=0xa6e070) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/qsgthreadedrenderloop.cpp:587
      #16 0x00007ffff7889264 in QSGRenderThread::run (this=0xa6e070) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/qsgthreadedrenderloop.cpp:704
      #17 0x00007ffff524990b in QThreadPrivate::start (arg=0xa6e070) at /home/thomas/src/qtbase-stable/src/corelib/thread/qthread_unix.cpp:345
      #18 0x00007ffff4cf0e0f in start_thread () from /lib64/libpthread.so.0
      #19 0x00007ffff420d44d in clone () from /lib64/libc.so.6

      Thread 6 (Thread 0x7fffe3ddb700 (LWP 27216)):
      #0 0x00007ffff4cf4964 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1 0x00007fffea4c4543 in ?? () from /usr/lib64/dri/r600_dri.so
      #2 0x00007ffff4cf0e0f in start_thread () from /lib64/libpthread.so.0
      #3 0x00007ffff420d44d in clone () from /lib64/libc.so.6

      Thread 4 (Thread 0x7fffe98c9700 (LWP 27214)):
      #0 0x00007ffff42044ed in poll () from /lib64/libc.so.6
      #1 0x00007ffff2832aa4 in ?? () from /usr/lib64/libglib-2.0.so.0
      #2 0x00007ffff2832bc4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
      #3 0x00007ffff54dfe11 in QEventDispatcherGlib::processEvents (this=0x7fffdc0008c0, flags=...) at /home/thomas/src/qtbase-stable/src/corelib/kernel/qeventdispatcher_glib.cpp:426
      #4 0x00007ffff5464e46 in QEventLoop::processEvents (this=0x7fffe98c8db0, flags=...) at /home/thomas/src/qtbase-stable/src/corelib/kernel/qeventloop.cpp:136
      #5 0x00007ffff5465129 in QEventLoop::exec (this=0x7fffe98c8db0, flags=...) at /home/thomas/src/qtbase-stable/src/corelib/kernel/qeventloop.cpp:212
      #6 0x00007ffff5242382 in QThread::exec (this=0x75d070) at /home/thomas/src/qtbase-stable/src/corelib/thread/qthread.cpp:511
      #7 0x00007ffff725366d in QQmlThreadPrivate::run (this=0x75d070) at /home/thomas/src/qtdeclarative-stable/src/qml/qml/ftw/qqmlthread.cpp:148
      #8 0x00007ffff524990b in QThreadPrivate::start (arg=0x75d070) at /home/thomas/src/qtbase-stable/src/corelib/thread/qthread_unix.cpp:345
      #9 0x00007ffff4cf0e0f in start_thread () from /lib64/libpthread.so.0
      #10 0x00007ffff420d44d in clone () from /lib64/libc.so.6

      Thread 3 (Thread 0x7fffea0ca700 (LWP 27213)):
      #0 0x00007ffff4cf4964 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1 0x00007fffea4c4543 in ?? () from /usr/lib64/dri/r600_dri.so
      #2 0x00007ffff4cf0e0f in start_thread () from /lib64/libpthread.so.0
      #3 0x00007ffff420d44d in clone () from /lib64/libc.so.6

      Thread 2 (Thread 0x7fffec178700 (LWP 27212)):
      #0 0x00007ffff42044ed in poll () from /lib64/libc.so.6
      #1 0x00007ffff163b0e2 in ?? () from /usr/lib64/libxcb.so.1
      #2 0x00007ffff163c86f in xcb_wait_for_event () from /usr/lib64/libxcb.so.1
      #3 0x00007fffeee43bf3 in QXcbEventReader::run (this=0x62d8e0) at /home/thomas/src/qtbase-stable/src/plugins/platforms/xcb/qxcbconnection.cpp:1006
      #4 0x00007ffff524990b in QThreadPrivate::start (arg=0x62d8e0) at /home/thomas/src/qtbase-stable/src/corelib/thread/qthread_unix.cpp:345
      #5 0x00007ffff4cf0e0f in start_thread () from /lib64/libpthread.so.0
      #6 0x00007ffff420d44d in clone () from /lib64/libc.so.6

      Thread 1 (Thread 0x7fffef275740 (LWP 27208)):
      #0 0x00007ffff4cf4964 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
      #1 0x00007ffff524b008 in QWaitConditionPrivate::wait (this=0xa97700, time=18446744073709551615) at /home/thomas/src/qtbase-stable/src/corelib/thread/qwaitcondition_unix.cpp:136
      #2 0x00007ffff524adbd in QWaitCondition::wait (this=0xa6e0c0, mutex=0xa6e0b8, time=18446744073709551615) at /home/thomas/src/qtbase-stable/src/corelib/thread/qwaitcondition_unix.cpp:208
      #3 0x00007ffff788a76a in QSGThreadedRenderLoop::polishAndSync (this=0x88a620, w=0xa977e0) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1171
      #4 0x00007ffff788ab34 in QSGThreadedRenderLoop::event (this=0x88a620, e=0x7fffffffc7a0) at /home/thomas/src/qtdeclarative-stable/src/quick/scenegraph/qsgthreadedrenderloop.cpp:1235
      #5 0x00007ffff6687678 in QApplicationPrivate::notify_helper (this=0x610760, receiver=0x88a620, e=0x7fffffffc7a0) at /home/thomas/src/qtbase-stable/src/widgets/kernel/qapplication.cpp:3491
      #6 0x00007ffff6684e0a in QApplication::notify (this=0x7fffffffcd10, receiver=0x88a620, e=0x7fffffffc7a0) at /home/thomas/src/qtbase-stable/src/widgets/kernel/qapplication.cpp:2944
      #7 0x00007ffff546819a in QCoreApplication::notifyInternal (this=0x7fffffffcd10, receiver=0x88a620, event=0x7fffffffc7a0) at /home/thomas/src/qtbase-stable/src/corelib/kernel/qcoreapplication.cpp:935
      #8 0x00007ffff546be83 in QCoreApplication::sendEvent (receiver=0x88a620, event=0x7fffffffc7a0) at /home/thomas/src/qtbase-stable/src/corelib/kernel/qcoreapplication.h:237
      #9 0x00007ffff54de15a in QTimerInfoList::activateTimers (this=0x640870) at /home/thomas/src/qtbase-stable/src/corelib/kernel/qtimerinfo_unix.cpp:643
      #10 0x00007ffff54df46e in timerSourceDispatch (source=0x640810) at /home/thomas/src/qtbase-stable/src/corelib/kernel/qeventdispatcher_glib.cpp:185
      #11 0x00007ffff28327d5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
      #12 0x00007ffff2832b08 in ?? () from /usr/lib64/libglib-2.0.so.0
      #13 0x00007ffff2832bc4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
      #14 0x00007ffff54dfe11 in QEventDispatcherGlib::processEvents (this=0x65a500, flags=...) at /home/thomas/src/qtbase-stable/src/corelib/kernel/qeventdispatcher_glib.cpp:426
      #15 0x00007fffeee9b868 in QPAEventDispatcherGlib::processEvents (this=0x65a500, flags=...) at /home/thomas/src/qtbase-stable/src/platformsupport/eventdispatchers/qeventdispatcher_glib.cpp:123
      #16 0x00007ffff5464e46 in QEventLoop::processEvents (this=0x7fffffffcaa0, flags=...) at /home/thomas/src/qtbase-stable/src/corelib/kernel/qeventloop.cpp:136
      #17 0x00007ffff5465129 in QEventLoop::exec (this=0x7fffffffcaa0, flags=...) at /home/thomas/src/qtbase-stable/src/corelib/kernel/qeventloop.cpp:212
      #18 0x00007ffff5468883 in QCoreApplication::exec () at /home/thomas/src/qtbase-stable/src/corelib/kernel/qcoreapplication.cpp:1188
      #19 0x00007ffff5a4f506 in QGuiApplication::exec () at /home/thomas/src/qtbase-stable/src/gui/kernel/qguiapplication.cpp:1436
      #20 0x00007ffff6684637 in QApplication::exec () at /home/thomas/src/qtbase-stable/src/widgets/kernel/qapplication.cpp:2736
      #21 0x000000000040724d in main (argc=2, argv=0x7fffffffd368) at /home/thomas/src/qtdeclarative-stable/tools/qmlscene/main.cpp:548

      Attachments

        1. main.qml
          1 kB
          Thomas McGuire
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            sletta Gunnar Sletta
            tmcguire Thomas McGuire
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes