From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Jiri Olsa <jolsa@kernel.org>, LKML <linux-kernel@vger.kernel.org>,
kernel-team@lge.com,
Thomas-Mich Richter <tmricht@linux.vnet.ibm.com>,
"linux-perf-use." <linux-perf-users@vger.kernel.org>,
Hendrik Brueckner <brueckner@linux.vnet.ibm.com>,
Hari Bathini <hbathini@linux.vnet.ibm.com>
Subject: Re: [PATCH] perf tools: Fix crash on buildid-list with namespace
Date: Tue, 17 Oct 2017 11:05:55 -0300 [thread overview]
Message-ID: <20171017140555.GE4204@kernel.org> (raw)
In-Reply-To: <20171017132900.11043-1-namhyung@kernel.org>
Em Tue, Oct 17, 2017 at 10:29:00PM +0900, Namhyung Kim escreveu:
> Thomas reported that perf buildid-list gets a segfault due to NULL
> pointer when he ran it on a data with namespace events. It was because
> the buildid_id__mark_dso_hit_ops lacks the namespace event handler and
> perf_too__fill_default() didn't set it.
In these cases, next time I suggest you add a Fixes: tag, so that the
stable@kernel.org guys can automatically figure out which kernels need
this fix, in this case:
Fixes: f3b3614a284d ("perf tools: Add PERF_RECORD_NAMESPACES to include namespaces related info")
The script I have for this even adds this CC line:
Cc: Hari Bathini <hbathini@linux.vnet.ibm.com>
I'm adding it,
Thanks!
- Arnaldo
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000000000000000 in ?? ()
> Missing separate debuginfos, use: dnf debuginfo-install audit-libs-2.7.7-1.fc25.s390x bzip2-libs-1.0.6-21.fc25.s390x elfutils-libelf-0.169-1.fc25.s390x
> +elfutils-libs-0.169-1.fc25.s390x libcap-ng-0.7.8-1.fc25.s390x numactl-libs-2.0.11-2.ibm.fc25.s390x openssl-libs-1.1.0e-1.1.ibm.fc25.s390x perl-libs-5.24.1-386.fc25.s390x
> +python-libs-2.7.13-2.fc25.s390x slang-2.3.0-7.fc25.s390x xz-libs-5.2.3-2.fc25.s390x zlib-1.2.8-10.fc25.s390x
> (gdb) where
> #0 0x0000000000000000 in ?? ()
> #1 0x00000000010fad6a in machines__deliver_event (machines=<optimized out>, machines@entry=0x2c6fd18,
> evlist=<optimized out>, event=event@entry=0x3fffdf00470, sample=0x3ffffffe880, sample@entry=0x3ffffffe888,
> tool=tool@entry=0x1312968 <build_id.mark_dso_hit_ops>, file_offset=1136) at util/session.c:1287
> #2 0x00000000010fbf4e in perf_session__deliver_event (file_offset=1136, tool=0x1312968 <build_id.mark_dso_hit_ops>,
> sample=0x3ffffffe888, event=0x3fffdf00470, session=0x2c6fc30) at util/session.c:1340
> #3 perf_session__process_event (session=0x2c6fc30, session@entry=0x0, event=event@entry=0x3fffdf00470,
> file_offset=file_offset@entry=1136) at util/session.c:1522
> #4 0x00000000010fddde in __perf_session__process_events (file_size=11880, data_size=<optimized out>,
> data_offset=<optimized out>, session=0x0) at util/session.c:1899
> #5 perf_session__process_events (session=0x0, session@entry=0x2c6fc30) at util/session.c:1953
> #6 0x000000000103b2ac in perf_session__list_build_ids (with_hits=<optimized out>, force=<optimized out>)
> at builtin-buildid-list.c:83
> #7 cmd_buildid_list (argc=<optimized out>, argv=<optimized out>) at builtin-buildid-list.c:115
> #8 0x00000000010a026c in run_builtin (p=0x1311f78 <commands+24>, argc=argc@entry=2, argv=argv@entry=0x3fffffff3c0)
> at perf.c:296
> #9 0x000000000102bc00 in handle_internal_command (argv=<optimized out>, argc=2) at perf.c:348
> #10 run_argv (argcp=<synthetic pointer>, argv=<synthetic pointer>) at perf.c:392
> #11 main (argc=<optimized out>, argv=0x3fffffff3c0) at perf.c:536
> (gdb)
>
> Fix it by adding a stub event handler for namespace event.
>
> Reported-and-Tested-by: Thomas-Mich Richter <tmricht@linux.vnet.ibm.com>
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> ---
> tools/perf/util/session.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
> index a7ebd9fe8e40..76ab0709a20c 100644
> --- a/tools/perf/util/session.c
> +++ b/tools/perf/util/session.c
> @@ -374,6 +374,8 @@ void perf_tool__fill_defaults(struct perf_tool *tool)
> tool->mmap2 = process_event_stub;
> if (tool->comm == NULL)
> tool->comm = process_event_stub;
> + if (tool->namespaces == NULL)
> + tool->namespaces = process_event_stub;
> if (tool->fork == NULL)
> tool->fork = process_event_stub;
> if (tool->exit == NULL)
> --
> 2.14.2
next prev parent reply other threads:[~2017-10-17 14:05 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-13 7:33 perf buildild-list -H dumps core Thomas-Mich Richter
2017-10-13 14:48 ` Arnaldo Carvalho de Melo
2017-10-16 6:52 ` Thomas-Mich Richter
2017-10-17 0:28 ` Namhyung Kim
2017-10-17 6:15 ` Thomas-Mich Richter
2017-10-17 12:01 ` Arnaldo Carvalho de Melo
2017-10-17 13:29 ` [PATCH] perf tools: Fix crash on buildid-list with namespace Namhyung Kim
2017-10-17 14:05 ` Arnaldo Carvalho de Melo [this message]
2017-10-18 0:07 ` Namhyung Kim
2017-10-20 7:20 ` [tip:perf/urgent] perf buildid-list: Fix crash when processing PERF_RECORD_NAMESPACE tip-bot for Namhyung Kim
2017-10-16 7:00 ` perf buildild-list -H dumps core Thomas-Mich Richter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171017140555.GE4204@kernel.org \
--to=acme@kernel.org \
--cc=brueckner@linux.vnet.ibm.com \
--cc=hbathini@linux.vnet.ibm.com \
--cc=jolsa@kernel.org \
--cc=kernel-team@lge.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=tmricht@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.