[Larceny-users] Heaps in err5rs: giant heaps, errors loading, extra slow compile with -stopcopy

Ryan Newton newton at csail.mit.edu
Fri May 16 17:27:06 EDT 2008


I've got a large R6RS project.  I'm having problems with compile- 
stale and also with trying to build my libraries incrementally using  
explicit dependencies represented in a makefile.  (I can elaborate on  
that if anyone is curious.)

I *could* load my project all at once from source (in about 5 min).   
They wouldn't give me incremental builds, I was thinking that heaps  
might save me.  Load from source (5 min), dump heap, and then have a  
very fast startup and execution time.

Alas, I'm running into some problems.  First, adding -stopcopy causes  
my system to take not five minutes to load but 43!!  (It takes 43 min  
in either -err5rs or -r6rs mode.)  When it's done it saves a 73  
megabyte heap file.  (Chez saves a 10mb heap file.)

Neither of those problems are necessarily total show stoppers.  But  
then I get an error on load:

[newton at honor ~/wavescript/src]  $ larceny -heap larc.heap
Larceny v0.961 "Fluoridation" (May  8 2008 16:17:32,  
precise:Linux:unified)
Larceny Panic: Sys/alloc.c;368: Assertion failed.
Aborted

When I try with smaller examples, not loading so much stuff, then  
loading from heap works.  But it dies with the 73mb heap file.

Looking at the code, here is the assert line:

   assert( dest < slots &&
           dest+data.descriptor_slots-1 < slots );

-Ryan




More information about the Larceny-users mailing list