[Haskell-cafe] Project postmortem

Joel Reymont joelr1 at gmail.com
Fri Nov 18 05:48:26 EST 2005

On Nov 18, 2005, at 10:17 AM, Simon Peyton-Jones wrote:

> I hope you don't abandon Haskell altogether.  Without steady, friendly
> pressure from applications-end folk like you, things won't improve.

Nah, I'm just having a very frustrating Friday. I think I need some  
direction in which to dig and a bit of patience over the weekend. For  

What does this mean precisely? My take is that the GHC runtime is  
trying to call a C function. this much I gathered from the source  
code. It also seems that since I do not see another library at #0  
then the issue is within GHC. Is that the right take on it?

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x3139322e
0x0027c174 in s8j1_info ()
(gdb) where
#0  0x0027c174 in s8j1_info ()
#1  0x0021c9f4 in StgRunIsImplementedInAssembler () at StgCRun.c:576
#2  0x0021cdc4 in schedule (mainThread=0x1100360,  
initialCapability=0x308548) at Schedule.c:932
#3  0x0021dd6c in waitThread_ (m=0x1100360, initialCapability=0x0) at  
#4  0x0021dc50 in scheduleWaitThread (tso=0x13c0000, ret=0x0,  
initialCapability=0x0) at Schedule.c:2050
#5  0x00219548 in rts_evalLazyIO (p=0x29b47c, ret=0x0) at RtsAPI.c:459
#6  0x001e4768 in main (argc=2262116, argv=0x308548) at Main.c:104

> It's incredibly valuable feedback.  But I can see that when you  
> have to
> deliver something next week you can't wait around for some someone to
> get around to fixing your problem.  (They aren't paid either!)  Maybe
> you can use Haskell for something less mission-critical, so that  
> you can
> keep up the pressure?

I can't change who I am, I just gotta push the envelope. I would not  
have stood the pain of doing this project in Erlang, for example,  
what with all the nested data structures, etc.

I'm not waiting for someone to fix my problem, I would gladly fix it  
myself if I understood where the problem is. It used to be fairly  
clear before when the stack trace pointed to one of the OpenSSL  
libraries. In this particular case I don't even know how to start  
debugging this. Do I set a break point in s8j1_info? But it's  
something else periodically, like s34n_info.

Do I inspect the C code somehow? But how do I do that? How do I debug  
the GHC runtime?

	Thanks, Joel


More information about the Haskell-Cafe mailing list