old die.sml segfault bug

Stephen Weeks MLton@sourcelight.com
Thu, 7 Feb 2002 10:33:56 -0800


> I  re-ran  the  original failing program (not the small version) and with the
> compiler I just checked out  from  the  repository  it  runs  out  of  memory
> correctly but with the 2001-10-06 release it segfaults.  We know that one bug
> got fixed (the array size being a bit or two too big), but I wish I had  more
> confidence that there aren't any other bugs here.  After all, all it takes is
> for the compiler to have changed enough that the gc  happens  at  a  slightly
> different  point,  or  that the live variables are slightly different, and it
> must just have been perturbed, but not killed.  Any ideas in things  to  try?
> I could just try different max-heap sizes, which definitely changes where the
> GCs happen.

There have been many changes since 20011006: the array size bugfix,
new limit check insertion, a major rewrite of the backend including
new liveness computation, etc.  With all of these changes, if your
program passes all the stress tests that Matthew mentioned for the
current compiler, I'd say that it is not worth trying to debug a four
month old version to find a bug that may or may not exist.  Now that I
have a machine with >1G virtual memory, I'll try to be a bit quicker
about catching such bugs in the future.

BTW, Henry, while I was looking through the old mail related to this
bug, I saw the following oblique comment made by you

> I also have 5-line fix for the memory sizing.  The current code
> doesn't work on Rico's machines because he has 4 gig of RAM (bigger
> than an int).

What is this fix and is it still applicable?  If so, could you please
check it in.