From: Jiri Olsa <jolsa@redhat.com>
To: Anthony LaTorre <tlatorre9@gmail.com>,
andipan Das <sandipan@linux.ibm.com>
Cc: peterz@infradead.org, mingo@redhat.com, jolsa@kernel.org,
acme@kernel.org, alexander.shishkin@linux.intel.com,
namhyung@kernel.org, linux-kernel@vger.kernel.org
Subject: Re: perf report segfault
Date: Wed, 10 Oct 2018 00:20:04 +0200 [thread overview]
Message-ID: <20181009222004.GA19295@krava> (raw)
In-Reply-To: <CAO49af+5TaWrdYeM3XyHoti0obH--0txq9_a6_9ZPMuB-J=hjg@mail.gmail.com>
On Tue, Oct 09, 2018 at 04:47:31PM -0500, Anthony LaTorre wrote:
> I can try building perf from the latest sources. I've attached the
> perf.data and perf.data.tar.bz2 from the test program I sent earlier.
cool, reproduced.. it seems to get introduced by:
2a9d5050dc84 perf script: Show correct offsets for DWARF-based unwinding
reverting that patch fixes the issue for me, but looks like
we could just make th attached check and prevent the crash
adding Sandipan Das to the loop, the author of that commit, any idea?
thanks,
jirka
---
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index c4acd2001db0..ea68c805c7ac 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -2312,7 +2312,6 @@ static int unwind_entry(struct unwind_entry *entry, void *arg)
{
struct callchain_cursor *cursor = arg;
const char *srcline = NULL;
- u64 addr;
if (symbol_conf.hide_unresolved && entry->sym == NULL)
return 0;
@@ -2320,13 +2319,15 @@ static int unwind_entry(struct unwind_entry *entry, void *arg)
if (append_inlines(cursor, entry->map, entry->sym, entry->ip) == 0)
return 0;
- /*
- * Convert entry->ip from a virtual address to an offset in
- * its corresponding binary.
- */
- addr = map__map_ip(entry->map, entry->ip);
+ if (entry->map) {
+ /*
+ * Convert entry->ip from a virtual address to an offset in
+ * its corresponding binary.
+ */
+ u64 addr = map__map_ip(entry->map, entry->ip);
+ srcline = callchain_srcline(entry->map, entry->sym, addr);
+ }
- srcline = callchain_srcline(entry->map, entry->sym, addr);
return callchain_cursor_append(cursor, entry->ip,
entry->map, entry->sym,
false, NULL, 0, 0, 0, srcline);
next prev parent reply other threads:[~2018-10-09 22:20 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAO49afLqUGuBi_R7BKyojqnkHrMGqXquy-FdVFscOu6Ez0cVFw@mail.gmail.com>
2018-10-09 16:47 ` perf report segfault Jiri Olsa
2018-10-09 18:54 ` Anthony LaTorre
2018-10-09 20:18 ` Anthony LaTorre
2018-10-09 21:41 ` Jiri Olsa
[not found] ` <CAO49af+5TaWrdYeM3XyHoti0obH--0txq9_a6_9ZPMuB-J=hjg@mail.gmail.com>
2018-10-09 22:19 ` Anthony LaTorre
2018-10-09 22:20 ` Jiri Olsa [this message]
2018-10-10 5:43 ` Sandipan Das
2018-10-10 6:19 ` Ingo Molnar
2018-10-10 7:14 ` Jiri Olsa
2018-10-10 12:54 ` Arnaldo Carvalho de Melo
2018-10-09 21:38 ` Jiri Olsa
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=20181009222004.GA19295@krava \
--to=jolsa@redhat.com \
--cc=acme@kernel.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=jolsa@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=sandipan@linux.ibm.com \
--cc=tlatorre9@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox