Re: [PATCH 0/3] perf tools: Enable strict JSON parsing

From: Arnaldo Carvalho de Melo
Date: Tue Oct 12 2021 - 16:17:20 EST




On October 12, 2021 10:30:51 AM GMT-03:00, James Clark <james.clark@xxxxxxx> wrote:
>
>
>On 08/10/2021 20:00, Arnaldo Carvalho de Melo wrote:
>> Em Fri, Oct 08, 2021 at 04:56:55PM +0530, kajoljain escreveu:
>>>
>>>
>>> On 10/8/21 3:32 PM, James Clark wrote:
>>>>
>>>>
>>>> On 08/10/2021 08:43, kajoljain wrote:
>>>>>
>>>>>
>>>>> On 10/7/21 4:35 PM, James Clark wrote:
>>>>>> After a discussion on "[PATCH 1/4] perf vendor events: Syntax corrections in Neoverse N1 json",
>>>>>> John Garry suggested that we can just modify the parser to make it more strict. Hopefully this will
>>>>>> remove the need to apply any future JSON comma fixup commits.
>>>>>>
>>>>>> Applies on top of "[PATCH v2 1/3] perf vendor events: Syntax corrections in Neoverse N1 json" on
>>>>>> perf/core.
>>>>>>
>>>>>> Also available at:
>>>>>> git clone --branch james-json-parse-fix git@xxxxxxxxxxxxxxxxxx:linux-arm/linux-jc.git
>>>>>
>>>>> Hi James,
>>>>> Do we have any dependency patches on top of this patch series. I am
>>>>> reviewing and testing it, but in both powerpc and x86 system I am
>>>>> getting build issue. Not sure if I am missing something>
>>>>> I am trying your changes on top of upstream perf.
>>>>>
>>>>> pmu-events/arch/test/test_soc/sys/uncore.json: json error Invalid
>>>>> character inside JSON string
>>>>
>>>> Hi Kajol,
>>>>
>>>> A trailing comma was fixed in this file 3 weeks ago at b8b350a. Can you
>>>> confirm if you have updated to get this commit on perf core?
>>>>
>>>> Alternately you could pull from my branch above which is up to date enough
>>>> to include it.
>>>
>>> Hi James,
>>> Thanks for pointing it. Not getting build issue now.
>>>>
>>>> The file is in pmu-events/arch/test/ so I would expect it to fail on all platforms.
>>>>
>>>>> make[3]: *** [pmu-events/Build:18: pmu-events/pmu-events.c] Error 1
>>>>> make[3]: *** Deleting file 'pmu-events/pmu-events.c'
>>>>> make[2]: *** [Makefile.perf:667: pmu-events/pmu-events-in.o] Error 2
>>>>> make[2]: *** Waiting for unfinished jobs....
>>>>> make[1]: *** [Makefile.perf:238: sub-make] Error 2
>>>>> make: *** [Makefile:70: all] Error 2
>>>>>
>>>>> Also, Is it possible to add line number along with file name while
>>>>> showing this error `json error Invalid character inside JSON string`.
>>>>> It might make it easy to fix.
>>>>
>>>> I can add a character number with the following fix if you think that would
>>>> be good enough? A line number might be a bigger change and involve keeping
>>>> track of newline characters.
>>>
>>> Sure. I think then we can skip this change. Not sure if character
>>> number will be helpful.
>>>
>>> Patch-set looks good to me.
>>>
>>> Reviewed-by Kajol Jain<kjain@xxxxxxxxxxxxx>
>>
>> Applied ok as-is to my perf/core branch, applied and added your
>> Reviewed-by, thanks.
>>
>
>Thanks Arnaldo. This does mean that the arm64 build will fail until
>"[PATCH v2 1/3] perf vendor events: Syntax corrections in Neoverse N1 json" is
>applied. I think there is also an arm64 build issue with "[PATCH 02/21] perf
>pmu: Add const to pmu_events_map." which Andrew Kilroy has replied to.
>

Ok, this will hopefully change tomorrow after today's Brazilian holiday when I get to process that series,

Thanks,

- Arnaldo