-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
perf segfaults #340
Comments
Hi @sscargal ! Thanks for the report. Very weird. I can see the crash originates in
which is weird because our I will try testing gProfiler on a matching machine and update here if I can reproduce the same issue. If not, I might require more details from you to be able to fix this. |
I did not manage to reproduce this issue on the following system:
Would you please be able to:
I'll try upgrading the kernel meanwhile, to get an exact environment as yours. |
On my system,
|
Thanks for the update @Jongy. To clarify, I'm using Fedora Server 35, not Fedora CoreOS, though it should be close.
Here's the requested data (+attachments): Execute gProfiler under strace
Checking dmesg
Here's the core dump
Find the location of the 'libssh.so.4.8.7' library
Identify the package that installed this library
Attachments: |
Here's the backtrace from the perf core file
|
Here's the strace of the |
I filed a new libssh bug as it seems to be in their code - https://gitlab.com/libssh/libssh-mirror/-/issues/123. I'm still trying to understand why gProfiler's included perf ends up in this code path vs the OS included perf. |
Thanks for all the details @sscargal . It will take me a few days to find the time to look into them, but I'm definitely curious as to why our statically linked perf ends up loading "random" DSOs from the target system. It should not happen. If you reach any new conclusions, please post here. I will post my findings as well. |
Hi @sscargal I finally had the time to look into it. Per the crashing stacktrace, the offender is a c'tor We don't really need debuginfod, I pushed a branch https://github.com/Granulate/gprofiler/tree/perf-no-debuginfod which should disable its incorporation into our For convenience I also built a binary from that branch, if you just wanna try it out without building yourself. |
Sorry for the long delay. I downloaded the binary but still encounter the same issue Remove the old temp directories
Here are the checksums for the new gprofiler binary I downloaded
Executing gprofiler through the CLI
Running the included perf manually triggers the core dump
Using gdb
|
Hmm, same issue. Probably my build without |
@sscargal , letting you know that I found the problem. It is I'll update it once I get it built & tested (I test by ensuring that |
I managed to build a version that doesn't use libdebuginfod, so the problematic It will be merged and included in the next release. |
@sscargal gProfiler 1.2.25 was released and it includes the fix :) you can try it out. |
Version 1.2.25 resolves the issue, many thanks!
|
Excellent, happy to hear that! |
On Fedora 35 running Kernel 5.16.19-200.fc35.x86_64, gProfiler's
perf
segfaults on exeuction.Yields
I see the following in dmesg
Running the command from gProfiler manually also yields a core dump
Running the included perf does not
The text was updated successfully, but these errors were encountered: