Re: [PATCH 2/2] perf stat: Fix invalid output handle
From: James Clark
Date: Thu Dec 01 2022 - 05:06:59 EST
On 30/11/2022 18:32, Namhyung Kim wrote:
> On Wed, Nov 30, 2022 at 3:15 AM James Clark <james.clark@xxxxxxx> 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@xxxxxxx>
>
> 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@xxxxxxxxxx>
Thanks for the review!
>
> 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
>>