invitation to try experimental debuginfo downloading service

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

invitation to try experimental debuginfo downloading service

Frank Ch. Eigler
Hi -

The availability of debuginfo can be an inconvenient requirement for
running systemtap scripts that probe the kernel or userspace.  Since
last year, we've been building out a path to a solution whereby
distros or users or anyone can serve debuginfo to systemtap (and to
debugger-like tools) by running a service that comes with a new
version (0.178+) of elfutils.

Some background readings:

https://developers.redhat.com/blog/2019/10/14/introducing-debuginfod-the-elfutils-debuginfo-server/
https://gcc.gnu.org/wiki/cauldron2019#cauldron2019talks.The_elfutils_debuginfo_server
https://developers.redhat.com/blog/2019/12/17/deploying-debuginfod-servers-for-your-developers/

Ideally, linux distros will someday host such servers.  Until then, we
have an experimental service that you are welcome to try.  We'd like
to learn about the mechanics of running such servers, and at the same
time offer something of use to the community.

How?

1) install elfutils 0.178+ from your distro, e.g., fedora rawhide,
   or perhaps from my *experimental* fedora copr (fche/elfutils)
or even better,
2) build elfutils from git/master, as per
   https://sourceware.org/git/?p=elfutils.git;a=blob;f=README
   configure/make/install with a --prefix=$dir to any private directory
   and export LD_LIBRARY_PATH=$dir/lib/

3) export DEBUGINFOD_PROGRESS=1 DEBUGINFOD_TIMEOUT=300
4) export DEBUGINFOD_URLS=https://debuginfod.systemtap.org/
5) test with $dir/bin/debuginfod-find source d254d14f9ee9aebba36262fd23f24390eff005b0 /usr/src/debug/systemtap-4.2-1.fc32.x86_64/cache.h
   this should print you a file name with a little piece of systemtap
6) use your existing copy of systemtap as usual!
7) if you're in luck, debuginfo download progress notifications
   will show, all without manual yum / apt-get type work; first-time
   kernel debuginfo downloads will still take time

What?

The debuginfod.systemtap.org URL connects to an EXPERIMENTAL server
that is being gradually populated with slivers of debuginfo content
copied from official servers of linux distros:

- just a few distros: fedora, centos, ubuntu, debian
- just a few packages: kernel, glibc, coreutils, httpd, systemd, a few more
- just a few architectures: x86-64 only
- just a few versions: basically late 2019 onwards

If you need debuginfo for a package/version/distro combination that
this server does not recognize (so systemtap or debuginfod-find still
gives you errors), let us know, we may be able to add it.  We may be
able to automate or formalize this process sometime, but for now, how
about email?

PS.  EXPERIMENTAL means it may go down, may have to throttle excessive
     traffic, no guarantees, limited storage/retention, play nice,
     etc. etc.  We hope it can only fail safely.

PS.  It also means: please join the experiment!

- FChE