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

8 messages, 5 authors, 2023-12-20 · open the first message on its own page

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

From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2023-03-23 13:11:42

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:


https://lore.kernel.org/r/20230323122532.2305847-1-tmricht@linux.ibm.com
https://lore.kernel.org/r/ZBwkl77/I31AQk12@osiris
-- 

- Arnaldo

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

From: Ian Rogers <irogers@google.com>
Date: 2023-03-23 15:50:45

On Thu, Mar 23, 2023 at 6:11 AM Arnaldo Carvalho de Melo
[off-list ref] 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.

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.

Thanks,
Ian
https://lore.kernel.org/r/20230323122532.2305847-1-tmricht@linux.ibm.com
https://lore.kernel.org/r/ZBwkl77/I31AQk12@osiris
--

- Arnaldo

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

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.

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

From: kajoljain <hidden>
Date: 2023-03-27 04:27:29


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.
Hi Arnaldo,
    Thanks for raising it. I will check this issue.

Thanks,
Kajol Jain
A similar fix for s390 was accepted today:


https://lore.kernel.org/r/20230323122532.2305847-1-tmricht@linux.ibm.com
https://lore.kernel.org/r/ZBwkl77/I31AQk12@osiris

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

From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2023-12-15 14:39:17

Em Mon, Mar 27, 2023 at 09:52:11AM +0530, kajoljain escreveu:
On 3/23/23 18:41, Arnaldo Carvalho de Melo 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....
quoted
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)

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

From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2023-12-15 14:41:22

Em Fri, Dec 15, 2023 at 11:39:14AM -0300, Arnaldo Carvalho de Melo escreveu:
Em Mon, Mar 27, 2023 at 09:52:11AM +0530, kajoljain escreveu:
quoted
On 3/23/23 18:41, Arnaldo Carvalho de Melo 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....
quoted
quoted
Now jevents is an opt-out feature so I'm noticing these problems.
 
quoted
    Thanks for raising it. I will check this issue.
Now I'm seeing this on:
Jing,

	Please take a look at:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5d9df8731c0941f3add30f96745a62586a0c9d52

	For the fix for the ppc case above.

- Arnaldo
 
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)
-- 

- Arnaldo

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

From: Arnaldo Carvalho de Melo <acme@kernel.org>
Date: 2023-12-15 14:46:05

Em Fri, Dec 15, 2023 at 11:41:19AM -0300, Arnaldo Carvalho de Melo escreveu:
Em Fri, Dec 15, 2023 at 11:39:14AM -0300, Arnaldo Carvalho de Melo escreveu:
quoted
Em Mon, Mar 27, 2023 at 09:52:11AM +0530, kajoljain escreveu:
quoted
quoted
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....
quoted
quoted
Now jevents is an opt-out feature so I'm noticing these problems.
 
quoted
    Thanks for raising it. I will check this issue.
Now I'm seeing this on:
Jing,

	Please take a look at:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5d9df8731c0941f3add30f96745a62586a0c9d52

	For the fix for the ppc case above.
Its the only .json file with that issue:

⬢[acme@toolbox perf-tools-next]$ find tools/perf/pmu-events/ -name "*.json" | xargs file -i | grep -v us-ascii
tools/perf/pmu-events/arch/arm64/arm/cmn/sys/cmn.json:                   application/json; charset=utf-8
⬢[acme@toolbox perf-tools-next]$

- Arnaldo

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

From: Jing Zhang <renyu.zj@linux.alibaba.com>
Date: 2023-12-20 08:37:17


在 2023/12/15 下午10:41, Arnaldo Carvalho de Melo 写道:
Em Fri, Dec 15, 2023 at 11:39:14AM -0300, Arnaldo Carvalho de Melo escreveu:
quoted
Em Mon, Mar 27, 2023 at 09:52:11AM +0530, kajoljain escreveu:
quoted
On 3/23/23 18:41, Arnaldo Carvalho de Melo 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....
quoted
quoted
Now jevents is an opt-out feature so I'm noticing these problems.
 
quoted
    Thanks for raising it. I will check this issue.
Now I'm seeing this on:
Jing,

	Please take a look at:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5d9df8731c0941f3add30f96745a62586a0c9d52

	For the fix for the ppc case above.
I'm sorry for the breakage. Thanks for the catch! I will fix it soon.

Thanks,
Jing

- Arnaldo
 
quoted
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)
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help