Hi,

> > Can you try the following patch?
> > 
> > It should fix another problem, i.e. we were allocating, but
> > annotation would fail in the !TUI case, as it would return at
> > symbol__inc_addr_samples when use_browser != 1, now it will allocate
> > and mark the right bucket.
> > 
> > I'll have this in perf/urgent and will do the optimization of not
> > allocating those buckets in the report case when not doing
> > integrated annotation, i.e. report --stdio doesn't provide a way to
> > go to the annotation --stdio, so no point on allocating the
> > buckets. Just on 'annotate --stdio' we should allocate it, etc.
> 
> This fixes the issue, thanks!

After some more testing, perf report can SEGV with this patch:

Program received signal SIGSEGV, Segmentation fault.
__symbol__inc_addr_samples (addr=569128, evidx=0, notes=0x1023af80, 
map=0x10191ef0, sym=0x1023afb0) at util/annotate.c:477
477     util/annotate.c: No such file or directory.
(gdb) backtrace 
#0  __symbol__inc_addr_samples (addr=569128, evidx=0, notes=0x1023af80, 
map=0x10191ef0, sym=0x1023afb0) at util/annotate.c:477
#1  symbol__inc_addr_samples (addr=<optimised out>, evidx=<optimised out>, 
map=0x10191ef0, sym=0x1023afb0) at util/annotate.c:501
#2  hist_entry__inc_addr_samples (he=<optimised out>, evidx=<optimised out>, 
ip=569128) at util/annotate.c:511
#3  0x00000000100183b8 in report__add_hist_entry (sample=0x3fffffffd970, 
al=0x3fffffffd770, evsel=0x10190f10, tool=<optimised out>) at 
builtin-report.c:208
#4  process_sample_event (tool=<optimised out>, event=<optimised out>, 
sample=0x3fffffffd970, evsel=0x10190f10, machine=<optimised out>) at 
builtin-report.c:250
#5  0x000000001007eac8 in perf_session_deliver_event (session=0x10190330, 
event=<optimised out>, sample=<optimised out>, tool=<optimised out>, 
    file_offset=<optimised out>) at util/session.c:985
#6  0x000000001007f40c in flush_sample_queue (s=0x10190330, 
tool=0x3fffffffdf90) at util/session.c:505
#7  0x0000000010081064 in __perf_session__process_events (session=0x10190330, 
data_offset=<optimised out>, data_size=<optimised out>, file_size=331392, 
    tool=0x3fffffffdf90) at util/session.c:1355

(gdb) print notes->src
$3 = (struct annotated_source *) 0x51

Anton
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to