Em Thu, Oct 01, 2020 at 01:45:25PM +0000, Kevin Sheldrake escreveu: > > Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> writes: > SNIP > > > Reported-by: Kevin Sheldrake <Kevin.Sheldrake@xxxxxxxxxxxxx> > > > Cc: Toke Høiland-Jørgensen <toke@xxxxxxxxxx> > > > Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> > > Yeah, that's much better! > > Acked-by: Toke Høiland-Jørgensen <toke@xxxxxxxxxx> > Thank you to Arnaldo for identifying and fixing the seg fault. > Am I right in thinking that pahole can't work on a standard > out-of-the-box distro such as Ubuntu 16.04 (v4.15) or 18.04 (v5.3/5.4) > as debugging information isn't available in the kernel, and equally > isn't available anywhere else, without recompiling it? You mean recompiling the kernel with debug info? You just have to install de debuginfo packages, that in Ubuntu is different than in Fedora but in the end is just the same principle: you have matching separate debug info files for each kernel released by the distro, please take a look at: https://wiki.ubuntu.com/Debug%20Symbol%20Packages There is also a page for Systemtap where it states the steps specifically for the kernel debug symbol packages: https://wiki.ubuntu.com/Kernel/Systemtap This part: codename=$(lsb_release -c | awk '{print $2}') sudo tee /etc/apt/sources.list.d/ddebs.list << EOF deb http://ddebs.ubuntu.com/ ${codename} main restricted universe multiverse deb http://ddebs.ubuntu.com/ ${codename}-security main restricted universe multiverse deb http://ddebs.ubuntu.com/ ${codename}-updates main restricted universe multiverse deb http://ddebs.ubuntu.com/ ${codename}-proposed main restricted universe multiverse EOF sudo apt-get update sudo apt-get install linux-image-$(uname -r)-dbgsym Also make sure you have the dwarves package installed, if you haven't built it from sources as Toke suggested, as below, but then, ubuntu:18.04 has a way too old version of pahole/dwarves, 1.10, so build it from sources to have the BTF support and many other goodies. I just checked and ubuntu:19.10 has dwarves 1.15, that is not enough, 1.16 is what the kernel expects to generate BTF: [acme@five perf]$ grep "pahole version" scripts/*.sh scripts/link-vmlinux.sh: echo >&2 "BTF: ${1}: pahole version $(${PAHOLE} --version) is too old, need at least v1.16" [acme@five perf]$ - Arnaldo [perfbuilder@five ~]$ podman run --rm -ti ubuntu:18.04 root@f9beca14daaf:/# bash root@f9beca14daaf:/# apt-get update Get:1 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB] Get:2 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] Get:3 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Get:4 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 Packages [14.6 kB] Get:5 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] Get:6 http://security.ubuntu.com/ubuntu bionic-security/universe amd64 Packages [1337 kB] Get:7 http://archive.ubuntu.com/ubuntu bionic/multiverse amd64 Packages [186 kB] Get:8 http://archive.ubuntu.com/ubuntu bionic/restricted amd64 Packages [13.5 kB] Get:9 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages [11.3 MB] Get:10 http://security.ubuntu.com/ubuntu bionic-security/restricted amd64 Packages [193 kB] Get:11 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages [1693 kB] Get:12 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages [1344 kB] Get:13 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [2110 kB] Get:14 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages [2099 kB] Get:15 http://archive.ubuntu.com/ubuntu bionic-updates/restricted amd64 Packages [220 kB] Get:16 http://archive.ubuntu.com/ubuntu bionic-updates/multiverse amd64 Packages [44.6 kB] Get:17 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [11.4 kB] Get:18 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [11.3 kB] Fetched 21.1 MB in 6s (3778 kB/s) Reading package lists... Done root@f9beca14daaf:/# apt-get install dwarves Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libdw1 libelf1 The following NEW packages will be installed: dwarves libdw1 libelf1 0 upgraded, 3 newly installed, 0 to remove and 15 not upgraded. Need to get 393 kB of archives. After this operation, 2086 kB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libelf1 amd64 0.170-0.4ubuntu0.1 [44.8 kB] Get:2 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 libdw1 amd64 0.170-0.4ubuntu0.1 [203 kB] Get:3 http://archive.ubuntu.com/ubuntu bionic/universe amd64 dwarves amd64 1.10-2.1build1 [145 kB] Fetched 393 kB in 2s (233 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libelf1:amd64. (Reading database ... 4046 files and directories currently installed.) Preparing to unpack .../libelf1_0.170-0.4ubuntu0.1_amd64.deb ... Unpacking libelf1:amd64 (0.170-0.4ubuntu0.1) ... Selecting previously unselected package libdw1:amd64. Preparing to unpack .../libdw1_0.170-0.4ubuntu0.1_amd64.deb ... Unpacking libdw1:amd64 (0.170-0.4ubuntu0.1) ... Selecting previously unselected package dwarves. Preparing to unpack .../dwarves_1.10-2.1build1_amd64.deb ... Unpacking dwarves (1.10-2.1build1) ... Setting up libelf1:amd64 (0.170-0.4ubuntu0.1) ... Setting up libdw1:amd64 (0.170-0.4ubuntu0.1) ... Setting up dwarves (1.10-2.1build1) ... Processing triggers for libc-bin (2.27-3ubuntu1.2) ... root@f9beca14daaf:/# - Arnaldo