segfault/assertion with mark-compact gc

Matthew Fluet <[email protected]>
Newsgroups gmane.comp.lang.ml.mlton.devel
Message-ID <[email protected]>
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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.