[MLton-devel] Blocking bug under Cygwin

Stephen Weeks MLton@mlton.org
Wed, 29 Jan 2003 10:18:33 -0800

> Here is the log, which seem to indicate that the problem occurs curing GC.
> /tmp/file23ytoh.0.s 0: doGC
> Starting gc.  bytesRequested = 0
> Copying GC.
> fromSpace = 780000  toSpace = 7c0000
> fromSpace size = 909,312  toSpace size = 909,312
> gc.c 1129: assert(1 == (header & 1)) failed.

Good.  That narrows it down.  Next, can you try compiling the runtime
after setting DEBUG = TRUE in gc.c.  That will print a lot, and I may
be able to glean something from it.

> OK, I am installing 20020923. Or should we try the November version 
> directly ?

I would rate 20020923 as more stable and more tested.  But I would
like you to try both.

I would guess that with the small heap size you have that this won't
work, but another thing to try is to play with the amount of memory
that the runtime is seeing, via @MLton ram-slop, and see whether the
problem remains or goes away.  Another thing to try is to see if you
can recreate the problem on Linux.  The important thing to do this is
to make sure that both versions of the program are seeing the same
amount of memory.  Assuming your Linux machine has more memory, you
should be able to do this with an appropriate setting of ram-slop.
The goal is to get the "ram = ..." amount in the message at the
beginning of the run to be the same.

Another question: does the program use signals?  That is one place
where I don't entirely trust Cygwin.

This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
MLton-devel mailing list