Will eu-addr2line support debuginfod?

Frank Ch. Eigler fche@redhat.com
Tue Dec 1 15:23:30 GMT 2020


Hi, Vitaly -

> Is it planned to have eu-addr2line supporting debuginfod? I try to
> pass '[build-id]@address' (in the same format that eu-stack outputting)
> without success [...]

For a broader discussion of the same topic, see:
     https://sourceware.org/bugzilla/show_bug.cgi?id=25793
I remain of the opinion that all elfutils tools should automagically
attempt debuginfod queries, if they encounter incomplete data.

If we cannot overcome objections to that, we may end up having to
invent a new elfutils tool that does general elf/dwarf dumping.


> ps. Additionally, I think, it would be extra cool to have addr2line request
> functionality added to debuginfod protocol. For example, to request like:
> '/buildid/123..DEF/addr2line/@0x7ffa8d3c5000+0xfd886'. 

Yes, adding higher level query operations to the webapi was in mind
right from the beginning of the project.  It's a matter of tasteful
API design, analysis of other candidate client tools.  I'd search for
inspiration from, maybe those very same dumping tools contemplated by
PR25793 and maybe complex tools like systemtap/gdb, and general query
tools like dwgrep.  A lot of work to do.
 

> Our experiments show, that to generate KDE stack traces via
> debuginfod requires gigabytes of traffic (downloading uncompressed
> .debug binary), which is many times more than installing (lzma
> compressed) -debuginfod .rpm file.  Where, several remote addr2line
> requests would do the job.

You're right, debuginfod itself does not compress on its webapi - it
ignores the Accept-Encoding request header.  On a LAN-nearby server,
that doesn't make any difference really.  On a remote server, one
should probably set up a reverse-proxy front-end such as httpd or
nginx that does support compressed encodings, such as all of the
public servers listed at
https://sourceware.org/elfutils/Debuginfod.html .  The debuginfod
client will happily receive compressed-encoding responses from such
servers.

We could also entertain teaching debuginfod itself to compress on the
fly.  It's just a more tricky use of the libmicrohttpd apis.

- FChE



More information about the Elfutils-devel mailing list