[MLton-devel] Blocking bug under Cygwin

Stephen Weeks MLton@mlton.org
Wed, 29 Jan 2003 09:52:07 -0800

>    We have a sporadic crash with one of our executables generated by 
> MLTON under Cygwin.
> This crash is blocking the future release of the Windows version of our 
> product.
> The symptom is a segfault. When recompiled with debug true and gc-check 
> every, I got:
> > gc.c 1129: assert(1 == (header & 1)) failed.
> For production purposes we are using version mlton-20020714 with the 
> partial integration of the
> modifications performed in August.
> What can we do ?
> Thanks for your help.

It would be helpful to know if the assertion failure occurred coming
into a gc, during a gc, or leaving a gc.  If you run with @MLton
gc-messages --, we should be able to determine this.  With -gc-check
every, coming into a gc almost certainly means compiler bug, while the
latter two almost certainly mean gc bug.

In the meantime, I will look at changes since 20020714 to see what
segfaults have been fixed.  There have been quite a few changes
though.  Can you please try with 20020923, which is more stable, and
with 20021122, to see if they exhibit the same problem.  That will
give me some idea of if the bug was already fixed, and if so, when.

I am also planning a new Cygwin snapshot shortly.  There were a lot of
improvements to backend IL type checking that went in in the last two
months.  On the off chance that the problem still remains, it will be
interesting to try that snapshot.

One other experiment to try is to compile -native false, if feasible.
That could help us rule out a codegen bug.

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