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

Qt3D Application Crashes when rendering first frame

    XMLWordPrintable

Details

    • Linux/Yocto
    • f286d11852 (qt/qt3d/dev) f286d11852 (qt/tqtc-qt3d/dev) c9bb0a3d1e (qt/tqtc-qt3d/5.15) 861464e5f8 (qt/qt3d/6.4) 3e53c69f58 (qt/tqtc-qt3d/6.2) 0b0fd45b50 (qt/qt3d/6.3) 0b0fd45b50 (qt/tqtc-qt3d/6.3) 861464e5f8 (qt/tqtc-qt3d/6.4) 861464e5f8 (qt/qt3d/6.4.0)

    Description

      Customer application is crashing when using Qt3D.

      • I tested every Qt3D example and those work fine on the target device
      • I enabled Qt3D logging with `export QT_LOGGING_RULES=Qt3D.*.debug=true`.
      • This showed that the Scene itself is set up properly but app crashes when trying to render the first frame
      • The crash started to occur when customer was switching from 5.12 to 5.15
      • Customer is using 5.15.7 on the target hardware. The latest version of Qt3D for 5.15 is 5.15.9. There haven't been many changes since then.
        However, identified a possible patch that might help:
      • dbe025fb6 ("CalcBoundingVolumeJob: don't rely on QChangeArbiter for extent changes", 2022-06-13)
      • The crash also occurs when commenting out and disabling most of the scene. It always occurs when try to render the first frame (compare Qt3D_crash_log vs Qt3D_crash_log_without_sceneroot)
      • The bug is most likely a race condition in the new thread architecture coupled with customer's app specific side conditions on Qt3D initialization
      • QThreadPool::globalInstance() is used by some modules. I could be that there might occur some interferences, like with the GStreamer pipeline
      • When I set the maximum number of threads from 16 to in 1 in VisualReportApplication.cpp (`QThreadPool::globalInstance()->setMaxThreadCount(16);`)
        The application does not crash but is stuck visually, but reacts to touch events
      • Backtraces differ a bit each time the app crashes, but QChangeArbiter (from the new 5.14 Multithreading Architecture) is always involved:

       

      Logs files and backtraces are attached.

      Attachments

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

        Activity

          People

            seanharmer Sean Harmer
            michaelwinkelmann Michael Winkelmann
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: