Messages in this thread | | | Date | Fri, 29 Dec 2017 11:52:48 +0900 | From | Masami Hiramatsu <> | Subject | Re: [PATCH 0/2] perf-probe: Improve warning message for buildid mismatch |
| |
Hello Arnaldo,
Could you review it?
Thank you,
On Mon, 18 Dec 2017 16:28:35 +0900 Masami Hiramatsu <mhiramat@kernel.org> wrote:
> Hello, > > This series ensure the build-ids for target binary and debuginfo > are matched. If there is a mismatch, it warns user to check the > package versions. > > To reproduce the problematic environment (on Fedora26), > I did following operations; > > ===== > # rpm -q glibc glibc-debuginfo > glibc-2.25-12.fc26.x86_64 > package glibc-debuginfo is not installed > > # dnf debuginfo-install glibc > [...] > Installed: > glibc-debuginfo.x86_64 2.25-12.fc26 > glibc-debuginfo-common.x86_64 2.25-12.fc26 > > Complete! > > # dnf downgrade glibc > [...] > Downgraded: > glibc.x86_64 2.25-6.fc26 glibc-common.x86_64 2.25-6.fc26 > glibc-devel.x86_64 2.25-6.fc26 glibc-headers.x86_64 2.25-6.fc26 > glibc-langpack-en.x86_64 2.25-6.fc26 libcrypt-nss.x86_64 2.25-6.fc26 > > Complete! > > # rpm -q glibc glibc-debuginfo > glibc-2.25-6.fc26.x86_64 > glibc-debuginfo-2.25-12.fc26.x86_64 > ===== > > OK, so you can see now we have different versions of glibc and > glibc-debuginfo. Each debuginfo must be different. > > With this series, defining new events also warns :) > > ===== > # perf probe -x /usr/lib64/libc-2.25.so -a malloc_get_state\\@GLIBC_2.2.5 > WARN: There is a build-id mismatch between > /usr/lib/debug/usr/lib64/libc-2.25.so.debug > and > /usr/lib64/libc-2.25.so > Please check your system's debuginfo files for mismatches, e.g. check the versions for the target package and debuginfo package. > Added new event: > probe_libc:malloc_get_state (on malloc_get_state@GLIBC_2.2.5 in /usr/lib64/libc-2.25.so) > > You can now use it in all perf tools, such as: > > perf record -e probe_libc:malloc_get_state -aR sleep 1 > > ===== > > And listing up events warns. > > ===== > # perf probe -l | more > WARN: There is a build-id mismatch between > /usr/lib/debug/usr/lib64/libc-2.25.so.debug > and > /usr/lib64/libc-2.25.so > Please check your system's debuginfo files for mismatches, e.g. check the versions for the target package and debuginfo package. > probe_libc:malloc_get_state (on malloc_get_state@GLIBC_2.2.5 in /usr/lib64/libc-2.25.so) > ===== > > With [1/2], this warning messages repeated on same target (glibc). To suppress > this, [2/2] introduces no-debuginfo blacklist to skip it 2nd time as below. > > ===== > # perf probe -l | more > WARN: There is a build-id mismatch between > /usr/lib/debug/usr/lib64/libc-2.25.so.debug > and > /usr/lib64/libc-2.25.so > Please check your system's debuginfo files for mismatches, e.g. check the versions for the target package and debuginfo package. > probe_libc:malloc_get_state (on malloc_get_state@GLIBC_2.2.5 in /usr/lib64/libc-2.25.so) > probe_libc:malloc_get_state_1 (on malloc_get_state@GLIBC_2.2.5 in /usr/lib64/libc-2.25.so) > probe_libc:malloc_get_state_2 (on malloc_get_state@GLIBC_2.2.5 in /usr/lib64/libc-2.25.so) > ===== > > Arnaldo, would this match to your request? > > > Thank you, > --- > > Masami Hiramatsu (2): > perf-probe: Ensure debuginfo's build-id is correct > perf-probe: Skip searching debuginfo if we know no debuginfo > > > tools/perf/util/probe-finder.c | 34 +++++++++++++++++++++++++++++++++- > 1 file changed, 33 insertions(+), 1 deletion(-) > > -- > Masami Hiramatsu (Linaro Ltd.) <mhiramat@kernel.org>
-- Masami Hiramatsu <mhiramat@kernel.org>
| |