-
Bug
-
Resolution: Unresolved
-
P4
-
None
-
None
-
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.
```
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.