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

Qt Quick 3D random crashes if skeleton joints are created via Loader3D

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 6.0.1, 6.1.0
    • 6.0.0
    • Quick: 3D
    • None
    • Windows
    • 803efea45cec0c65f502cf9cd46d758856f4ad4a (qt/qtquick3d/dev) 89a5af14661ad6911e56e965b2501f359bd9d386 (qt/qtquick3d/6.0)

    Description

      Application randomly crashes if Joint nodes are created dynamically via Loader3D.

      Exception stack:

      1 collectBoneTransforms atomic_base.h 390 0x6669ab80 
      

       How to reproduce:

      1) Run the attached example.

      The example crashes occasionally, to reproduce the crash try:

      • add/remove line breaks before Window in main.qml;
      • run the example ~20 times in a row;
      • complete rebuild and run.
      • Try to add this code to Joint (not sure if it crashes for the same reason when Model is added):
          Model
          {
              visible: false
              source: "#Cube"
              scale: Qt.vector3d(0.2, 0.2, 0.2)
              materials: [
                  DefaultMaterial {
                      diffuseColor: Qt.rgba(0.0, 0.8, 0.0, 1.0)
                      opacity: 1.0
                  }
              ]
          }
      

       With 3D mesh most of the times it works and the joints can be moved/rotated without problems. Sometimes it crashes in initialisation or some of the joints may have incorrect initial position, rotation or scale. In very rare cases it crashes when the program closes.

      The example is based on "Qt Quick 3D - Simple Skinning Example"

       

      Is it the only and right way to create skeletons from c++ ?

      Attachments

        1. disasm.zip
          6 kB
        2. example.zip
          7 kB
        For Gerrit Dashboard: QTBUG-89372
        # Subject Branch Project Status CR V

        Activity

          People

            inho Inho Lee
            alexey89 alexey89
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes