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

Details

    • Bug
    • Resolution: Fixed
    • 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)

    Description

      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

      Attachments

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

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: