Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1010890: Segfault with "bpftrace -l '*mount*'"

127 views
Skip to first unread message

Philipp Marek

unread,
May 12, 2022, 6:20:04 AM5/12/22
to
Package: bpftrace
Version: 0.14.1-5
Severity: important
X-Debbugs-Cc: phi...@marek.priv.at


Listing probes is not possible:

# LC_ALL=C gdb --args bpftrace -l '*mount*'
...
Program received signal SIGSEGV, Segmentation fault.
__strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:74
Download failed: Invalid argument. Continuing without source file ./string/../sysdeps/x86_64/multiarch/strlen-avx2.S.
74 ../sysdeps/x86_64/multiarch/strlen-avx2.S: No such file or directory.
(gdb) bt
#0 __strlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:74
#1 0x00007fffef938618 in __vfprintf_internal (s=s@entry=0x7fffffff98a0, format=0x7ffff7f84457 "libbpf: loading %s\n", ap=0x7fffffffb9e0, mode_flags=2) at vfprintf-internal.c:1647
#2 0x00007fffef938dc4 in buffered_vfprintf (s=0x7fffefa9f5e0 <_IO_2_1_stderr_>, format=<optimized out>, args=<optimized out>, mode_flags=<optimized out>) at vfprintf-internal.c:2295
#3 0x00007ffff7f5b1bb in ?? () from /lib/x86_64-linux-gnu/libbpf.so.0
#4 0x00007ffff7f677c2 in ?? () from /lib/x86_64-linux-gnu/libbpf.so.0
#5 0x00007ffff7f6ec1d in bpf_prog_load_xattr () from /lib/x86_64-linux-gnu/libbpf.so.0
#6 0x00007ffff7f6ee13 in bpf_prog_load_deprecated () from /lib/x86_64-linux-gnu/libbpf.so.0
#7 0x00007ffff7dc0e17 in libbpf_bpf_prog_load () from /usr/local/lib/libbcc_bpf.so.0
#8 0x00007ffff7dc2329 in bcc_prog_load_xattr () from /usr/local/lib/libbcc_bpf.so.0
#9 0x00007ffff7dc2b7a in bcc_prog_load () from /usr/local/lib/libbcc_bpf.so.0
#10 0x00005555555e4295 in ?? ()
#11 0x00005555555e4b41 in ?? ()
#12 0x00005555555e4cc7 in ?? ()
#13 0x0000555555686140 in ?? ()
#14 0x0000555555686911 in ?? ()
#15 0x0000555555678090 in ?? ()
#16 0x00005555556795eb in ?? ()
#17 0x000055555558c32b in ?? ()
#18 0x00007fffef8f37fd in __libc_start_main (main=0x55555558a580, argc=3, argv=0x7fffffffec68, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffec58) at ../csu/libc-start.c:332
#19 0x00005555555b11fa in ?? ()

That makes it quite hard to use.


Can't even be used, I believe:

# bpftrace -e 'tracepoint:syscalls:sys_enter_mount { ustack(); } '
Attaching 1 probe...
Segmentation fault


A locally recompiled bpftrace (38c099dff9100bafeaaa7cee865f4dfda58134ac)
works as expected.


-- System Information:
Debian Release: bookworm/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 5.17.0-1-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=de_AT.UTF-8, LC_CTYPE=de_AT.UTF-8 (charmap=UTF-8), LANGUAGE=de_AT:de
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages bpftrace depends on:
ii libbpf0 1:0.7.0-2
ii libbpfcc 0.24.0+ds-1
ii libc6 2.33-7
ii libclang1-13 1:13.0.1-3+b2
ii libdw1 0.187-1
ii libgcc-s1 12.1.0-1
ii libllvm13 1:13.0.1-3+b2
ii libstdc++6 12.1.0-1

bpftrace recommends no packages.

bpftrace suggests no packages.

-- no debconf information

-- debsums errors found:
debsums: can't check bpftrace file /usr/share/doc/bpftrace/changelog.Debian.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/doc/bpftrace/changelog.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/doc/bpftrace/examples/cpuwalk_example.txt.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/doc/bpftrace/examples/dcsnoop_example.txt.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/doc/bpftrace/examples/runqlat_example.txt.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/bashreadline.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/biolatency.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/biosnoop.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/biostacks.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/bitesize.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/bpftrace.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/capable.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/cpuwalk.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/dcsnoop.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/execsnoop.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/gethostlatency.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/killsnoop.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/loads.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/mdflush.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/naptime.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/oomkill.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/opensnoop.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/pidpersec.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/runqlat.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/runqlen.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/setuids.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/statsnoop.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/swapin.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/syncsnoop.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/syscount.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/tcpaccept.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/tcpconnect.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/tcpdrop.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/tcplife.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/tcpretrans.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/tcpsynbl.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/threadsnoop.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/vfscount.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/vfsstat.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/writeback.bt.8.gz (Wide character in subroutine entry)
debsums: can't check bpftrace file /usr/share/man/man8/xfsdist.bt.8.gz (Wide character in subroutine entry)

Bernhard Übelacker

unread,
May 29, 2022, 11:00:05 AM5/29/22
to
On Thu, 12 May 2022 12:13:53 +0200 Philipp Marek <phi...@marek.priv.at> wrote:

> #6 0x00007ffff7f6ee13 in bpf_prog_load_deprecated () from /lib/x86_64-linux-gnu/libbpf.so.0
> #7 0x00007ffff7dc0e17 in libbpf_bpf_prog_load () from /usr/local/lib/libbcc_bpf.so.0
> #8 0x00007ffff7dc2329 in bcc_prog_load_xattr () from /usr/local/lib/libbcc_bpf.so.0
> #9 0x00007ffff7dc2b7a in bcc_prog_load () from /usr/local/lib/libbcc_bpf.so.0


Hello Marek,
I tried if I could reproduce the crash, when I saw your backtrace
shows a library loaded from /usr/local/lib.
This looks like you installed a local version of the library?
Does the crash also occur if you move these local libraries,
so the process does use the version supplied by Debian?

Kind regards,
Bernhard

Philipp Marek

unread,
May 30, 2022, 2:10:03 AM5/30/22
to
Hi Bernhard,

>> #6 0x00007ffff7f6ee13 in bpf_prog_load_deprecated () from
>> /lib/x86_64-linux-gnu/libbpf.so.0
>> #7 0x00007ffff7dc0e17 in libbpf_bpf_prog_load () from
>> /usr/local/lib/libbcc_bpf.so.0
>> #8 0x00007ffff7dc2329 in bcc_prog_load_xattr () from
>> /usr/local/lib/libbcc_bpf.so.0
>> #9 0x00007ffff7dc2b7a in bcc_prog_load () from
>> /usr/local/lib/libbcc_bpf.so.0
> I tried if I could reproduce the crash, when I saw your backtrace
> shows a library loaded from /usr/local/lib.
> This looks like you installed a local version of the library?
> Does the crash also occur if you move these local libraries,
> so the process does use the version supplied by Debian?

Ah, thanks.
No, it doesn't crash then -- seems that happened in the one shell
that had the /usr/bin/bpftrace path cached after I built and
installed bpftrace from source...


Thanks!


Ph.
0 new messages