[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20141127154249.GI30226@kernel.org>
Date: Thu, 27 Nov 2014 12:42:49 -0300
From: Arnaldo Carvalho de Melo <acme@...nel.org>
To: Andi Kleen <andi@...stfloor.org>
Cc: Namhyung Kim <namhyung@...nel.org>,
Peter Zijlstra <a.p.zijlstra@...llo.nl>,
Ingo Molnar <mingo@...nel.org>,
Paul Mackerras <paulus@...ba.org>,
Namhyung Kim <namhyung.kim@....com>,
LKML <linux-kernel@...r.kernel.org>,
Jiri Olsa <jolsa@...hat.com>, David Ahern <dsahern@...il.com>,
Frederic Weisbecker <fweisbec@...il.com>,
Brendan Gregg <brendan.d.gregg@...il.com>
Subject: perf report --branch-history segfaul hists browser: Print overhead
percent value for first-level callchain
Em Mon, Nov 24, 2014 at 11:52:44PM +0100, Andi Kleen escreveu:
> > [root@zoo acme]# perf record -a -g -b sleep 2s
> > [ perf record: Woken up 7 times to write data ]
> > [ perf record: Captured and wrote 3.033 MB perf.data (~132504 samples) ]
> > [root@zoo acme]# perf report --stdio --branch-history
> > # To display the perf.data header info, please use --header/--header-only options.
> > #
> > BFD: Dwarf Error: Offset (2585882475) greater than or equal to .debug_str size (44321517).
> > BFD: Dwarf Error: Could not find abbrev number 11800.
> > <BIG SNIP>
> > BFD: Dwarf Error: Offset (83496016) greater than or equal to .debug_str size (44321517).
> > BFD: Dwarf Error: Offset (48628447) greater than or equal to .debug_str size (44321517).
> > (END)Segmentation fault (core dumped)
> > [root@zoo acme]#
> >
> > Will investigate this later today/tomorrow, if nobody finds a fix in the meantime.
>
> I cannot reproduce this.
>
> For me it looks like you have some binary or debuginfo that your libbfd
> doesn't like. --branch-history resolves all addresses as srcline,
> so it will actually walk all the line numbers.
>
> Can you please find out which one it is? Probably can be seen
> by just going up a few levels in gdb and dumping the event.
>
> If you can find the address that explodes you can also try it directly with
> addr2line. If that works it's some problem in the perf implementation.
>
> It is likely that it would need to be fixed in libbfd.
>
> To work around it we could turn off force resolving the srcline,
> but that would make the output much less useful too unfortuantely...
Yeah, you are right:
[acme@zoo linux]$ addr2line -e /usr/lib/debug/usr/lib64/firefox/libxul.so.debug 22fefe8
BFD: Dwarf Error: Offset (2585882475) greater than or equal to
.debug_str size (44321517).
BFD: Dwarf Error: Could not find abbrev number 11800.
BFD: Dwarf Error: Offset (493511937) greater than or equal to .debug_str
size (44321517).
[acme@zoo linux]$ file /usr/lib/debug/usr/lib64/firefox/libxul.so.debug
/usr/lib/debug/usr/lib64/firefox/libxul.so.debug: ELF 64-bit LSB shared
object, x86-64, version 1 (GNU/Linux), dynamically linked,
BuildID[sha1]=ab6f19f13352ca2fbf218d1ff9200ef8e29764b8, not stripped
[acme@zoo linux]$
[acme@zoo linux]$ rpm -qf /usr/lib/debug/usr/lib64/firefox/libxul.so.debug
firefox-debuginfo-33.1-2.fc20.x86_64
If I ignore just this one file, all works, I'll process your patch while
leaving a note in the changelog that this may trigger binutils bugs, and
will check if a later version of binutils has the same problem, etc.
- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists