This is the mail archive of the
elfutils-devel@sourceware.org
mailing list for the elfutils project.
Re: dwfl_thread_getframes: no matching address range
- From: Mark Wielaard <mjw at redhat dot com>
- To: elfutils-devel at lists dot fedorahosted dot org
- Date: Sun, 27 Dec 2015 21:38:19 +0100
- Subject: Re: dwfl_thread_getframes: no matching address range
(Replied from my other email address, since it seems the list
isn't accepting my home email address for some reason.)
On Sun, Dec 27, 2015 at 07:29:03PM +0100, Kurt Roeckx wrote:
> So it seems that something on the system changed causing the
> breakage.
Found it. It is two things.
1) For some architectures (the ones that fail) debian glibc seems to
have not been compiled with -fasynchronous-unwind-tables. This really
should be the default on all arches since otherwise various programs
will be unable to unwind/backtrace through all libraries. I believe
there was already a bug filed against gcc for this, but I cannot find
it now.
For that reason you also need libc6-dbg installed to get proper
backtraces. That contains the missing unwind info (in .debug_frame).
You do have that installed as build dependency, which should have made
the test succeed. But that doesn't work with the latest libc6-dbg
because of...
2) The debug ELF file uses compressed ELF sections. This is IMHO not a
very good idea for various reasons since it makes lots of things a lot
slower since various programs, like elfutils, gdb, etc. cannot just
lazily load the info they need, or use indexes, like gdb_index, to get
directly at the information they need because they will have to read
in whole sections of compressed data, that will need to be uncompressed
first. Causing lots of disk/cpu load for something simple like a quick
backtrace. So I would suggest to file a bug against glibc to not do
this.
This wouldn't actually be a problem if the compressed was the .zdebug
style GNU compressed ELF sections. Which elfutils actually supports.
But the sections are compressed in the new ELF gabi style, which as
far as I know no release of binutils nor elfutils supports yet.
(I assume debian sid uses a special patched or prerelease binutils
to generate these gabi style compressed sections.)
The good news is that I already have a working patch for this. I'll
post a cleaned up version tomorrow. The bad news is that it fairly
big. So I don't think it will be easy to backport. We really need to
do a new release once this lands. If things work out we could do a
0.165 release early January if needed. Ideally IMHO debian should fix
bug 1 and/or 2 before that though.
Cheers,
Mark