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

Crash after calling QQmlEngine::clearComponentCache()

XMLWordPrintable

      Sometimes calling QQmlEngine::clearComponentCache() causes a crash deep in the QML engine. This problem seems to be timing-dependant, attached is a testcase that reproduces the problem after some iterations. Sometimes the program aborts with a segfault, sometimes with different asserts.

      Attached is also a GDB backtrace for one of the crashes, and a valgrind log of another crash. Note that the valgrind log is from another project, I did not manage to reproduce this with valgrind and the minimal testcase, probably because the timings under valgrind are very different.

      While the attached testcase might seem silly, the real-world usecase of this is to provide quick reloading of the QML files while a program is running, to reduce the time between changing QML source and testing it in a program to almost nothing.

        1. crash-testcase.tar.gz
          1 kB
        2. gdb-backtrace.txt
          20 kB
        3. qtbug41465.zip
          2 kB
        4. valgrind-log.txt
          4 kB
        For Gerrit Dashboard: QTBUG-41465
        # Subject Branch Project Status CR V

            ulherman Ulf Hermann
            tmcguire Thomas McGuire
            Votes:
            9 Vote for this issue
            Watchers:
            22 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes