Well, that's not *quite* true. All of the caml_callback* functions cause heap corruption. If you call Gc.compact () after any of them, then it will segfault. Only caml_callback2 segfaults on its own without any help.