The upstream bug tracker says "Please use your distribution's bug
tracking tools. This bugzilla is for reporting bugs against upstream
Linux kernels. If you did not compile your own kernel from scratch, you
are probably in the wrong place."

Since I'm not using an upstream kernel, I'm not planning on reporting it
there.

I fully isolated the bug and found a workaround, so I don't personally
need it to be fixed. I'm following the documented procedure for
reporting kernel bugs out of courtesy.

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/2074202

Title:
  Segfault in perf (__perf_cpu_map__nr) on Linux 6.5.0-45

Status in linux package in Ubuntu:
  New

Bug description:
  With package linux-tools-6.5.0-45-generic, perf will reproducibly
  segfault on startup:

  $ SYSFS_PATH=/nonexistent perf record /bin/echo
  Failed to read max cpus, using default of 4096
  libperf: Miscounted nr_mmaps 0 vs 1
  WARNING: No sample_id_all support, falling back to unordered processing
  perf: Segmentation fault

  Under gdb:

  Thread 1 "perf" received signal SIGSEGV, Segmentation fault.
  0x0000555555739ca3 in __perf_cpu_map__nr (cpus=0x0) at cpumap.c:283
  283     cpumap.c: No such file or directory.
  (gdb) bt
  #0  0x0000555555739ca3 in __perf_cpu_map__nr (cpus=0x0) at cpumap.c:283
  #1  0x0000555555739f37 in perf_cpu_map__max (map=0x0) at cpumap.c:371
  #2  0x00005555556ac264 in cpu_map_data__alloc 
(syn_data=syn_data@entry=0x7fffffff8860, header_size=header_size@entry=8) at 
util/synthetic-events.c:1273
  #3  0x00005555556af6a6 in cpu_map_event__new (map=<optimized out>) at 
util/synthetic-events.c:1321
  #4  perf_event__synthesize_cpu_map (tool=tool@entry=0x555555e62300 <record>, 
map=<optimized out>, process=process@entry=0x555555596d40 
<process_synthesized_event>, machine=machine@entry=0x0)
      at util/synthetic-events.c:1341
  #5  0x0000555555594ddf in record__synthesize (tail=tail@entry=false, 
rec=0x555555e62300 <record>) at builtin-record.c:2050
  #6  0x000055555559891f in __cmd_record (argc=<optimized out>, argv=<optimized 
out>, rec=0x555555e62300 <record>) at builtin-record.c:2512
  #7  0x000055555559b95f in cmd_record (argc=1, argv=0x7fffffffe450) at 
builtin-record.c:4260
  #8  0x00005555556073f1 in run_builtin (p=p@entry=0x555555e64868 
<commands+264>, argc=argc@entry=2, argv=argv@entry=0x7fffffffe450) at perf.c:323
  #9  0x000055555558580e in handle_internal_command (argv=0x7fffffffe450, 
argc=2) at perf.c:377
  #10 run_argv (argv=<synthetic pointer>, argcp=<synthetic pointer>) at 
perf.c:421
  #11 main (argc=2, argv=0x7fffffffe450) at perf.c:537

  The SYSFS_PATH environment variable is for your convenient
  reproduction. My actual problem is that I'm trying to use perf inside
  a systemd-nspawn container. The /proc/mounts looks like this:

  tmpfs /sys tmpfs 
ro,nosuid,nodev,noexec,relatime,size=4096k,nr_inodes=1024,mode=555,inode64 0 0
  ...
  sysfs /sys/block sysfs ro,nosuid,nodev,noexec,relatime 0 0
  sysfs /sys/bus sysfs ro,nosuid,nodev,noexec,relatime 0 0
  sysfs /sys/class sysfs ro,nosuid,nodev,noexec,relatime 0 0
  sysfs /sys/dev sysfs ro,nosuid,nodev,noexec,relatime 0 0
  sysfs /sys/devices sysfs ro,nosuid,nodev,noexec,relatime 0 0
  sysfs /sys/kernel sysfs ro,nosuid,nodev,noexec,relatime 0 0

  Perf looks for the first mount point with type "sysfs" and so
  concludes sysfs is mounted at /sys/block. Thus it can't find any
  relevant file and fails to detect relevant information about the
  system. Then it segfaults with a null pointer dereference.

  A workaround is to set SYSFS_PATH=/sys.

  Apologies if this is not the right place. Perf is in the kernel source
  tree so for most purposes it is a kernel bug.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2074202/+subscriptions


-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to