Em Mon, Mar 13, 2017 at 04:31:48PM +0800, changbin...@intel.com escreveu: > From: Changbin Du <changbin...@intel.com> > > Skip the sample which doesn't have branch_info to avoid segmentation > fault occurrence. > > The fault can be reproduced by: > perf record -a > perf report -F cycles
Thanks, applied. - Arnaldo > Signed-off-by: Changbin Du <changbin...@intel.com> > --- > tools/perf/util/sort.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/tools/perf/util/sort.c b/tools/perf/util/sort.c > index 0ff6222..b6db140 100644 > --- a/tools/perf/util/sort.c > +++ b/tools/perf/util/sort.c > @@ -846,6 +846,9 @@ static int hist_entry__mispredict_snprintf(struct > hist_entry *he, char *bf, > static int64_t > sort__cycles_cmp(struct hist_entry *left, struct hist_entry *right) > { > + if (!left->branch_info || !right->branch_info) > + return cmp_null(left->branch_info, right->branch_info); > + > return left->branch_info->flags.cycles - > right->branch_info->flags.cycles; > } > @@ -853,6 +856,8 @@ sort__cycles_cmp(struct hist_entry *left, struct > hist_entry *right) > static int hist_entry__cycles_snprintf(struct hist_entry *he, char *bf, > size_t size, unsigned int width) > { > + if (!he->branch_info) > + return scnprintf(bf, size, "%-.*s", width, "N/A"); > if (he->branch_info->flags.cycles == 0) > return repsep_snprintf(bf, size, "%-*s", width, "-"); > return repsep_snprintf(bf, size, "%-*hd", width, > -- > 2.7.4