[MLton] Crash "Vector.foldi2From" with MLton 20070826
Matthew Fluet
fluet at tti-c.org
Mon Sep 8 08:54:18 PDT 2008
On Mon, 8 Sep 2008, Nicolas Bertolotti wrote:
> I am facing the following crash :
> removeUnused4 starting
> removeUnused4 raised in 0.09 + 0.00 (0% GC)
> ssaSimplify raised in 78.67 + 14.34 (15% GC)
> pre codegen raised in 120.05 + 29.36 (20% GC)
> Compile SML raised in 120.05 + 29.36 (20% GC)
> MLton raised in 120.06 + 29.36 (20% GC)
> Vector.foldi2From
>
> Unfortunately, I can not identify a simple change in the code that
> caused the crash because it appeared after we implement a complex change
> in order to reduce the complexity of some big data types.
>
> You will find the full build log in attachment.
Logs are significantly less helpful than example programs.
> Also note that the crash is still reproducible using a compiler built from a recent checkout from the SVN trunk.
>
> Any idea is welcome.
If there is an internal compiler error, always try compiling with
'-type-check true'. An error like the above is usually indicative of the
IL program being ill-formed. For example, Vector.foldi2From is used by
Vector.foreach, which is used by removeUnused to process matching vectors
of actuals and formals; a mismatch in the lengths of the actuals and
formals triggers the error in Vector.foldi2From, but the real error is
that the IL is ill-formed: the lengths of the actuals and formals in a
well-typed IL program should always be equal. If the IL program is
ill-formed, then the bug is actually an earlier pass that produced an
ill-formed program. Compiling with '-type-check true' should reveal which
pass produced an ill-typed IL program.
More information about the MLton
mailing list