bug in src/backend/limit-check.fun

Stephen Weeks sweeks@wasabi.epr.com
Tue, 16 Nov 1999 21:36:08 -0800 (PST)


> Did you actually see a death, or just read the code?

DEATH (i.e. seg fault).  It took me about 5 hours to track down the
bug from the time of death.  I had a program which MLton compiled down
to a triply nested loop, where one of the loop headers was missing a
limit check.  The program was using a worklist, so there was
allocation for consing new tuples onto the worklist, but that was the
only allocation going on.  This loop ran for about 10 seconds before
the seg fault.

I've now got some more asserts in mlton-lib.h so that (when compiling
-g) similar bugs will lead to an assertion failure.