Hi, here is a simple C-function: CAMLprim value getparam(value request, value key) { CAMLparam2(request, key); const char * result; CAMLreturn(key); /* 1 */ CAMLreturn(caml_copy_string("test")); /* 2 */ } Version 1 returns the key and everything works (except that key is not what I need.) Version 2 calls caml_copy_string and this fails. Has anybody a idea why? OCaml Version is 3.08.0. Thanks for help, Christoph Bauer