它完美地工作在Lion上OCaml的方案未能在山獅,OCaml中運行時代碼段錯誤啓動時:爲什麼OCaml二進制文件在Mac OS X 10.8(Mountain Lion)上崩潰?
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: 13 at address: 0x0000000000000000
0x00007fff908e1f88 in large_malloc()
它完美地工作在Lion上OCaml的方案未能在山獅,OCaml中運行時代碼段錯誤啓動時:爲什麼OCaml二進制文件在Mac OS X 10.8(Mountain Lion)上崩潰?
Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: 13 at address: 0x0000000000000000
0x00007fff908e1f88 in large_malloc()
有當回溯啓用似乎是一個普遍的問題與本機編譯(ocamlopt
)OCaml的運行時間這對山獅來說是新的。此相同的崩潰影響的任何 OCaml的二進制它們是啓動:
OCAMLRUNPARAM=b
)這甚至包括部件OCaml編譯器工具鏈本身在升級到10.8後會突然停止工作。
這仍然影響OCaml SVN中繼(4.01.dev)as of 2012-07-19。
解決方法是在使用本機編譯的二進制文件(未設置OCAMLRUNPARAM
或從參數字符串中刪除b
)禁用回溯。
更新:
底層錯誤似乎是由於在OCaml中運行時實現不足堆棧對齊。自從原來的帖子以來,這個現在正在跟蹤並修復on the OCaml bug tracker。然而,現在,解決方法仍然是唯一的簡單選擇。
問題可能需要解決,OCaml的bug追蹤器中有一個解釋和補丁here。
我不認爲你會在這裏得到任何答案。關注那裏的東西http://caml.inria.fr/mantis/view.php?id=5700 – 2012-08-01 17:44:16
你是對的。我已經添加了對錯誤的引用和解釋,因爲它現在是。我仍然認爲保持公開的解決方法很有用。 – jrk 2012-08-03 04:43:53