[Haskell-cafe] RE: Examining the Haskell stack (read at your own risk ; -))

Simon Marlow simonmar at microsoft.com
Fri Dec 2 09:08:09 EST 2005


On 02 December 2005 14:03, Joel Reymont wrote:

> You told me a bit about how to examine the Haskell stack by looking
> at R22 on the PowerPC and $ebx on Intel architectures. I looked at
> your .gdbinit but could not figure out which macros are to be used.
> 
> The example below is a bit contrived in that I'm freeing the SSL
> context twice, on purpose. I tried getting a disassembler dump using
> the contents of R22 without luck:
> 
> (gdb) info registers r22
> r22            0x137a3cc        20423628
> (gdb) disas 0x137a3cc
> No function contains specified address.
> 
> This is my stack trace:
> 
> Program received signal EXC_BAD_ACCESS, Could not access memory.
> Reason: KERN_PROTECTION_FAILURE at address: 0x00000019
> 0x00568fe0 in sk_pop_free ()
> (gdb) where
> #0  0x00568fe0 in sk_pop_free ()
> #1  0x0059f128 in X509_VERIFY_PARAM_free ()
> #2  0x003c4d5c in SSL_free ()
> #3  0x000c3254 in r7cH_info ()
> #4  0x000ccd04 in schedule (mainThread=0x13f3f18,
> initialCapability=0x578df0) at Schedule.c:932
> #5  0x000cdcac in waitThread_ (m=0x1100360, initialCapability=0x0) at
> Schedule.c:2156
> #6  0x000cdb90 in scheduleWaitThread (tso=0x13c0000, ret=0x0,
> initialCapability=0x0) at Schedule.c:2050
> #7  0x0001ff0c in rts_evalLazyIO (p=0x1ce0c8, ret=0x0) at RtsAPI.c:459
> #8  0x0000495c in main (argc=25, argv=0x578df0) at Main.c:104
> (gdb) info registers r22
> r22            0x137a3cc        20423628
> (gdb) disas 0x137a3cc
> No function contains specified address.

It looks like your crash happened in the SSL library, and you have a
useful stack trace there.

r22 is a pointer to the stack, not a pointer to code, so you can't
disassemble it, you need to display memory (as I described in separate
mail).

Cheers,
	Simon



More information about the Haskell-Cafe mailing list