On Sat, Sep 26, 2009 at 7:04 PM, Haiping Zhao <[email protected]> wrote:
> Here it is. I still have the core dump, so please let me know if you need
> extra information. Thanks!
>

Looking at the address libunwind was trying to dereference, it looks
like libunwind got either bad or incomplete unwind information.

Couple of questions:

* Was gdb able to unwind the frames below backtrace()? If the unwind
information was bad, neither gdb nor libunwind will be able to unwind.
But gdb has the advantage of being out of process. If it dereferences
a bad pointer, it gets a EFAULT (not SIGSEGV).

* Typically this kind of a problem is the result of:
  * Hand coded asm with missing unwind info
  * Compiler generated bad/incomplete unwind info

To debug the latter case, we'll need to run with UNW_DEBUG_LEVEL=n and
further dump the unwind info (using readelf) and figure out where
things went wrong.

 -Arun


_______________________________________________
Libunwind-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/libunwind-devel

Reply via email to