libunwind-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Libunwind-devel] unwinding from signal handler (i586)


From: Sven Neumann
Subject: Re: [Libunwind-devel] unwinding from signal handler (i586)
Date: Mon, 22 Aug 2011 12:12:29 +0200

On Mon, 2011-08-22 at 13:03 +0300, Lassi Tuura wrote:
> Hi,
> 
> >> # ./main 
> >> standard frame     ip:  0x80488f3, sp: 0xbfbcea00   sig_handler
> >> Segmentation fault
> >> 
> >> I will try to find some time to debug this further...
> > 
> > In the hope that it helps, here's the libunwind debug output from this
> > segmentation fault:
> > 
> > # UNW_DEBUG_LEVEL=9999 ./main 
> [...]
> 
> >> access_reg: ebp -> bfb4ebe8
> >> access_mem: mem[bfb4ebec] -> 0
> >> _Ux86_dwarf_step: returning 0
> >> _Ux86_step: returning 0
> > Segmentation fault
> 
> Does it actually crash in libunwind? From above it sounds like it already
> returned fine to your application and crashes there.

Well, the code I am running is the test-case that Ken posted earlier in
this thread.

> That said, a possible cause is that something (not necessarily libunwind) is
> attempting to access EBP-based frame chain, but the next EBP is zero. That
> might be because the parent is a signal frame, and isn't detected as such.
> Are you handling that condition properly in your application? How do you build
> and what sort of libc do you have? Does it have the signal trampoline 
> annotated
> with 'S' dwarf augmentation option? Do you have problems with the test suite?

This is uCLibC 0.9.32 on i586 built with current buildroot using gcc
4.3.

Somewhat difficult for me to run the test-suite since we are
cross-compiling libunwind. But I can have a look, perhaps I can get it
to work...


Sven





reply via email to

[Prev in Thread] Current Thread [Next in Thread]