Re: perf/branch-history branch build broken with NO_DEMANGLE=1 perf hists browser: Print overhead percent value for first-level callchain

From: Andi Kleen
Date: Mon Nov 24 2014 - 17:52:51 EST


> [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...

-Andi

--
ak@xxxxxxxxxxxxxxx -- Speaking for myself only.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/