libunwind-devel
[Top][All Lists]
Advanced

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

Re: [Libunwind-devel] unwind within a signal handler (in linux / arm)


From: Harald Servat
Subject: Re: [Libunwind-devel] unwind within a signal handler (in linux / arm)
Date: Fri, 20 Apr 2012 11:54:30 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; ca-valencia; rv:1.9.2.24) Gecko/20111101 SUSE/3.1.16 Thunderbird/3.1.16

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Al 19/04/12 19:42, En/na Arun Sharma ha escrit:
> On Thu, Apr 19, 2012 at 8:44 AM, Harald Servat <address@hidden> wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Dear all,
>>
>>  I've just downloaded a GIT clone of the libunwind and installed it in
>> a linux/ARM machine.
>>
>>  We use libunwind from an library that monitors an application. This
>> library uses periodical sampling to collect some information (including
>> the callstack). I've found that libunwind segfaults when is issued from
>> the signal handler. I'm attaching the gdb output below.
>>
>>  Has anyone seen this issue before?
> 
> Not very familiar with ARM. But:
> 
> ./configure --enable-debug
> UNW_DEBUG_LEVEL=1 your-program
> 
> and pasting the output should help people figure out what's wrong.
> 

Thank you for the pointers. Now I get

 >_ULarm_dwarf_search_unwind_table: e->fde_offset = 34, segbase = 0,
debug_frame_base = 3f730, fde_addr = 3f764
 >_ULarm_step: dwarf_step()=-10
 >_ULarm_dwarf_search_unwind_table: e->fde_offset = 34, segbase = 0,
debug_frame_base = 3f730, fde_addr = 3f764
 >_ULarm_init_local: (cursor=0xbeb380b0)
 >_ULarm_step: (cursor=0xbeb380b0)
 >_ULarm_step: dwarf_step()=1
 >_ULarm_step: (cursor=0xbeb380b0)
 >_ULarm_step: dwarf_step()=1
 >_ULarm_step: (cursor=0xbeb380b0)
 >_ULarm_step: dwarf_step()=1
 >_ULarm_step: (cursor=0xbeb380b0)
 >_ULarm_step: dwarf_step()=1
 >_ULarm_step: (cursor=0xbeb380b0)
 >_ULarm_dwarf_search_unwind_table: e->fde_offset = 34, segbase = 0,
debug_frame_base = 3f730, fde_addr = 3f764
 >_ULarm_step: dwarf_step()=-10
 >_ULarm_dwarf_search_unwind_table: e->fde_offset = 34, segbase = 0,
debug_frame_base = 3f730, fde_addr = 3f764
 >_ULarm_init_local: (cursor=0xbeb37b70)
 >_ULarm_step: (cursor=0xbeb37b70)
 >_ULarm_step: dwarf_step()=1
 >_ULarm_step: (cursor=0xbeb37b70)
 >_ULarm_step: dwarf_step()=1
 >_ULarm_step: (cursor=0xbeb37b70)
 >_ULarm_step: dwarf_step()=1
 >_ULarm_step: (cursor=0xbeb37b70)
 >_ULarm_step: (cursor=0xbeb37b70)
 >_ULarm_dwarf_search_unwind_table: e->fde_offset = e748, segbase =
4238d000, debug_frame_base = 71440, fde_addr = 7fb88
 >_ULarm_step: dwarf_step()=1
 >_ULarm_step: (cursor=0xbeb37b70)
 >_ULarm_step: dwarf_step()=-10
Segmentation fault

  It's curious that the e->fde_offset changes from 34 to e748 and
segbase from 0 to 4238d000.

Thank you.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.15 (GNU/Linux)

iEYEARECAAYFAk+RMlYACgkQwMPeuqUCg9xaVwCfXugV7c2SZLIkwfM2SDHHVvHa
s14Anj6xaznCSiSOSc3+ezU5NGaWrO+d
=3xOe
-----END PGP SIGNATURE-----

WARNING / LEGAL TEXT: This message is intended only for the use of the
individual or entity to which it is addressed and may contain
information which is privileged, confidential, proprietary, or exempt
from disclosure under applicable law. If you are not the intended
recipient or the person responsible for delivering the message to the
intended recipient, you are strictly prohibited from disclosing,
distributing, copying, or in any way using this message. If you have
received this communication in error, please notify the sender and
destroy and delete any copies you may have received.

http://www.bsc.es/disclaimer



reply via email to

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