public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* perf test failures with tmp.perf-tools-next
@ 2024-11-15 15:49 Arnaldo Carvalho de Melo
  2024-11-15 17:54 ` Ian Rogers
  0 siblings, 1 reply; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2024-11-15 15:49 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Adrian Hunter, Jiri Olsa, Kan Liang, Namhyung Kim, James Clark,
	Linux Kernel Mailing List, linux-perf-users

With what is in tmp.perf-tools-next I'm getting:

 11: Hwmon PMU                                                       :
 11.1: Basic parsing test                                            : Ok
 11.2: Parsing without PMU name                                      : FAILED!
 11.3: Parsing with PMU name                                         : FAILED!
 84: perftool-testsuite_probe                                        : FAILED!
 86: probe libc's inet_pton & backtrace it with ping                 : FAILED!
 96: perf stat tests                                                 : FAILED!
 97: perf all metricgroups test                                      : FAILED!
 98: perf all metrics test                                           : FAILED!
117: perftool-testsuite_report                                       : FAILED!
118: Add vfs_getname probe to get syscall args filenames             : FAILED!
119: Use vfs_getname probe to get syscall args filenames             : FAILED!
120: perf record tests                                               : FAILED!
121: perf record LBR tests                                           : FAILED!
128: Test data symbol                                                : FAILED!

root@x1:~# perf test -vv 11
 11: Hwmon PMU                                                       :
 11.1: Basic parsing test:
--- start ---
test child forked, pid 391389
hwmon_pmu: not a hwmon type 'badtype' in file name 'badtype5_baditem'
hwmon_pmu: not a hwmon item 'baditem' in file name 'humidity6_baditem'
---- end(0) ----
 11.1: Basic parsing test                                            : Ok
 11.2: Parsing without PMU name:
--- start ---
test child forked, pid 391390
Testing 'temp_test_hwmon_event1'
Using CPUID GenuineIntel-6-BA-3
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'pwm1'
Not a hwmon file 'pwm1'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: removing event 'pwm1' that has no input file
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
FAILED tests/hwmon_pmu.c:160 failed to parse event 'temp_test_hwmon_event1', err 1
event syntax error: 'temp_test_hwmon_event1'
                     \___ Bad event name

Unable to find event on a PMU of 'temp_test_hwmon_event1'
free(): invalid pointer

---- unexpected signal (6) ----
 11.2: Parsing without PMU name                                      : FAILED!
 11.3: Parsing with PMU name:
--- start ---
test child forked, pid 391391
Testing 'temp_test_hwmon_event1'
Using CPUID GenuineIntel-6-BA-3
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'pwm1'
Not a hwmon file 'pwm1'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: removing event 'pwm1' that has no input file
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
FAILED tests/hwmon_pmu.c:160 failed to parse event 'temp_test_hwmon_event1', err 1
event syntax error: 'temp_test_hwmon_event1'
                     \___ Bad event name

Unable to find event on a PMU of 'temp_test_hwmon_event1'

---- unexpected signal (11) ----
 11.3: Parsing with PMU name                                         : FAILED!
root@x1:~# 



I'm working on removing the vfs_getname code from 'perf trace' so those
will go away, probably there are patches fixing some of the other ones,
I'll try and look after those, but probably later today I'll push what I
have so that it gets exposure on linux-next.

- Arnaldo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: perf test failures with tmp.perf-tools-next
  2024-11-15 15:49 perf test failures with tmp.perf-tools-next Arnaldo Carvalho de Melo
@ 2024-11-15 17:54 ` Ian Rogers
  2024-11-16 20:03   ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 4+ messages in thread
From: Ian Rogers @ 2024-11-15 17:54 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Adrian Hunter, Jiri Olsa, Kan Liang, Namhyung Kim, James Clark,
	Linux Kernel Mailing List, linux-perf-users

On Fri, Nov 15, 2024 at 7:49 AM Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
>
> With what is in tmp.perf-tools-next I'm getting:
>
>  11: Hwmon PMU                                                       :
>  11.1: Basic parsing test                                            : Ok
>  11.2: Parsing without PMU name                                      : FAILED!
>  11.3: Parsing with PMU name                                         : FAILED!
>  84: perftool-testsuite_probe                                        : FAILED!
>  86: probe libc's inet_pton & backtrace it with ping                 : FAILED!
>  96: perf stat tests                                                 : FAILED!
>  97: perf all metricgroups test                                      : FAILED!
>  98: perf all metrics test                                           : FAILED!
> 117: perftool-testsuite_report                                       : FAILED!
> 118: Add vfs_getname probe to get syscall args filenames             : FAILED!
> 119: Use vfs_getname probe to get syscall args filenames             : FAILED!
> 120: perf record tests                                               : FAILED!
> 121: perf record LBR tests                                           : FAILED!
> 128: Test data symbol                                                : FAILED!
>
> root@x1:~# perf test -vv 11
>  11: Hwmon PMU                                                       :
>  11.1: Basic parsing test:
> --- start ---
> test child forked, pid 391389
> hwmon_pmu: not a hwmon type 'badtype' in file name 'badtype5_baditem'
> hwmon_pmu: not a hwmon item 'baditem' in file name 'humidity6_baditem'
> ---- end(0) ----
>  11.1: Basic parsing test                                            : Ok
>  11.2: Parsing without PMU name:
> --- start ---
> test child forked, pid 391390
> Testing 'temp_test_hwmon_event1'
> Using CPUID GenuineIntel-6-BA-3
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'pwm1'
> Not a hwmon file 'pwm1'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: removing event 'pwm1' that has no input file
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> FAILED tests/hwmon_pmu.c:160 failed to parse event 'temp_test_hwmon_event1', err 1
> event syntax error: 'temp_test_hwmon_event1'
>                      \___ Bad event name
>
> Unable to find event on a PMU of 'temp_test_hwmon_event1'
> free(): invalid pointer
>
> ---- unexpected signal (6) ----
>  11.2: Parsing without PMU name                                      : FAILED!
>  11.3: Parsing with PMU name:
> --- start ---
> test child forked, pid 391391
> Testing 'temp_test_hwmon_event1'
> Using CPUID GenuineIntel-6-BA-3
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'pwm1'
> Not a hwmon file 'pwm1'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: removing event 'pwm1' that has no input file
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> FAILED tests/hwmon_pmu.c:160 failed to parse event 'temp_test_hwmon_event1', err 1
> event syntax error: 'temp_test_hwmon_event1'
>                      \___ Bad event name
>
> Unable to find event on a PMU of 'temp_test_hwmon_event1'
>
> ---- unexpected signal (11) ----
>  11.3: Parsing with PMU name                                         : FAILED!
> root@x1:~#
>
>
>
> I'm working on removing the vfs_getname code from 'perf trace' so those
> will go away, probably there are patches fixing some of the other ones,
> I'll try and look after those, but probably later today I'll push what I
> have so that it gets exposure on linux-next.

I'm trying to repro the hwmon issue on tmp.perf-tools-next, with asan
root/non-root I get:
```
 11: Hwmon PMU                                                       :
11.1: Basic parsing test                                            : Ok
11.2: Parsing without PMU name                                      : Ok
11.3: Parsing with PMU name                                         : Ok
```
I'm trying more machines to try to get a reproduction.

