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

Crash in QQmlPropertyCache::resolve

    XMLWordPrintable

Details

    Description

      Crash in QQmlPropertyCache::resolve when triggering some specific signals for some specific QML files.
      QQmlEngine pointer appears to be dangling.

      The code intentionnally triggers the issue and is not actual production code.

      Stack trace attached as stack.tasks
      Repro project attached as repro.zip

      build and run, edit macros to show/hide ui (default is hidden for automatic crash), or use workaround QML file.
      diff the two QML files to clearly see the workaround.

      location of crash:

      void QQmlPropertyCache::resolve(QQmlPropertyData *data) const
      {
      ...
              data->flags |= flagsForPropertyType(data->propType, engine->qmlEngine()); <<----------
          }
      
          data->flags &= ~QQmlPropertyData::NotFullyResolved;
      }
      

      Thank you!

      Attachments

        1. repro.zip
          4 kB
          Patrick Pelletier
        2. stack.tasks
          5 kB
          Patrick Pelletier
        For Gerrit Dashboard: QTBUG-57633
        # Subject Branch Project Status CR V

        Activity

          People

            erikv Erik Verbruggen
            patrick_cmlabs Patrick Pelletier
            Votes:
            4 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes