Hi all,

we have a weird problem here. In a c file, right after one call of 'caml_alloc_custom', some old information we have in memory is gone, then we have the segmentation fault because the code try to access those informations later.

 turn on debug message with OCAMLRUNPARAM, get this right before it crash.

......
$Starting new major GC cycle
Marking 9223372036854775807 words
Subphase = 10
Sweeping 9223372036854775807 words
Compacting heap...
Shrinking heap to 37696k bytes
Shrinking heap to 36704k bytes
Shrinking heap to 35712k bytes
Shrinking heap to 34720k bytes
Shrinking heap to 33728k bytes
Shrinking heap to 32736k bytes
Shrinking heap to 31744k bytes
Shrinking heap to 30752k bytes
done.

is it possible that the ocaml garbage collection free memory that is still in use?

the data cause this is kind of big, it doesn't happen right away,and it doesn't happen on every machine (linux with ocaml4 is fine, ocaml3.xx is not. mac with ocaml4 still shows the problem though).

any suggestion is appreciated.


Thanks,
Lin 


=======================
American Museum of Natural History
POY website : 
https://code.google.com/p/poy/
http://research.amnh.org/scicomp/scripts/download.php