Thanks,
Ian

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: perf test failures with tmp.perf-tools-next
  2024-11-15 17:54 ` Ian Rogers
@ 2024-11-16 20:03   ` Arnaldo Carvalho de Melo
  2024-11-18  5:37     ` Ian Rogers
  0 siblings, 1 reply; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2024-11-16 20:03 UTC (permalink / raw)
  To: Ian Rogers
  Cc: Adrian Hunter, Jiri Olsa, Kan Liang, Namhyung Kim, James Clark,
	Linux Kernel Mailing List, linux-perf-users

On Fri, Nov 15, 2024 at 09:54:56AM -0800, Ian Rogers wrote:
> On Fri, Nov 15, 2024 at 7:49 AM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> > Not a hwmon file 'name'
> > FAILED tests/hwmon_pmu.c:160 failed to parse event 'temp_test_hwmon_event1', err 1
> > event syntax error: 'temp_test_hwmon_event1'
> >                      \___ Bad event name
> >
> > Unable to find event on a PMU of 'temp_test_hwmon_event1'
> >
> > ---- unexpected signal (11) ----
> >  11.3: Parsing with PMU name                                         : FAILED!
> > root@x1:~#
 
> I'm trying to repro the hwmon issue on tmp.perf-tools-next, with asan
> root/non-root I get:
> ```
>  11: Hwmon PMU                                                       :
> 11.1: Basic parsing test                                            : Ok
> 11.2: Parsing without PMU name                                      : Ok
> 11.3: Parsing with PMU name                                         : Ok
> ```
> I'm trying more machines to try to get a reproduction.

So, I cleaned up everything, rebuilt and the problem persists on a
Fedora 40 lenovo x1 carbon, full verbose mode output at the end.

It also fails on a Raspberry Pi 3:

acme@raspberrypi:~ $ cat /etc/os-release 
PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)"
NAME="Raspbian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
acme@raspberrypi:~ $
root@raspberrypi:~# tail -14 /proc/cpuinfo 
processor	: 3
model name	: ARMv7 Processor rev 4 (v7l)
BogoMIPS	: 38.40
Features	: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32 
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xd03
CPU revision	: 4

Hardware	: BCM2835
Revision	: a020d3
Serial		: 00000000783939e0
Model		: Raspberry Pi 3 Model B Plus Rev 1.3
root@raspberrypi:~#

root@raspberrypi:~# ~acme/bin/perf -v
perf version 6.12.rc6.gdb26a8c9e3c2
root@raspberrypi:~# ~acme/bin/perf -vv
perf version 6.12.rc6.gdb26a8c9e3c2
                   aio: [ on  ]  # HAVE_AIO_SUPPORT
                   bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT
         bpf_skeletons: [ on  ]  # HAVE_BPF_SKEL
            debuginfod: [ OFF ]  # HAVE_DEBUGINFOD_SUPPORT
                 dwarf: [ on  ]  # HAVE_LIBDW_SUPPORT
    dwarf_getlocations: [ on  ]  # HAVE_LIBDW_SUPPORT
          dwarf-unwind: [ on  ]  # HAVE_DWARF_UNWIND_SUPPORT
              auxtrace: [ on  ]  # HAVE_AUXTRACE_SUPPORT
              libaudit: [ on  ]  # HAVE_LIBAUDIT_SUPPORT
                libbfd: [ OFF ]  # HAVE_LIBBFD_SUPPORT
           libcapstone: [ on  ]  # HAVE_LIBCAPSTONE_SUPPORT
             libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
    libdw-dwarf-unwind: [ on  ]  # HAVE_LIBDW_SUPPORT
                libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
               libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
            libopencsd: [ OFF ]  # HAVE_CSTRACE_SUPPORT
               libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
               libpfm4: [ on  ]  # HAVE_LIBPFM
             libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
              libslang: [ on  ]  # HAVE_SLANG_SUPPORT
         libtraceevent: [ on  ]  # HAVE_LIBTRACEEVENT
             libunwind: [ OFF ]  # HAVE_LIBUNWIND_SUPPORT
                  lzma: [ on  ]  # HAVE_LZMA_SUPPORT
numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
         syscall_table: [ OFF ]  # HAVE_SYSCALL_TABLE_SUPPORT
                  zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
                  zstd: [ on  ]  # HAVE_ZSTD_SUPPORT
root@raspberrypi:~# ~acme/bin/perf test 11
 11: Hwmon PMU                                                       :
 11.1: Basic parsing test                                            : Ok
 11.2: Parsing without PMU name                                      : FAILED!
 11.3: Parsing with PMU name                                         : FAILED!
root@raspberrypi:~# ~acme/bin/perf test -vv 11
 11: Hwmon PMU                                                       :
 11.1: Basic parsing test:
--- start ---
test child forked, pid 6983
hwmon_pmu: not a hwmon type 'badtype' in file name 'badtype5_baditem'
hwmon_pmu: not a hwmon item 'baditem' in file name 'humidity6_baditem'
---- end(0) ----
 11.1: Basic parsing test                                            : Ok
 11.2: Parsing without PMU name:
--- start ---
test child forked, pid 6984
Testing 'temp_test_hwmon_event1'
Attempt to add: hwmon_a_test_hwmon_pmu/temp_test_hwmon_event1/
..after resolving event: hwmon_a_test_hwmon_pmu/temp_test_hwmon_event1/
temp_test_hwmon_event1 -> hwmon_a_test_hwmon_pmu/temp_test_hwmon_event1/
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: removing event 'in0' that has no input file
Testing 'temp1'
Attempt to add: hwmon_a_test_hwmon_pmu/temp1/
..after resolving event: hwmon_a_test_hwmon_pmu/temp1/
temp1 -> hwmon_a_test_hwmon_pmu/temp1/
Attempt to add: hwmon_cpu_thermal/temp1/
..after resolving event: hwmon_cpu_thermal/temp1/
temp1 -> hwmon_cpu_thermal/temp1/
FAILED tests/hwmon_pmu.c:180 Unexpected config for 'temp1', 2114584577 != 655361
---- end(-1) ----
 11.2: Parsing without PMU name                                      : FAILED!
 11.3: Parsing with PMU name:
--- start ---
test child forked, pid 6985
Testing 'temp_test_hwmon_event1'
Attempt to add: hwmon_a_test_hwmon_pmu/temp_test_hwmon_event1/
..after resolving event: hwmon_a_test_hwmon_pmu/temp_test_hwmon_event1/
temp_test_hwmon_event1 -> hwmon_a_test_hwmon_pmu/temp_test_hwmon_event1/
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: removing event 'in0' that has no input file
Testing 'temp1'
Attempt to add: hwmon_a_test_hwmon_pmu/temp1/
..after resolving event: hwmon_a_test_hwmon_pmu/temp1/
temp1 -> hwmon_a_test_hwmon_pmu/temp1/
Attempt to add: hwmon_cpu_thermal/temp1/
..after resolving event: hwmon_cpu_thermal/temp1/
temp1 -> hwmon_cpu_thermal/temp1/
FAILED tests/hwmon_pmu.c:180 Unexpected config for 'temp1', 2114584577 != 655361
---- end(-1) ----
 11.3: Parsing with PMU name                                         : FAILED!
root@raspberrypi:~#

You asked this via chat:

(gdb) b hwmon_pmu__have_event
Breakpoint 1 at 0x661071: file util/hwmon_pmu.c, line 559.
(gdb) run test 11
Starting program: /root/bin/perf test 11

This GDB supports auto-downloading debuginfo from the following URLs:
  <https://debuginfod.fedoraproject.org/>
Enable debuginfod for this session? (y or [n]) n
Debuginfod has been disabled.
To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
[Detaching after fork from child process 595037]
[Detaching after fork from child process 595039]
[Detaching after fork from child process 595040]
 11: Hwmon PMU                                                       :
 11.1: Basic parsing test                                            : Ok
 11.2: Parsing without PMU name                                      : FAILED!
 11.3: Parsing with PMU name                                         : FAILED!
[Inferior 1 (process 594467) exited normally]
(gdb) bt
No stack.
(gdb)

Hope this helps, will go AFK now, happy to try more stuff and will also
try to figure this out myself if you don't do it first.

Since this doesn't seem to be something related to the patches processed
this week I'll just push what we have to perf-tools-next so that it gets
tested on linux-next.

- Arnaldo

On the Fedora 40 system:

root@x1:~# perf test hwmon
root@x1:~# perf test 11
 11: Hwmon PMU                                                       :
 11.1: Basic parsing test                                            : Ok
 11.2: Parsing without PMU name                                      : FAILED!
 11.3: Parsing with PMU name                                         : FAILED!
root@x1:~# perf test -v 11
 11: Hwmon PMU                                                       :
 11.1: Basic parsing test                                            : Ok
 11.2: Parsing without PMU name                                      : FAILED!
 11.3: Parsing with PMU name                                         : FAILED!
root@x1:~# perf test -vv 11
 11: Hwmon PMU                                                       :
 11.1: Basic parsing test:
--- start ---
test child forked, pid 406656
hwmon_pmu: not a hwmon type 'badtype' in file name 'badtype5_baditem'
hwmon_pmu: not a hwmon item 'baditem' in file name 'humidity6_baditem'
---- end(0) ----
 11.1: Basic parsing test                                            : Ok
 11.2: Parsing without PMU name:
--- start ---
test child forked, pid 406657
Testing 'temp_test_hwmon_event1'
Using CPUID GenuineIntel-6-BA-3
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'pwm1'
Not a hwmon file 'pwm1'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: removing event 'pwm1' that has no input file
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
FAILED tests/hwmon_pmu.c:160 failed to parse event 'temp_test_hwmon_event1', err 1
event syntax error: 'temp_test_hwmon_event1'
                     \___ Bad event name

Unable to find event on a PMU of 'temp_test_hwmon_event1'
free(): invalid pointer

---- unexpected signal (6) ----
 11.2: Parsing without PMU name                                      : FAILED!
 11.3: Parsing with PMU name:
--- start ---
test child forked, pid 406658
Testing 'temp_test_hwmon_event1'
Using CPUID GenuineIntel-6-BA-3
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'pwm1'
Not a hwmon file 'pwm1'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: removing event 'pwm1' that has no input file
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
hwmon_pmu: not a hwmon file 'uevent'
Not a hwmon file 'uevent'
hwmon_pmu: not a hwmon file 'name'
Not a hwmon file 'name'
FAILED tests/hwmon_pmu.c:160 failed to parse event 'temp_test_hwmon_event1', err 1
event syntax error: 'temp_test_hwmon_event1'
                     \___ Bad event name

Unable to find event on a PMU of 'temp_test_hwmon_event1'

---- unexpected signal (11) ----
 11.3: Parsing with PMU name                                         : FAILED!
root@x1:~#

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: perf test failures with tmp.perf-tools-next
  2024-11-16 20:03   ` Arnaldo Carvalho de Melo
