KDAB / hotspot

The Linux perf GUI for performance analysis.
4.15k stars 257 forks source link

After upgrading project to C++20, hotspot shows incorrect flamegraph/stacktrace #635

Open Waqar144 opened 6 months ago

Waqar144 commented 6 months ago

Describe the bug

Recently we updated Kate text editor to use C++20. After the switch, I noticed that the flamegraph being shown in hotspot was incorrect consistently. (I am not sure if this will be reproducible in any other C++20 app)

To Reproduce Steps to reproduce the behavior:

CMake flags used:

cmake-options -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-fno-omit-frame-pointer" -DECM_ENABLE_SANITIZERS="address;leak" -DCMAKE_BUILD_TYPE=RelWithDebInfo

Expected behavior The stacktrace is correct

Screenshots

image

output of perf report:

image

.perfparser file for the above screenshot: perf.data.perfparser.tar.gz

Version Info (please complete the following information):

GitMensch commented 6 months ago

Just to recheck: is it better if you have the full QT debug info (looks like some symbols were missing)?

lievenhey commented 5 months ago

Can you share the orignal perf.data file? I tried reproducing the issue but I couldn't see those weird traces.

lievenhey commented 5 months ago

Could you try again with the appimage release? We had some problems with an old elfutils version.

milianw commented 4 months ago

@Waqar144 do you still run into this? if so please reopen (and ideally provide a way to reproduce - we cannot so far)

Waqar144 commented 4 months ago

Yes, I am still running into this issue. Tried the latest appImage (1.5.1) as well as the latest master. Attaching the perf.data file: perf.zip

Waqar144 commented 4 months ago

Same result with the hotspot-continuous.AppImage

milianw commented 4 months ago

the perf.data file is not relocatable, to analyze it we'd basically need your selfcompiled .so files too