Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8353177

Add XCTraceCore to macOS devkit

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P4 P4
    • None
    • None
    • infrastructure
    • None

      It should be possible to run JMH benchmarks inside the the jdk with the xctrace profiler purely using the macOS devkit. Using a patch that addresses https://bugs.openjdk.org/browse/CODETOOLS-7903982 I'm able to get JMH to resolve xctrace, but the JMH benchmark fails with:

      ```
      Running test 'micro:org.openjdk.bench.java.lang.MinMaxVector.longReductionMultiplyMax'
      Profilers failed to initialize, exiting.
      "xctrace version" failed: [dyld[99580]: Library not loaded: @rpath/XCTraceCore.framework/Versions/A/XCTraceCore
        Referenced from: <05ABD51C-583F-305C-BAC6-95F050084452> /nix/store/vhsix1jn849mpxggwbw2zh1nbxpy0grc-Xcode16.2-MacOSX15/Xcode/Contents/Developer/usr/bin/xctrace
        Reason: tried: '/nix/store/vhsix1jn849mpxggwbw2zh1nbxpy0grc-Xcode16.2-MacOSX15/Xcode/Contents/SharedFrameworks/XCTraceCore.framework/Versions/A/XCTraceCore' (no such file), '/nix/store/vhsix1jn849mpxggwbw2zh1nbxpy0grc-Xcode16.2-MacOSX15/Xcode/Contents/Applications/Instruments.app/Contents/Frameworks/XCTraceCore.framework/Versions/A/XCTraceCore' (no such file), '/nix/store/vhsix1jn849mpxggwbw2zh1nbxpy0grc-Xcode16.2-MacOSX15/Xcode/Contents/Developer/Independence/XCTraceCore.framework/Versions/A/XCTraceCore' (no such file), '/nix/store/vhsix1jn849mpxggwbw2zh1nbxpy0grc-Xcode16.2-MacOSX15/Xcode/Contents/Developer/Frameworks/XCTraceCore.framework/Versions/A/XCTraceCore' (no such file), '/nix/store/vhsix1jn849mpxggwbw2zh1nbxpy0grc-Xcode16.2-MacOSX15/Xcode/Contents/SharedFrameworks/XCTraceCore.framework/Versions/A/XCTraceCore' (no such file), '/nix/store/vhsix1jn849mpxggwbw2zh1nbxpy0grc-Xcode16.2-MacOSX15/Xcode/Contents/Applications/Instruments.app/Contents/Frameworks/XCTraceCore.framework/Versions/A/XCTraceCore' (no such file), '/nix/store/vhsix1jn849mpxggwbw2zh1nbxpy0grc-Xcode16.2-MacOSX15/Xcode/Contents/Developer/Independence/XCTraceCore.framework/Versions/A/XCTraceCore' (no such file), '/nix/store/vhsix1jn849mpxggwbw2zh1nbxpy0grc-Xcode16.2-MacOSX15/Xcode/Contents/Developer/Frameworks/XCTraceCore.framework/Versions/A/XCTraceCore' (no such file)
      ]
      ```

      The problem is due to XCTraceCore not being part of the macOS devkit. Looking at my local XCode install, I see:

      ```
      galder@m25:/Applications/Xcode.app/ > fnd XCTraceCore
      ./Contents/Applications/Instruments.app/Contents/Frameworks/XCTraceCore.framework
      ./Contents/Applications/Instruments.app/Contents/Frameworks/XCTraceCore.framework/Versions/A/XCTraceCore
      ./Contents/Applications/Instruments.app/Contents/Frameworks/XCTraceCore.framework/XCTraceCore
      ```

      Currently the devkit excludes everything under `./Contents/Applications`. A possible fix would be to explicitly include `./Contents/Applications/Instruments.app/Contents/Frameworks/XCTraceCore.framework`. I'll see if I can make this work.

            galder Galder ZamarreƱo
            galder Galder ZamarreƱo
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: