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.