<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">You may not be out of the woods yet.  <div class=""><br class=""></div><div class="">We build our own 64 bit Mono framework.  I also saw that patch and built both 4.0.2.x and 4.0.4.x 64 bit binaries of Mono.framework with the patch.  Sure enough, our app no longer crashed at start up.  However, I discovered a different issue when debugging one of our own problems.  If I single stepped through our program and hovered over a variable to see it’s value (Xcode shows the value in a popup bubble), then *Xcode* immediately crashed.</div><div class=""><br class=""></div><div class="">I backed out that patch and the Xcode crash went away.</div><div class=""><br class=""></div><div class="">This is worrisome. In the patched code, Mono is determining offsets into the pthread private data structures and presumably writing into those structures.  Looks like something else is going awry in this implementation.</div><div class=""><br class=""></div><div class="">
Marlin Prowell<br class="">Robert McNeel & Associates<br class=""><br class=""><br class="">

</div>
<br class=""><div><blockquote type="cite" class=""><div class="">On Nov 5, 2015, at 2:34 PM, Dave Burnard <<a href="mailto:dburnard@adobe.com" class="">dburnard@adobe.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">

<meta http-equiv="Content-Type" content="text/html; charset=us-ascii" class="">

<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
<div class="">For us, This has been fixed by Xamarin in v4.0.4.4 of the MonoSDK. There is a comment in the mono source that says</div>
"* Apple now loads a different version of pthread_getspecific when launched from Xcode"  and they look for a different sequence of instructions. Eww...
<div class=""><br class="">
</div>
<div class="">Now back to debugging, yay!<br class="">
<div class=""><br class="">
</div>
<div class="">DaveB<br class="">
<div class=""><br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On Oct 30, 2015, at 12:48 PM, Dave Burnard <<a href="mailto:dburnard@adobe.com" class="">dburnard@adobe.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
FWIW: Here's what we see with our ElCap crash:
<div class=""><br class="">
</div>
<div class="">
<div class="" style="font-family: Calibri, sans-serif; font-size: 14px;">Here's what I see in Xcode's (6.X OR 7.0) lldb window using mono 4.0.4 (using mono4.2.1 shows similar results):</div>
<div class="" style="font-family: Calibri, sans-serif; font-size: 14px;"><br class="">
</div>
<div class="" style="font-family: Calibri, sans-serif; font-size: 14px;">(lldb) monobt<br class="">
* thread #1<br class="">
    frame #0: 0x121d8653d (wrapper managed-to-native) object:__icall_wrapper_mono_object_new_fast (intptr) + 0x7d (0x121d864c0 0x121d8654e) [0x11a036840 - .]<br class="">
  * frame #1: 0x0000000107e881e9 libmonosgen-2.0.1.dylib`mono_jit_runtime_invoke(method=<unavailable>, obj=0x0000000000000000, params=0x0000000000000000, exc=0x000000011a977968) + 1641 at mini.c:6683<br class="">
    frame #2: 0x000000010803596e libmonosgen-2.0.1.dylib`mono_runtime_invoke(method=0x000000011a931e38, obj=0x0000000000000000, params=0x0000000000000000, exc=0x00007fff5fbfe860) + 110 at object.c:2862<br class="">
    frame #3: 0x0000000108035e6e libmonosgen-2.0.1.dylib`mono_runtime_class_init_full(vtable=0x000000011a977838, raise_exception=0) + 798 at object.c:384<br class="">
    frame #4: 0x0000000107e856b5 libmonosgen-2.0.1.dylib`mono_jit_compile_method_with_opt [inlined] mono_jit_compile_method_inner(method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0,
 method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0,
 method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0,
 method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0,
 method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0,
 method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, method=0x000000011a72d7b0, opt=<unavailable>) + 994 at mini.c:6164<br class="">
    frame #5: 0x0000000107e852d3 libmonosgen-2.0.1.dylib`mono_jit_compile_method_with_opt(method=<unavailable>, opt=<unavailable>, ex=0x00007fff5fbfeb98) + 2851 at mini.c:6244<br class="">
    frame #6: 0x0000000107e87cfa libmonosgen-2.0.1.dylib`mono_jit_runtime_invoke(method=0x000000011a72d7b0, obj=0x0000000000000000, params=0x00007fff5fbfee38, exc=0x0000000000000000) + 378 at mini.c:6519<br class="">
    frame #7: 0x000000010803596e libmonosgen-2.0.1.dylib`mono_runtime_invoke(method=0x000000011a72d7b0, obj=0x0000000000000000, params=0x00007fff5fbfee38, exc=0x0000000000000000) + 110 at object.c:2862<br class="">
    frame #8: 0x000000010803b138 libmonosgen-2.0.1.dylib`mono_runtime_exec_main(method=0x000000011a72d7b0, args=<unavailable>, exc=0x0000000000000000) + 376 at object.c:4119<br class="">
    frame #9: 0x00000001000acff2 MyApp`DotNet::Init(runtimeVersion=0x0000000100c19c64) + 674 at DotNetMac.cpp:87<br class="">
    frame #10: 0x000000010002e591 MyApp `MyApp::PostInitApplication(this=0x00007fff5fbff4c8, appInitArgs=0x00007fff5fbff628) + 2577 at MyApp.cpp:472<br class="">
    frame #11: 0x000000010002d9a4 MyApp `MyApp::InitApplication(this=0x00007fff5fbff4c8, appInitArgs=0x00007fff5fbff628) + 164 at MyApp.cpp:427<br class="">
    frame #12: 0x0000000106549c7d MyApp `AppBase::Initialize(this=0x00007fff5fbff4c8, inAppInitArgs=0x00007fff5fbff628) + 2221 at AppBase.cpp:248<br class="">
    frame #13: 0x000000010000272c MyApp `RunApp() + 428 at MyApp.cpp:51<br class="">
    frame #14: 0x0000000100002513 MyApp `main(argc=3, argv=0x00007fff5fbff6c0) + 51 at Muse.cpp:70<br class="">
    frame #15: 0x00007fff85a8f5ad libdyld.dylib`start + 1<br class="">
