Hi! On programming ocaml -> c -> ocaml applications using ocaml thread and C pthread, I met "Segmentation Fault" error on calling ocaml thread -> c function -> c pthread -> callback() function. Test examples are attatched. Could anyone help me? =============== (1) Ocaml thread -> c function let thr_main ch () = let running = ref true in while !running do match (sync (receive ch)) with | Run -> run_cb () | Run_segfault -> run_cb_segfault () | Finish -> running := false done (2) run_cb () is "OK" CAMLprim value run_cb (value unit) { CAMLparam1 (unit); printf("--- run_cb\n"); fflush(stdout); callback(g_closure, Val_unit); CAMLreturn (Val_unit); } (3) run_cb_segfault() generates "Segmentation Fault" void *thr_main (void *arg) { printf("--- thr_main\n"); callback(g_closure, Val_unit); } void create_thr() { pthread_t thr; pthread_create(&thr, NULL, thr_main, NULL); } CAMLprim value run_cb_segfault (value unit) { CAMLparam1 (unit); printf("--- run_cb_segfault\n"); fflush(stdout); create_thr(); CAMLreturn (Val_unit); } --- SooHyoung Oh