[Haskell-cafe] Project postmortem
Joel Reymont
joelr1 at gmail.com
Fri Nov 18 10:03:08 EST 2005
On Nov 18, 2005, at 2:47 PM, Simon Marlow wrote:
> That doesn't tell us much unfortunately. Can you send a
> disassembly of
> the block in which the crash happened?
>
> Is it always the same block, BTW? Does changing the heap size (+RTS
> -H<size>) have any effect?
I don't think changing the heap size has any effect. I tried a run
with -H512m and the only difference was that it crashed at 0x00000005
with the same kernel protection failure. The address for s34n_info is
the same, everything else the same, including stack trace and
addresses and offsets in it.
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
0x0024ef88 in s34n_info ()
(gdb) where
#0 0x0024ef88 in s34n_info ()
#1 0x00211eb4 in StgRunIsImplementedInAssembler () at StgCRun.c:576
#2 0x0020f048 in schedule (mainThread=0x1100360,
initialCapability=0x2fd508) at Schedule.c:932
#3 0x0020fff0 in waitThread_ (m=0x1100360, initialCapability=0x0) at
Schedule.c:2156
#4 0x0020fed4 in scheduleWaitThread (tso=0x13c0000, ret=0x0,
initialCapability=0x0) at Schedule.c:2050
#5 0x0020cd70 in rts_evalLazyIO (p=0x29216c, ret=0x0) at RtsAPI.c:459
#6 0x001d80fc in main (argc=2212180, argv=0x2fd508) at Main.c:104
(gdb) disas 0x0024ef88
Dump of assembler code for function s34n_info:
0x0024ef70 <s34n_info+0>: mr r10,r25
0x0024ef74 <s34n_info+4>: addi r9,r25,8
0x0024ef78 <s34n_info+8>: mr r25,r9
0x0024ef7c <s34n_info+12>: cmplw cr7,r9,r26
0x0024ef80 <s34n_info+16>: bgt- cr7,0x24efb4 <s34n_info+68>
0x0024ef84 <s34n_info+20>: lwz r2,4(r14)
0x0024ef88 <s34n_info+24>: lbzx r0,r2,r15
0x0024ef8c <s34n_info+28>: cmpwi cr7,r0,0
0x0024ef90 <s34n_info+32>: bne- cr7,0x24efc4 <s34n_info+84>
0x0024ef94 <s34n_info+36>: lis r2,42
0x0024ef98 <s34n_info+40>: lwz r2,20668(r2)
0x0024ef9c <s34n_info+44>: stw r2,4(r10)
0x0024efa0 <s34n_info+48>: stw r15,0(r9)
0x0024efa4 <s34n_info+52>: addi r14,r9,-4
0x0024efa8 <s34n_info+56>: lwz r29,0(r22)
0x0024efac <s34n_info+60>: mtctr r29
0x0024efb0 <s34n_info+64>: bctr
0x0024efb4 <s34n_info+68>: li r0,8
0x0024efb8 <s34n_info+72>: stw r0,108(r27)
0x0024efbc <s34n_info+76>: lwz r29,-4(r27)
0x0024efc0 <s34n_info+80>: b 0x24efac <s34n_info+60>
0x0024efc4 <s34n_info+84>: addi r15,r15,1
0x0024efc8 <s34n_info+88>: addi r25,r9,-8
0x0024efcc <s34n_info+92>: lis r29,37
0x0024efd0 <s34n_info+96>: addi r29,r29,-4240
0x0024efd4 <s34n_info+100>: b 0x24efac <s34n_info+60>
0x0024efd8 <s34n_info+104>: .long 0x21
0x0024efdc <s34n_info+108>: .long 0x240000
End of assembler dump.
--
http://wagerlabs.com/
More information about the Haskell-Cafe
mailing list