@ 2024-11-18  5:37     ` Ian Rogers
  0 siblings, 0 replies; 4+ messages in thread
From: Ian Rogers @ 2024-11-18  5:37 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Adrian Hunter, Jiri Olsa, Kan Liang, Namhyung Kim, James Clark,
	Linux Kernel Mailing List, linux-perf-users

On Sat, Nov 16, 2024 at 12:03 PM Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
>
> On Fri, Nov 15, 2024 at 09:54:56AM -0800, Ian Rogers wrote:
> > On Fri, Nov 15, 2024 at 7:49 AM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> > > Not a hwmon file 'name'
> > > FAILED tests/hwmon_pmu.c:160 failed to parse event 'temp_test_hwmon_event1', err 1
> > > event syntax error: 'temp_test_hwmon_event1'
> > >                      \___ Bad event name
> > >
> > > Unable to find event on a PMU of 'temp_test_hwmon_event1'
> > >
> > > ---- unexpected signal (11) ----
> > >  11.3: Parsing with PMU name                                         : FAILED!
> > > root@x1:~#
>
> > I'm trying to repro the hwmon issue on tmp.perf-tools-next, with asan
> > root/non-root I get:
> > ```
> >  11: Hwmon PMU                                                       :
> > 11.1: Basic parsing test                                            : Ok
> > 11.2: Parsing without PMU name                                      : Ok
> > 11.3: Parsing with PMU name                                         : Ok
> > ```
> > I'm trying more machines to try to get a reproduction.
>
> So, I cleaned up everything, rebuilt and the problem persists on a
> Fedora 40 lenovo x1 carbon, full verbose mode output at the end.
>
> It also fails on a Raspberry Pi 3:
>
> acme@raspberrypi:~ $ cat /etc/os-release
> PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)"
> NAME="Raspbian GNU/Linux"
> VERSION_ID="12"
> VERSION="12 (bookworm)"
> VERSION_CODENAME=bookworm
> ID=raspbian
> ID_LIKE=debian
> HOME_URL="http://www.raspbian.org/"
> SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
> BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
> acme@raspberrypi:~ $
> root@raspberrypi:~# tail -14 /proc/cpuinfo
> processor       : 3
> model name      : ARMv7 Processor rev 4 (v7l)
> BogoMIPS        : 38.40
> Features        : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
> CPU implementer : 0x41
> CPU architecture: 7
> CPU variant     : 0x0
> CPU part        : 0xd03
> CPU revision    : 4
>
> Hardware        : BCM2835
> Revision        : a020d3
> Serial          : 00000000783939e0
> Model           : Raspberry Pi 3 Model B Plus Rev 1.3
> root@raspberrypi:~#
>
> root@raspberrypi:~# ~acme/bin/perf -v
> perf version 6.12.rc6.gdb26a8c9e3c2
> root@raspberrypi:~# ~acme/bin/perf -vv
> perf version 6.12.rc6.gdb26a8c9e3c2
>                    aio: [ on  ]  # HAVE_AIO_SUPPORT
>                    bpf: [ on  ]  # HAVE_LIBBPF_SUPPORT
>          bpf_skeletons: [ on  ]  # HAVE_BPF_SKEL
>             debuginfod: [ OFF ]  # HAVE_DEBUGINFOD_SUPPORT
>                  dwarf: [ on  ]  # HAVE_LIBDW_SUPPORT
>     dwarf_getlocations: [ on  ]  # HAVE_LIBDW_SUPPORT
>           dwarf-unwind: [ on  ]  # HAVE_DWARF_UNWIND_SUPPORT
>               auxtrace: [ on  ]  # HAVE_AUXTRACE_SUPPORT
>               libaudit: [ on  ]  # HAVE_LIBAUDIT_SUPPORT
>                 libbfd: [ OFF ]  # HAVE_LIBBFD_SUPPORT
>            libcapstone: [ on  ]  # HAVE_LIBCAPSTONE_SUPPORT
>              libcrypto: [ on  ]  # HAVE_LIBCRYPTO_SUPPORT
>     libdw-dwarf-unwind: [ on  ]  # HAVE_LIBDW_SUPPORT
>                 libelf: [ on  ]  # HAVE_LIBELF_SUPPORT
>                libnuma: [ on  ]  # HAVE_LIBNUMA_SUPPORT
>             libopencsd: [ OFF ]  # HAVE_CSTRACE_SUPPORT
>                libperl: [ on  ]  # HAVE_LIBPERL_SUPPORT
>                libpfm4: [ on  ]  # HAVE_LIBPFM
>              libpython: [ on  ]  # HAVE_LIBPYTHON_SUPPORT
>               libslang: [ on  ]  # HAVE_SLANG_SUPPORT
>          libtraceevent: [ on  ]  # HAVE_LIBTRACEEVENT
>              libunwind: [ OFF ]  # HAVE_LIBUNWIND_SUPPORT
>                   lzma: [ on  ]  # HAVE_LZMA_SUPPORT
> numa_num_possible_cpus: [ on  ]  # HAVE_LIBNUMA_SUPPORT
>          syscall_table: [ OFF ]  # HAVE_SYSCALL_TABLE_SUPPORT
>                   zlib: [ on  ]  # HAVE_ZLIB_SUPPORT
>                   zstd: [ on  ]  # HAVE_ZSTD_SUPPORT
> root@raspberrypi:~# ~acme/bin/perf test 11
>  11: Hwmon PMU                                                       :
>  11.1: Basic parsing test                                            : Ok
>  11.2: Parsing without PMU name                                      : FAILED!
>  11.3: Parsing with PMU name                                         : FAILED!
> root@raspberrypi:~# ~acme/bin/perf test -vv 11
>  11: Hwmon PMU                                                       :
>  11.1: Basic parsing test:
> --- start ---
> test child forked, pid 6983
> hwmon_pmu: not a hwmon type 'badtype' in file name 'badtype5_baditem'
> hwmon_pmu: not a hwmon item 'baditem' in file name 'humidity6_baditem'
> ---- end(0) ----
>  11.1: Basic parsing test                                            : Ok
>  11.2: Parsing without PMU name:
> --- start ---
> test child forked, pid 6984
> Testing 'temp_test_hwmon_event1'
> Attempt to add: hwmon_a_test_hwmon_pmu/temp_test_hwmon_event1/
> ..after resolving event: hwmon_a_test_hwmon_pmu/temp_test_hwmon_event1/
> temp_test_hwmon_event1 -> hwmon_a_test_hwmon_pmu/temp_test_hwmon_event1/
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: removing event 'in0' that has no input file
> Testing 'temp1'
> Attempt to add: hwmon_a_test_hwmon_pmu/temp1/
> ..after resolving event: hwmon_a_test_hwmon_pmu/temp1/
> temp1 -> hwmon_a_test_hwmon_pmu/temp1/
> Attempt to add: hwmon_cpu_thermal/temp1/
> ..after resolving event: hwmon_cpu_thermal/temp1/
> temp1 -> hwmon_cpu_thermal/temp1/
> FAILED tests/hwmon_pmu.c:180 Unexpected config for 'temp1', 2114584577 != 655361
> ---- end(-1) ----
>  11.2: Parsing without PMU name                                      : FAILED!
>  11.3: Parsing with PMU name:
> --- start ---
> test child forked, pid 6985
> Testing 'temp_test_hwmon_event1'
> Attempt to add: hwmon_a_test_hwmon_pmu/temp_test_hwmon_event1/
> ..after resolving event: hwmon_a_test_hwmon_pmu/temp_test_hwmon_event1/
> temp_test_hwmon_event1 -> hwmon_a_test_hwmon_pmu/temp_test_hwmon_event1/
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: removing event 'in0' that has no input file
> Testing 'temp1'
> Attempt to add: hwmon_a_test_hwmon_pmu/temp1/
> ..after resolving event: hwmon_a_test_hwmon_pmu/temp1/
> temp1 -> hwmon_a_test_hwmon_pmu/temp1/
> Attempt to add: hwmon_cpu_thermal/temp1/
> ..after resolving event: hwmon_cpu_thermal/temp1/
> temp1 -> hwmon_cpu_thermal/temp1/
> FAILED tests/hwmon_pmu.c:180 Unexpected config for 'temp1', 2114584577 != 655361

Ok, sent:
https://lore.kernel.org/lkml/20241118052638.754981-1-irogers@google.com/
for this.

> ---- end(-1) ----
>  11.3: Parsing with PMU name                                         : FAILED!
> root@raspberrypi:~#
>
> You asked this via chat:
>
> (gdb) b hwmon_pmu__have_event
> Breakpoint 1 at 0x661071: file util/hwmon_pmu.c, line 559.
> (gdb) run test 11
> Starting program: /root/bin/perf test 11
>
> This GDB supports auto-downloading debuginfo from the following URLs:
>   <https://debuginfod.fedoraproject.org/>
> Enable debuginfod for this session? (y or [n]) n
> Debuginfod has been disabled.
> To make this setting permanent, add 'set debuginfod enabled off' to .gdbinit.
> [Thread debugging using libthread_db enabled]
> Using host libthread_db library "/lib64/libthread_db.so.1".
> [Detaching after fork from child process 595037]
> [Detaching after fork from child process 595039]
> [Detaching after fork from child process 595040]
>  11: Hwmon PMU                                                       :
>  11.1: Basic parsing test                                            : Ok
>  11.2: Parsing without PMU name                                      : FAILED!
>  11.3: Parsing with PMU name                                         : FAILED!
> [Inferior 1 (process 594467) exited normally]
> (gdb) bt
> No stack.
> (gdb)
>
> Hope this helps, will go AFK now, happy to try more stuff and will also
> try to figure this out myself if you don't do it first.
>
> Since this doesn't seem to be something related to the patches processed
> this week I'll just push what we have to perf-tools-next so that it gets
> tested on linux-next.
>
> - Arnaldo
>
> On the Fedora 40 system:
>
> root@x1:~# perf test hwmon
> root@x1:~# perf test 11
>  11: Hwmon PMU                                                       :
>  11.1: Basic parsing test                                            : Ok
>  11.2: Parsing without PMU name                                      : FAILED!
>  11.3: Parsing with PMU name                                         : FAILED!
> root@x1:~# perf test -v 11
>  11: Hwmon PMU                                                       :
>  11.1: Basic parsing test                                            : Ok
>  11.2: Parsing without PMU name                                      : FAILED!
>  11.3: Parsing with PMU name                                         : FAILED!
> root@x1:~# perf test -vv 11
>  11: Hwmon PMU                                                       :
>  11.1: Basic parsing test:
> --- start ---
> test child forked, pid 406656
> hwmon_pmu: not a hwmon type 'badtype' in file name 'badtype5_baditem'
> hwmon_pmu: not a hwmon item 'baditem' in file name 'humidity6_baditem'
> ---- end(0) ----
>  11.1: Basic parsing test                                            : Ok
>  11.2: Parsing without PMU name:
> --- start ---
> test child forked, pid 406657
> Testing 'temp_test_hwmon_event1'
> Using CPUID GenuineIntel-6-BA-3
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'pwm1'
> Not a hwmon file 'pwm1'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: removing event 'pwm1' that has no input file
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> FAILED tests/hwmon_pmu.c:160 failed to parse event 'temp_test_hwmon_event1', err 1
> event syntax error: 'temp_test_hwmon_event1'
>                      \___ Bad event name
>
> Unable to find event on a PMU of 'temp_test_hwmon_event1'
> free(): invalid pointer
>
> ---- unexpected signal (6) ----
>  11.2: Parsing without PMU name                                      : FAILED!
>  11.3: Parsing with PMU name:
> --- start ---
> test child forked, pid 406658
> Testing 'temp_test_hwmon_event1'
> Using CPUID GenuineIntel-6-BA-3
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'pwm1'
> Not a hwmon file 'pwm1'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: removing event 'pwm1' that has no input file
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> hwmon_pmu: not a hwmon file 'uevent'
> Not a hwmon file 'uevent'
> hwmon_pmu: not a hwmon file 'name'
> Not a hwmon file 'name'
> FAILED tests/hwmon_pmu.c:160 failed to parse event 'temp_test_hwmon_event1', err 1
> event syntax error: 'temp_test_hwmon_event1'
>                      \___ Bad event name
>
> Unable to find event on a PMU of 'temp_test_hwmon_event1'
>
> ---- unexpected signal (11) ----
>  11.3: Parsing with PMU name                                         : FAILED!
> root@x1:~#

Still not clear to me why the test PMU isn't present and no warning
was generated. If you could do the gdb, breakpoint on
hwmon_pmu__have_event then that might help explain what's going on.

Thanks,
Ian

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2024-11-18  5:37 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-15 15:49 perf test failures with tmp.perf-tools-next Arnaldo Carvalho de Melo
2024-11-15 17:54 ` Ian Rogers
2024-11-16 20:03   ` Arnaldo Carvalho de Melo
2024-11-18  5:37     ` Ian Rogers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox