Thread (8 messages) flat view 8 messages, 5 authors, 2023-12-20

Re: perf tools power9 JSON files build breakage on ubuntu 18.04 cross build

From: Benjamin Gray <hidden>
Date: 2023-03-23 21:52:19
Also in: lkml

On Thu, 2023-03-23 at 08:50 -0700, Ian Rogers wrote:
On Thu, Mar 23, 2023 at 6:11 AM Arnaldo Carvalho de Melo
[off-list ref] wrote:
quoted
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.

A similar fix for s390 was accepted today:
The JEVENTS_ARCH=all make option builds the s390 files even on x86.
I'm confused as to why that's been working before these fixes.
This is the non-breaking space in the file (UTF8 C2 A0). Telling Python
to decode with UTF8 would work (note it's breaking with the 'ascii'
codec). Setting the environment variable LC_CTYPE="C.UTF-8" sets the
default, or the script can specify explicitly.

But I also doubt the NBS was intentional in the first place.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help