Uploaded image for project: 'Qt Creator'
  1. Qt Creator
  2. QTCREATORBUG-31769

Passing 'settings set target.load-script-from-symbol-file true' to lldb on macOS breaks debug dumpers when multiple Creators are installed on the system

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3: Somewhat important P3: Somewhat important
    • None
    • Qt Creator 14.0.2
    • Debugger
    • None
    • macOS
    • 2d615d453 (15.0), 17b1cf054 (15.0), 8b01ea526 (dev), 0806aee2b (dev), 25686af63 (6.8), 2469cb7a1 (6.8)

      If my .lldbinit contains, or if i manually pass it to the lldb in Qt Creator,

      settings set target.load-script-from-symbol-file true
      

      I get the following output in the debugger output:

      
      >Loading Qt summary providers from Creator 14.0.82 in '/Users/alex/Dev/qtcreator/builds/cmake_release_qt672_creator_15/Qt Creator.app'
      >@
      >lldbversion="lldb-1600.0.36.3
      >Apple Swift version 6.0 (swiftlang-6.0.0.9.10 clang-1600.0.26.2)"@
      >Loading Qt summary providers from Creator 14.0.2 in '/Users/alex/Dev/qt/official/Qt Creator.app'
      >@
      >lldbversion="lldb-1600.0.36.3
      >Apple Swift version 6.0 (swiftlang-6.0.0.9.10 clang-1600.0.26.2)"@
      >Loading Qt summary providers from Creator 14.0.1 in '/Users/alex/Dev/qtcreator/builds/cmake_release_qt672_creator_14/Qt Creator.app'
      >@
      >lldbversion="lldb-1600.0.36.3
      >Apple Swift version 6.0 (swiftlang-6.0.0.9.10 clang-1600.0.26.2)"@
      >Loading Qt summary providers from Creator 13.0.84 in '/Users/alex/Dev/qtcreator/official/Qt Creator 14.0.0-rc1/Qt Creator.app'
      >@
      >lldbversion="lldb-1600.0.36.3
      >Apple Swift version 6.0 (swiftlang-6.0.0.9.10 clang-1600.0.26.2)"@
      >Loading Qt summary providers from Creator 12.0.84 in '/Users/alex/Dev/qtcreator/builds/cmake_release_qt655_creator_13/Qt Creator.app'
      >@
      >lldbversion="lldb-1600.0.36.3
      >Apple Swift version 6.0 (swiftlang-6.0.0.9.10 clang-1600.0.26.2)"@
      >Loading Qt summary providers from Creator 12.0.82 in '/Users/alex/Dev/qtcreator/builds/cmake_release_qt654_creator_13/Qt Creator.app'
      >@
      >lldbversion="lldb-1600.0.36.3
      >Apple Swift version 6.0 (swiftlang-6.0.0.9.10 clang-1600.0.26.2)"@
      >@
      >success="1",output="",error=""@
      
      

      As you can see, it loads summaries from multiple Creator versions. This ends up breaking the debugging dumpers in Creator itself.

      I had that in my .lldbinit, because if I load without it, I see this output in my debugger log.

      [LLDB] NOTE: INFERIOR RUN OK - REPEATED.
      
      eERROR: Lldb stderr: warning: 'QtCore' contains a debug script. To run this script in this debug session:
      e
      e    command script import "/Users/alex/Dev/qt/official/6.8.0/macos/lib/QtCore.framework.dSYM/Contents/Resources/Python/QtCore.py"
      e
      eTo run all discovered debug scripts in this session:
      e
      e    settings set target.load-script-from-symbol-file true
      e
      

      Either way, i think the QtCore.py script that ships with Qt, should not try to load dumpers from all my Qt Creator installations, but just one, the current one.

      See the code in https://github.com/qt/qtbase/blob/d392d3b22c94f86fea50f26284bc9ac8b35f6851/src/corelib/debug_script.py#L73

      Sounds like it might be a regression of https://github.com/qt/qtbase/commit/9965630aaf00d81c656baff5072dda9477544d97

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

            alexandru.croitor Alexandru Croitor
            alexandru.croitor Alexandru Croitor
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: