-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Description
Description
dotnet 6.0 running on ARM64 ubuntu 21.10 linux, with the environment variable DOTNET_PerfMapEnabled=1, produces a jit dump file in /tmp/jit-*.dump as expected.
However, when the ARM Streamline Performance Analyzer v7.7.0 from https://developer.arm.com/tools-and-software/embedded/arm-development-studio/components/streamline-performance-analyzer is given this jitdump file, then streamline complains:
com.arm.streamline.analysis.processor.profile.JITDumpParserException: JIT dump file contains out of order records
at com.arm.streamline.analysis.processor.profile.JITDumpStateBuilder.validateTimestamp(JITDumpStateBuilder.java:614)
at com.arm.streamline.analysis.processor.profile.JITDumpStateBuilder.processRecord(JITDumpStateBuilder.java:598)
at com.arm.streamline.analysis.processor.profile.Profile.lambda$1(Profile.java:70)
at com.arm.streamline.analysis.processor.profile.JITDumpParser.parse(JITDumpParser.java:714)
at com.arm.streamline.analysis.processor.profile.Profile.loadJITDumps(Profile.java:70)
at com.arm.streamline.analysis.processor.profile.Profile.process(Profile.java:187)
at com.arm.streamline.analysis.AnalysisBase.run(AnalysisBase.java:92)
at java.base/java.lang.Thread.run(Thread.java:834)
Reproduction Steps
export DOTNET_PerfMapEnabled=1
perf record --call-graph=fp -k CLOCK_MONOTONIC --count 1 dotnet_aot_binary.x
scp /tmp/jit*.dump perf.data host_with_streamline:.
On the host_with_streamline, run streamline with input from perf.data and analyze that pointing the analyzer to the jitdump file. Observe the thrown exception in streamline's stderr.
Expected behavior
Streamline reads the jitdump file, anid is able to map pc's in dotnet JITted code to meaningful source lines.
Actual behavior
An exception is thrown; streamline continues on in degraded mode, as there are no pc maps.
Regression?
No response
Known Workarounds
No response
Configuration
No response
Other information
No response