perf tools arch Arm CMN PMU JSON files build breakage on ubuntu 18.04 cross build

From: Arnaldo Carvalho de Melo
Date: Fri Dec 15 2023 - 09:40:09 EST


Em Mon, Mar 27, 2023 at 09:52:11AM +0530, kajoljain escreveu:
> On 3/23/23 18:41, Arnaldo Carvalho de Melo wrote:
> > Exception processing pmu-events/arch/powerpc/power9/other.json
> > Traceback (most recent call last):
> > File "pmu-events/jevents.py", line 997, in <module>
> > main()
> > File "pmu-events/jevents.py", line 979, in main
> > ftw(arch_path, [], preprocess_one_file)
> > File "pmu-events/jevents.py", line 935, in ftw
> > ftw(item.path, parents + [item.name], action)
> > File "pmu-events/jevents.py", line 933, in ftw
> > action(parents, item)
> > File "pmu-events/jevents.py", line 514, in preprocess_one_file
> > for event in read_json_events(item.path, topic):
> > File "pmu-events/jevents.py", line 388, in read_json_events
> > events = json.load(open(path), object_hook=JsonEvent)
> > File "/usr/lib/python3.6/json/__init__.py", line 296, in load
> > return loads(fp.read(),
> > File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
> > return codecs.ascii_decode(input, self.errors)[0]
> > UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 55090: ordinal not in range(128)
> > CC /tmp/build/perf/tests/expr.o
> > pmu-events/Build:35: recipe for target '/tmp/build/perf/pmu-events/pmu-events.c' failed
> > make[3]: *** [/tmp/build/perf/pmu-events/pmu-events.c] Error 1
> > make[3]: *** Deleting file '/tmp/build/perf/pmu-events/pmu-events.c'
> > Makefile.perf:679: recipe for target '/tmp/build/perf/pmu-events/pmu-events-in.o' failed
> > make[2]: *** [/tmp/build/perf/pmu-events/pmu-events-in.o] Error 2
> > make[2]: *** Waiting for unfinished jobs....

> > Now jevents is an opt-out feature so I'm noticing these problems.

> Thanks for raising it. I will check this issue.

Now I'm seeing this on:

Exception processing pmu-events/arch/arm64/arm/cmn/sys/cmn.json
Traceback (most recent call last):
File "pmu-events/jevents.py", line 1285, in <module>
main()
File "pmu-events/jevents.py", line 1267, in main
ftw(arch_path, [], preprocess_one_file)
File "pmu-events/jevents.py", line 1217, in ftw
ftw(item.path, parents + [item.name], action)
File "pmu-events/jevents.py", line 1217, in ftw
ftw(item.path, parents + [item.name], action)
File "pmu-events/jevents.py", line 1217, in ftw
ftw(item.path, parents + [item.name], action)
File "pmu-events/jevents.py", line 1215, in ftw
action(parents, item)
File "pmu-events/jevents.py", line 599, in preprocess_one_file
for event in read_json_events(item.path, topic):
File "pmu-events/jevents.py", line 416, in read_json_events
events = json.load(open(path), object_hook=JsonEvent)
File "/usr/lib/python3.6/json/__init__.py", line 296, in load
return loads(fp.read(),
File "/usr/lib/python3.6/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 3071: ordinal not in range(128)