On Sun, Mar 29, 2020 at 05:46:57AM +0430, ahmadkhorrami wrote: > Hi, > Each line is correct. I mean addresses match symbols. But some callers and > callees do not match. Perhaps callchain misses some callers in between. > Regards right, I missed another case.. how about the change below? your script is silent now on my data jirka --- diff --git a/tools/perf/util/evsel_fprintf.c b/tools/perf/util/evsel_fprintf.c index 3b4842840db0..fc4fb88937ed 100644 --- a/tools/perf/util/evsel_fprintf.c +++ b/tools/perf/util/evsel_fprintf.c @@ -173,6 +173,8 @@ int sample__fprintf_callchain(struct perf_sample *sample, int left_alignment, if (print_srcline) printed += map__fprintf_srcline(map, addr, "\n ", fp); + else if (node->srcline) + printed += fprintf(fp, " %s", node->srcline); if (sym && sym->inlined) printed += fprintf(fp, " (inlined)");