Uploaded image for project: 'Qbs ("Cubes")'
  1. Qbs ("Cubes")
  2. QBS-1820

Recursive property access loop crashes Qbs

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Not Evaluated
    • None
    • 2.6.0
    • General
    • None
    • Linux/X11

    Description

      I have managed to crash Qbs several times in the past, every time due to a cyclic reference occurring. This time I decided to build a debug version of Qbs and capture the bug myself to see what is going on. Long story short, I narrowed it down to this:

       

      Product{
          name: "Test Product"
          Group{
              prefix:prefix

               }
      }

      Just put this in a .qbs file and let qbs read it. You could say why do I end up with this stupid syntax? The reason is that I want to do the following:

       

      import qbs.FileInfo

      Product {
          name: "Test Product"
          property string prefix: FileInfo.joinPaths(FileInfo.cleanPath(project.sourceDirectory), "somedir")
          MyGroup {
              name: "Test Group"
              prefix: prefix // <---  This is where the bug is triggered

                }
      }

      As you can see here there is a prefix property I want to pass from Product to MyGroup. In other words it is a legitimate mistake that can happen in normal use.

      I sure hope this can be fixed and a regression test is added to the test suite so that it won't happen in the future!

       

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              kandeler Christian Kandeler
              lennartrolland@gmail.com Lennart Rolland
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes