hotspot icon indicating copy to clipboard operation
hotspot copied to clipboard

Jitted symbol names are lost

Open vchuravy opened this issue 2 months ago • 2 comments

Describe the bug

hotspot fails to symbolize jitted frames post perf inject --jit.

To Reproduce

OPENBLAS_NUM_THREADS=1 ENABLE_JITPROFILING=1 perf record --call-graph dwarf -k 1 julia -g2 -e "fib(x) = x <= 1 ? 1 : (fib(x-1) + fib(x-2)); for _ in 1:1000; @show fib(32); end "
perf inject --verbose --jit --input perf.data --output perf.jit.data

Use perf report --input perf.jit.data to validate that most of the time is spent in a function called julia_fib_*

Image

Expected behavior A clear and concise description of what you expected to happen.

Opening perf.jit.data should symbolize jitted frames correctly.

As an aside, I would appreciate it if Hotspot had an option to use perf inject from the GUI.

Screenshots

Image

Version Info (please complete the following information):

  • Linux Kernel version: 6.16.1-arch1-1
  • perf version: 6.16-1
  • hotspot version (appimage? selfcompiled?): 1.5.80 / from AUR (hotspot-git)
  • if self-compiled hotspot, what version of elfutils: 0.193-5

Additional context Add any other context about the problem here.

vchuravy avatar Oct 07 '25 14:10 vchuravy

please provide an MWE that allows us to reproduce this issue easily

milianw avatar Oct 11 '25 07:10 milianw

I assume that the MWE I provided in the issue, is not minimal enough?

OPENBLAS_NUM_THREADS=1 ENABLE_JITPROFILING=1 perf record --call-graph dwarf -k 1 julia -g2 -e "fib(x) = x <= 1 ? 1 : (fib(x-1) + fib(x-2)); for _ in 1:1000; @show fib(32); end "
perf inject --verbose --jit --input perf.data --output perf.jit.data

Would the perf.jit.data file suffice? Inspection with perf report shows that the inject was successful.

vchuravy avatar Oct 16 '25 17:10 vchuravy