기존의 코코아 애플리케이션에 모노 런타임을 임베드합니다. 나는 몇 가지 관리 코드를 실행 한 후 GitHub의 (마스터 지점) 및 종료 응용 프로그램의 최신 런타임을 구축 한 것은 나에게주는 이것을 mono_jit_cleanup()시 :임베디드 모노 : mono_jit_cleanup() 호출시 EXC_BAD_ACCESS (SIGSEGV)
https://dl.dropbox.com/u/108566029/BAD_ACCESS.png
내가 통해 HTTP 요청을 보내려고 할 때 그것은 단지 재현 것 HttpWebRequest. 특히 GetRequestStream()을 호출하면. 코드가 제대로 작동하고 모든 관리되는 개체가 올바르게 삭제됩니다. mono_jit_cleanup()은 한 번만 호출됩니다. 이 문제는 런타임을 종료하는 동안에 만 발생합니다.
이 또한 최신 Mono 2.10.x 분기에서도 재생됩니다. 그러나 나는 SIGSEGV를 얻는다.
이것은 다른 위치에서 발생할 수 있으므로 스레딩 문제로 보입니다.
그렇다면 어떻게 런타임을 올바르게 종료해야합니까? mon_jit_cleanup() 호출로 런타임을 올바르게 처리 할 수 있습니까? 그리고 런타임을 처리하지 않고 애플리케이션을 종료 할 수 있습니까 (mono_jit_cleanup() 호출 없음)?
P.S.
OSX 10.8.3에서 Mono v2.0 (실제로 3.5) 런타임의 32 비트 빌드를 사용하고 있습니다. libmono-2.0.1.dylib와 연결되므로 Boehm GC 여야합니다. 같은 문제가 SGen GC에서도 재현됩니다.
PPS
는 여기에 또 다른 오류 https://dl.dropbox.com/u/108566029/SIGABRT.png