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

dom: lazy files do not support commitToBase workflow

    XMLWordPrintable

Details

    • Task
    • Resolution: Fixed
    • P2: Important
    • 6.8.0 FF
    • 6.8
    • QML: Tooling
    • None
    • 13761ee3c (dev)

    Description

      It seems that the lazy QmlFiles in the Dom do not support the commitToBase workflow, where:

      1. you create a (base) DomEnvironment
      2. you copy it to change it
        1. if you populate a file obtained from the copy then it should find and use the copy environment
      3. you use commitToBase on the copy to move the modifications into the base environment, and can safely destroy the copy
        1. if you populate the file obtained from the copy now, you get a heap-use-after-free memory error because of the referenced DomEnvironment

      The lazy file needs to know its environment when it does populate itself, and therefore needs a way to decide if it needs to use the copy or the base environment.

       

      This leads to crashes in qmlls's completion, see linked bug.

      Attachments

        Issue Links

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

          Activity

            People

              sami.shalayel Sami Shalayel
              sami.shalayel Sami Shalayel
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes