This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]