<br class="">
</div>
<div class="" style="font-family: Calibri, sans-serif; font-size: 14px;"><br class="">
</div>
<div class="" style="font-family: Calibri, sans-serif; font-size: 14px;">
<div class=""><span id="cid:F3E2F9FC-FC96-4322-B5B4-42A69F90333F@corp.adobe.com" class=""><Screen Shot 2015-10-05 at 11.47.17 AM.png></span><br class="">
<br class="">
</div>
</div>
<div class="">
<blockquote type="cite" class="">
<div class="">On Oct 6, 2015, at 11:49 AM, Adrian McCague <<a href="mailto:amccague@gmail.com" class="">amccague@gmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div class="">I have a similar issue as well, I did not observe this with OSX 10.10<br class="">
(all flavours), OSX 10.11 Beta 1 or 2 (can't remember which I upgraded<br class="">
from). Now seeing this in the final release of El Capitan.<br class="">
<br class="">
I am not using mono_jit_exec but instead mono_runtime_invoke to invoke<br class="">
a class constructor in a DLL assembly. The LLVM debugger in XCode is<br class="">
hitting an EXC_BAD_ACCESS (even for an empty constructor), which is<br class="">
usually seen together with a NullReferenceException for obvious reasons.<br class="">
<br class="">
Upon detaching the debugger and allowing Mono to continue execution,<br class="">
this is output to the console:<br class="">
<br class="">
<blockquote type="cite" class="">Unhandled Exception:<br class="">
Nested exception detected.<br class="">
Original Exception: at (wrapper managed-to-native) object.__icall_wrapper_mono_array_new_specific (intptr,int) <0x00086><br class="">
at System.TypeInitializationException..ctor (string,System.Exception) <0x00033><br class="">
<br class="">
Nested exception:at (wrapper managed-to-native) System.RuntimeType.getFullName (System.RuntimeType,bool,bool) <0x00094><br class="">
at System.RuntimeType.ToString () <0x00018><br class="">
at System.Exception.get_ClassName () <0x00027><br class="">
at System.Exception.ToString () <0x0001c><br class="">
<br class="">
[ERROR] FATAL UNHANDLED EXCEPTION: Nested exception detected.<br class="">
Original Exception: at (wrapper managed-to-native) object.__icall_wrapper_mono_array_new_specific (intptr,int) <0x00086><br class="">
at System.TypeInitializationException..ctor (string,System.Exception) <0x00033><br class="">
<br class="">
Nested exception:at (wrapper managed-to-native) System.RuntimeType.getFullName (System.RuntimeType,bool,bool) <0x00094><br class="">
at System.RuntimeType.ToString () <0x00018><br class="">
at System.Exception.get_ClassName () <0x00027><br class="">
at System.Exception.ToString () <0x0001c><br class="">
</blockquote>
<br class="">
Execution is fine using the same build but without attaching the<br class="">
debugger. It is safe to attach the debugger after mono_runtime_invoke<br class="">
has been called.<br class="">
<br class="">
Have tried with both Mono 4.2.0 and 4.2.1<br class="">
_______________________________________________<br class="">
Mono-osx mailing list<br class="">
<a href="mailto:Mono-osx@lists.ximian.com" class="">Mono-osx@lists.ximian.com</a><br class="">
<a href="http://lists.ximian.com/mailman/listinfo/mono-osx" class="">http://lists.ximian.com/mailman/listinfo/mono-osx</a><br class="">
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</div>

_______________________________________________<br class="">Mono-osx mailing list<br class=""><a href="mailto:Mono-osx@lists.ximian.com" class="">Mono-osx@lists.ximian.com</a><br class="">http://lists.ximian.com/mailman/listinfo/mono-osx<br class=""></div></blockquote></div><br class=""></body></html>