Skip to content
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: Upgrade elfutils & disable libdebuginfod #372

Merged
merged 4 commits into from
Jun 6, 2022
Merged

Conversation

Jongy
Copy link
Contributor

@Jongy Jongy commented Jun 5, 2022

Description

Hopefully resolves #340 , pending my testing.

Jongy added 3 commits April 27, 2022 12:11
elfutils commit 4ced3010ad11 prevents libdw from calling the unwanted dlopen(),
and it wasn't a part of 0.179. So I upgraded to latest.
@Jongy Jongy added the bug Something isn't working label Jun 5, 2022
@Jongy
Copy link
Contributor Author

Jongy commented Jun 5, 2022

Upgrading libzstd seems to help, see https://bugs.mysql.com/bug.php?id=99241

@Jongy Jongy mentioned this pull request Jun 5, 2022
@Jongy
Copy link
Contributor Author

Jongy commented Jun 5, 2022

TL;DR of this -
perf is linked with libdw from elfutils. libdw from elfutils-179 that we were using, used to dlopen("libdebuginfod.so"). On certain systems, as reported in #340 , this dlopen() call led to some DSOs to be loaded, and those DSOs crashed perf.
We don't need libdebuginfod, I doubt this thing even runs anywhere, and anyway we don't use dwarf perf by default currently, so this definitely shouldn't be the default.
Recent elfutils versions (see elfutils 4ced3010ad11) fix this and avoid loading the DSO unless libdebuginfod is actually to be called into. So I upgraded elfutils, and then upgraded libzstd because new elfutils requires newer libzstd than available in apt.

@Jongy Jongy requested a review from adi-benz June 5, 2022 18:45
Copy link
Contributor

@adi-benz adi-benz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice 👍

@Jongy Jongy merged commit 9c541b2 into master Jun 6, 2022
@Jongy Jongy deleted the perf-no-debuginfod branch June 6, 2022 15:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

perf segfaults
2 participants