cygwin だと落ちる件

within_heapp() の "rough conditions" で ptr % sizeof (ScmCell) が間違ってる。glibc とかだと 16 byte aligned な heap が約束されてるから cygwin にならないと発現しにくい模様。
追記: glibc でも 8 だた。何で他では発現しないのかな。

プチ bug

l_heaps_lowest が初期値 NULL なので絶対に更新されない。