[plt-scheme] DrScheme/mred segfault

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Wed Mar 19 10:02:01 EDT 2008

At Tue, 18 Mar 2008 13:37:34 -0400 (EDT), Danny Yoo wrote:
> I've been running into a situation where memory doesn't appear to be 
> reclaimed between calls to Run.  I haven't traced yet where the memory 
> leak is coming from.  Occassionaly, I also see a segmentation fault. 

Thanks for the bug report and the example code.

There were two problems:

 * A race condition in on-demand loading of code and syntax objects,
   which could lead to a crash if two threads demanded pieces of the
   same module.

 * An incorrect implementation of will executors. When a will refers to
   the object that it's supposed to finalize, the will never becomes
   ready to execute; furthermore (and this was the bug), the will is
   never released by the GC, even if the will executor is otherwise
   inaccessible. This is easily fixed through an internal use of
   ephemerons.

Both bugs are fixed in SVN.

Matthew



Posted on the users mailing list.