[MLton] segfault/assertion with mark-compact gc
Matthew Fluet
matthew.fluet at gmail.com
Wed May 12 08:02:15 PDT 2010
I was trying to bootstrap SVN HEAD on Ubuntu 10.04 (running in VMWare
Fusion), using 20091212~svn-r7383 from the Debian/Ubuntu packages as
the baseline compiler. This resulted in a segmentation fault
somewhere early in the "toMachine" pass. However, compiling
/mlton/mlton.mlb directly from the command-line (i.e., not through
make), did successfully compile. But, bootstrapping with that
compiler again resulted in a segmentation fault (but, somewhere else
in the SSA optimization passes). After a bit of tweaking with
gc-messages and using the debug runtime, it seems that a mark-compact
gc corrupts the heap, resulting in an "assert (1 == (header &
GC_VALID_HEADER_MASK))".
Has anyone else observed this? I can't reproduce the error on
x86-darwin, even if I tweak the runtime to always use the mark-compact
gc. However, I can regularly reproduce it in this x86-linux virtual
machine.
More information about the MLton
mailing list