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

in case of two render threads the application crashes when Qt3DRender::Render::Renderer::submitRenderViews is called at the same time

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 5.10.1
    • GUI: OpenGL
    • None
    • MSVC 2017 15.9.5 x64, Core i5-6300U + HD Graphics 520, driver version 25.20.100.6519 (the latest one, but occurs other machines as well with the same driver version)
    • Windows

    Description

      Dear Qt,

      in our application we have multiple render sub-windows, a separate QAspectEngine is assigned to each sub-window.

      When the opengl rendering happens and submitRenderViews is called at exactly the same time (according to the log) from both render threads, the application becomes unresponsive and it causes high CPU load, window contents are either not shown or only partly (both subwindows has the same content, but occurs with different content as well) and crashes.

      stack trace:

        ntdll.dll!NtSetEvent() Unknown Symbols loaded. 

      ntdll.dll!NtSetEvent() Unknown Symbols loaded. 

      KernelBase.dll!SetEvent() Unknown Symbols loaded. 

      ig9icd64.dll!00007ffbbf8171ea() Unknown No symbols loaded.  ig9icd64.dll!00007ffbbf77e092() Unknown No symbols loaded.  opengl32.dll!MakeAnyCurrent() Unknown Symbols loaded.  opengl32.dll!wglMakeCurrent() Unknown Symbols loaded.> qwindowsd.dll!QWindowsGLContext::makeCurrent(QPlatformSurface * surface=0x000001a212ca5930) Line 1328 C++ Symbols loaded.  Qt5Guid.dll!QOpenGLContext::makeCurrent(QSurface * surface=0x000001a212648120) Line 986 C++ Symbols loaded.  Qt53DRenderd.dll!Qt3DRender::Render::GraphicsContext::makeCurrent(QSurface * surface=0x000001a212648120) Line 443 C++ Symbols loaded.  Qt53DRenderd.dll!Qt3DRender::Render::GraphicsContext::beginDrawing(QSurface * surface=0x000001a212648120) Line 253 C++ Symbols loaded.  Qt53DRenderd.dll!Qt3DRender::Render::Renderer::submitRenderViews(const QVector<Qt3DRender::Render::RenderView *> & renderViews={...}) Line 1312 C++ Symbols loaded.  Qt53DRenderd.dll!Qt3DRender::Render::Renderer::doRender(bool scene3dBlocking=false) Line 660 C++ Symbols loaded.  Qt53DRenderd.dll!Qt3DRender::Render::Renderer::render() Line 565 C++ Symbols loaded.  Qt53DRenderd.dll!Qt3DRender::Render::RenderThread::run() Line 89 C++ Symbols loaded.  Qt5Cored.dll!QThreadPrivate::start(void * arg=0x000001a2125f9600) Line 378 C++ Symbols loaded.  kernel32.dll!BaseThreadInitThunk() Unknown Symbols loaded.  ntdll.dll!RtlUserThreadStart() Unknown Symbols loaded.

       

      From the debug logs:

      thread: 21812 tick: 211354751873 message: Qt3D.Renderer.Rendering struct Qt3DRender::Render::Renderer::ViewSubmissionResultData __cdecl Qt3DRender::Render::Renderer::submitRenderViews(const class QVector<class Qt3DRender::Render::RenderView *> &) Submitted Renderview  1 / 2 in  7 ms struct Qt3DRender::Render::Renderer::ViewSubmissionResultData __cdecl Qt3DRender::Render::Renderer::submitRenderViews(const class QVector<class Qt3DRender::Render::RenderView *> &) backend\renderer.cpp 1421

       thread: 23004 tick: 211354751327 Qt3D.Renderer.Rendering struct Qt3DRender::Render::Renderer::ViewSubmissionResultData __cdecl Qt3DRender::Render::Renderer::submitRenderViews(const class QVector<class Qt3DRender::Render::RenderView *> &) Submitted Renderview  2 / 2 in  7 ms struct Qt3DRender::Render::Renderer::ViewSubmissionResultData __cdecl Qt3DRender::Render::Renderer::submitRenderViews(const class QVector<class Qt3DRender::Render::RenderView *> &) backend\renderer.cpp 1421

       

      It occurs both in Debug and Release mode.

       

      This issue is not experienced so far under the following circumstances:

      • using driver version 20.19.15.4501
      • set environment variable to QT3DRENDER_DEBUG_LOGGING to 1 (but neither log messages are intercepted nor console is available, because the application is built for Windows subsystem only)

      Best Regards,

        Istvan

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            lemire_p Paul Lemire
            istvan.tamas Istvan Tamas
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes