Messages in this thread | | | Subject | Re: [PATCH 2/2] perf stat: Fix invalid output handle | From | Athira Rajeev <> | Date | Sun, 4 Dec 2022 22:38:28 +0530 |
| |
> On 01-Dec-2022, at 3:36 PM, James Clark <james.clark@arm.com> wrote: > > > > On 30/11/2022 18:32, Namhyung Kim wrote: >> On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@arm.com> wrote: >>> >>> In this context, 'os' is already a pointer so the extra dereference >>> isn't required. This fixes the following test failure on aarch64: >>> >>> $ ./perf test "json output" -vvv >>> 92: perf stat JSON output linter : >>> --- start --- >>> Checking json output: no args Test failed for input: >>> ... >>> Fatal error: glibc detected an invalid stdio handle >>> ---- end ---- >>> perf stat JSON output linter: FAILED! >>> >>> Fixes: e7f4da312259 ("perf stat: Pass struct outstate to printout()") >>> Signed-off-by: James Clark <james.clark@arm.com> >> >> Thanks for fixing this. I'm not sure how I missed it.. :( >> > > It seems to only go down that path on some configuration. At least on > x86 the test was passing fine for me. > >> Acked-by: Namhyung Kim <namhyung@kernel.org> > > Thanks for the review!
Faced same issue on powerpc. Tested with this change and it works with this patch.
Tested-by: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
Thanks Athira > >> >> Thanks, >> Namhyung >> >> >>> --- >>> tools/perf/util/stat-display.c | 2 +- >>> 1 file changed, 1 insertion(+), 1 deletion(-) >>> >>> diff --git a/tools/perf/util/stat-display.c b/tools/perf/util/stat-display.c >>> index 847acdb5dc40..eac5ac3a734c 100644 >>> --- a/tools/perf/util/stat-display.c >>> +++ b/tools/perf/util/stat-display.c >>> @@ -741,7 +741,7 @@ static void printout(struct perf_stat_config *config, struct outstate *os, >>> perf_stat__print_shadow_stats(config, counter, uval, map_idx, >>> &out, &config->metric_events, &rt_stat); >>> } else { >>> - pm(config, &os, /*color=*/NULL, /*format=*/NULL, /*unit=*/"", /*val=*/0); >>> + pm(config, os, /*color=*/NULL, /*format=*/NULL, /*unit=*/"", /*val=*/0); >>> } >>> >>> if (!config->metric_only) { >>> -- >>> 2.25.1
| |