GithubHelp home page GithubHelp logo

Comments (11)

arctic-alpaca avatar arctic-alpaca commented on June 14, 2024 2

I tracked the problem down to an issue with the installed perf version. After downgrading from perf-6.4.4-200.fc38 to perf-6.2.6-300.fc38, Rust symbols are demangled properly again. Sorry for the noise here.

from flamegraph.

arctic-alpaca avatar arctic-alpaca commented on June 14, 2024 1

@kangalio Building perf from source has worked for me. While I'm not sure how correct this is, these are the notes I found from when I built it:

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux
git checkout v6.6
make -C tools/perf  -s

PERF=./path_to_self_built_perf cargo flamegraph ...

from flamegraph.

djc avatar djc commented on June 14, 2024

What platform are you using flamegraph on? How is the code that you're profiling generated?

from flamegraph.

arctic-alpaca avatar arctic-alpaca commented on June 14, 2024

I'm using Fedora 38 (uname -r prints 6.4.11-200.fc38.x86_64) on x86_64.

How is the code that you're profiling generated?

I'm not entirely sure what you mean by this. I'm using criterion (version 0.5.1) with code I wrote and successfully generated flamegraphs with properly displayed function names for before.
I tried multiple old projects to see if there was any difference but they all show the unwanted characters.
The behavior also appears when using flamegraph on an example in my project (cargo flamegraph --example my_example --root --freq 50000):
grafik

I used perf on the example executable with sudo perf record -p 123 -F 500000 which resulted in the following output of perf report. The example was compiled with debug = true in profile.release.

grafik

from flamegraph.

djc avatar djc commented on June 14, 2024

No problem, glad you figured it out!

from flamegraph.

DevJac avatar DevJac commented on June 14, 2024

I'm having the problem on Fedora as well. It appears the latest versions of perf do not demangle the names correctly?

from flamegraph.

djc avatar djc commented on June 14, 2024

Would be great if someone can look for/file a bug against Fedora and reference it here.

from flamegraph.

arctic-alpaca avatar arctic-alpaca commented on June 14, 2024

I did file an issue in the RedHat bugtracker as this is where the "File a new bug report" link on the fedora package site leads to.

from flamegraph.

djc avatar djc commented on June 14, 2024

@arctic-alpaca awesome, thanks!

from flamegraph.

kangalio avatar kangalio commented on June 14, 2024

On Fedora 39, the oldest available perf package is 6.5.4 (and the newest is 6.6.3), which still have the bug :( Will update if I find a workaround

from flamegraph.

Omar-Elrefaei avatar Omar-Elrefaei commented on June 14, 2024

To install required dependencies to build perf with most optional features enabled:
dnf install elfutils-devel libdwarf libdwarf-devel libcap-devel elfutils-libelf-devel numactl-libs libunwind-devel lzma-sdk-devel libaio-devel libtraceevent-devel libfm-devel slang-devel systemtap-sdt-devel perl-devel binutils-devel libbabeltrace-devel

then you can run dnf mark remove {package_names}... in order to label them as "autoinstalled" if you want them to be removed later.

from flamegraph.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.