Dear Member of the OCaml mailing list, The problem about which I reported on this reflector around two weeks ago (array index violation after around 4 days) has in the mean time been solved thanks to the great native function call backtrace for the ocamlopt compiler due to Markus Mottl. Given that my program crashed after 3.7 days, and my program ran around 30x slower in byte code, debugging using byte code was not an option (this slowdown had been similar if I had used _DEBUG mode of a C++ program instead of _RELEASE version). Also, as reported earlier, putting "try ... with " around all attempts to index an array is not feasbile in standard OCaml for array elements in the left hand sides of assignments. A static unhandled exception checker provided on a web page, ran into dead HTML links. Hence, the native function call, which comes at minimal runtime overhead cost, mainly the cost of -inline 0, is a great new feature that would give OCaml another advantage over C++ when added to the OCaml language in a next release. Below I give a toy example : --- nlv13512/TestProgram ---> ls attempt.ml* --- nlv13512/TestProgram ---> cat att* let a = Array.make 2 0;; let f i = i*i;; let g i = a.(i);; let b = f 2;; let c = g 2;; --- nlv13512/TestProgram ---> ocamlopt -inline 0 -gb attempt.ml --- nlv13512/TestProgram ---> a.out Fatal error: exception Invalid_argument("index out of bounds") Native function backtrace: camlAttempt__g_60 camlAttempt__f_58 --- nlv13512/TestProgram ---> =Andries PS The attached patch was provided to me by Markus Mottl for the 3.09.1. release. ------------------------------------------------------------------------ Dr. Ir. Andries P. Hekstra Philips Research High Tech Campus 27 (WL-1-4.15) 5656 AG Eindhoven Tel./Fax/Secr. +31 40 27 42048/42566/44051 * Good open source anti-RSI software : http://www.workrave.org