Bug 41470 - Overriding PerformSelector (Selector aSelector) on an NSOutlineView causes the app to crash
Summary: Overriding PerformSelector (Selector aSelector) on an NSOutlineView causes th...
Status: RESOLVED ANSWERED
Alias: None
Product: Xamarin.Mac
Classification: Desktop
Component: Library (Xamarin.Mac.dll) ()
Version: Master
Hardware: PC Mac OS
: --- normal
Target Milestone: Future Cycle (TBD)
Assignee: Rolf Bjarne Kvinge [MSFT]
URL:
Depends on:
Blocks:
 
Reported: 2016-06-02 21:29 UTC by Timothy Risi
Modified: 2016-08-18 20:35 UTC (History)
3 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED ANSWERED

Description Timothy Risi 2016-06-02 21:29:07 UTC
The following override on an NSOutlineView will cause an app to crash:

public override NSObject PerformSelector(ObjCRuntime.Selector aSelector)
{
	return base.PerformSelector(aSelector);
}

The same app without the override runs successfully.

Steps to reproduce:

1) Load the OutlineView sample
2) Add a CustomOutlineView class:

using System;
using Foundation;
using AppKit;
namespace OutlineView
{
	[Register ("CustomOutlineView")]
	public class CustomOutlineView : NSOutlineView
	{
		public CustomOutlineView()
		{
		}

		public CustomOutlineView(IntPtr p) : base(p)
		{
		}

		public override NSObject PerformSelector(ObjCRuntime.Selector aSelector)
		{
 			return base.PerformSelector(aSelector);
		}
	}
}

and update the xib to use that class in place of a normal NSOutlineView

3) Run the app

Expected result: The app runs successfully

Actual result: The app crashes with a sigsegv

Stacktrace:

  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) ObjCRuntime.Messaging.IntPtr_objc_msgSend (intptr,intptr) <IL 0x0000a, 0x000f5>
  at ObjCRuntime.Class.GetClassForObject (intptr) [0x0000c] in /Users/Tim/Projects/Xamarin/xamarin-macios-master/xamarin-macios/src/ObjCRuntime/Class.cs:134
  at ObjCRuntime.Runtime.GetNSObject (intptr,ObjCRuntime.Runtime/MissingCtorResolution,bool) [0x0002f] in /Users/Tim/Projects/Xamarin/xamarin-macios-master/xamarin-macios/src/ObjCRuntime/Runtime.cs:1012
  at ObjCRuntime.Runtime.GetNSObject (intptr) [0x00004] in /Users/Tim/Projects/Xamarin/xamarin-macios-master/xamarin-macios/src/ObjCRuntime/Runtime.cs:1000
  at Foundation.NSObject.PerformSelector (ObjCRuntime.Selector) [0x0005c] in /Users/Tim/Projects/Xamarin/xamarin-macios-master/xamarin-macios/src/build/mac/mobile/Foundation/NSObject.g.cs:748
  at OutlineView.CustomOutlineView.PerformSelector (ObjCRuntime.Selector) [0x00003] in /Users/Tim/Projects/Xamarin/mac-samples/OutlineView/OutlineView/CustomOutlineView.cs:19
  at (wrapper runtime-invoke) <Module>.runtime_invoke_object__this___object (object,intptr,intptr,intptr) <IL 0x00022, 0x00169>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) ObjCRuntime.Messaging.IntPtr_objc_msgSendSuper (intptr,intptr) <IL 0x0000a, 0x000f5>
  at AppKit.NSWindowController.get_Window () [0x0003a] in /Users/Tim/Projects/Xamarin/xamarin-macios-master/xamarin-macios/src/build/mac/mobile/AppKit/NSWindowController.g.cs:591
  at OutlineView.MainWindowController.get_Window () [0x00002] in /Users/Tim/Projects/Xamarin/mac-samples/OutlineView/OutlineView/MainWindowController.cs:104
  at OutlineView.AppDelegate.DidFinishLaunching (Foundation.NSNotification) [0x00012] in /Users/Tim/Projects/Xamarin/mac-samples/OutlineView/OutlineView/AppDelegate.cs:21
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void__this___object (object,intptr,intptr,intptr) <IL 0x00022, 0x00169>
  at <unknown> <0xffffffff>
  at (wrapper managed-to-native) AppKit.NSApplication.NSApplicationMain (int,string[]) <IL 0x0005a, 0x00321>
  at AppKit.NSApplication.Main (string[]) [0x00041] in /Users/Tim/Projects/Xamarin/xamarin-macios-master/xamarin-macios/src/AppKit/NSApplication.cs:94
  at OutlineView.MainClass.Main (string[]) [0x00007] in /Users/Tim/Projects/Xamarin/mac-samples/OutlineView/OutlineView/Main.cs:14
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) <IL 0x00051, 0x002fd>

Native stacktrace:


Debug info from gdb:

(lldb) command source -s 0 '/tmp/mono-gdb-commands.AUq5xv'
Executing commands in '/tmp/mono-gdb-commands.AUq5xv'.
(lldb) process attach --pid 2678
Process 2678 stopped
* thread #1: tid = 0x4b77f, 0x00007fff9ede4582 libsystem_kernel.dylib`__wait4 + 10, name = 'tid_160b', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
    frame #0: 0x00007fff9ede4582 libsystem_kernel.dylib`__wait4 + 10
libsystem_kernel.dylib`__wait4:
->  0x7fff9ede4582 <+10>: jae    0x7fff9ede458c            ; <+20>
    0x7fff9ede4584 <+12>: movq   %rax, %rdi
    0x7fff9ede4587 <+15>: jmp    0x7fff9edde7f2            ; cerror
    0x7fff9ede458c <+20>: retq   

Executable module set to "/Users/Tim/Projects/Xamarin/mac-samples/OutlineView/OutlineView/bin/Debug/OutlineView.app/Contents/MacOS/OutlineView".
Architecture set to: x86_64h-apple-macosx.
(lldb) thread list
Process 2678 stopped
* thread #1: tid = 0x4b77f, 0x00007fff9ede4582 libsystem_kernel.dylib`__wait4 + 10, name = 'tid_160b', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  thread #2: tid = 0x4b783, 0x00007fff9ede4efa libsystem_kernel.dylib`kevent_qos + 10, queue = 'com.apple.libdispatch-manager'
  thread #3: tid = 0x4b784, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
  thread #4: tid = 0x4b786, 0x00007fff9ede3db6 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'SGen worker'
  thread #5: tid = 0x4b788, 0x00007fff9edddfae libsystem_kernel.dylib`semaphore_wait_trap + 10, name = 'Finalizer'
  thread #6: tid = 0x4b789, 0x00007fff9ede3fba libsystem_kernel.dylib`__recvfrom + 10, name = 'Debugger agent'
  thread #7: tid = 0x4b78b, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
  thread #8: tid = 0x4b7b5, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
  thread #9: tid = 0x4b7b6, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
  thread #10: tid = 0x4b7bb, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
  thread #11: tid = 0x4b7bc, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
  thread #12: tid = 0x4b7bd, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
  thread #13: tid = 0x4b7be, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
(lldb) thread backtrace all
warning: could not load any Objective-C class information. This will significantly reduce the quality of type information available.
* thread #1: tid = 0x4b77f, 0x00007fff9ede4582 libsystem_kernel.dylib`__wait4 + 10, name = 'tid_160b', queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
  * frame #0: 0x00007fff9ede4582 libsystem_kernel.dylib`__wait4 + 10
    frame #1: 0x0000000100109371 OutlineView`mono_handle_native_sigsegv(signal=<unavailable>, ctx=<unavailable>, info=<unavailable>) + 433 at mini-exceptions.c:2425 [opt]
    frame #2: 0x0000000100077cda OutlineView`mono_arch_handle_altstack_exception(sigctx=0x00000001005eef48, siginfo=<unavailable>, fault_addr=<unavailable>, stack_ovf=0) + 90 at exceptions-amd64.c:795 [opt]
    frame #3: 0x0000000100116808 OutlineView`mono_sigsegv_signal_handler(_dummy=<unavailable>, _info=<unavailable>, context=<unavailable>) + 440 at mini-runtime.c:2853 [opt]
    frame #4: 0x00007fff8b82052a libsystem_platform.dylib`_sigtramp + 26
    frame #5: 0x00007fff9e488391 libobjc.A.dylib`object_getClass + 28
    frame #6: 0x000000010001435a OutlineView`xamarin_get_frame_length(self=0x00000000000000d8, sel="class") + 58 at trampolines.m:281
    frame #7: 0x0000000100018acc OutlineView`xamarin_dyn_objc_msgSend + 92
    frame #8: 0x000000010f068936
    frame #9: 0x000000010011969a OutlineView`mono_jit_runtime_invoke(method=<unavailable>, obj=<unavailable>, params=0x00007fff5fbfbcb0, exc=<unavailable>, error=0x00007fff91ac5b33) + 2186 at mini-runtime.c:2540 [opt]
    frame #10: 0x00000001001ca572 OutlineView`do_runtime_invoke(method=0x00000001011101c8, obj=0x00000001050d0f60, params=0x00007fff5fbfbcb0, exc=0x00007fff5fbfc120, error=0x00007fff5fbfbc18) + 114 at object.c:2950 [opt]
    frame #11: 0x00000001001ca466 OutlineView`mono_runtime_invoke [inlined] mono_runtime_try_invoke(method=<unavailable>, obj=0x00000001050d0f60, params=0x00007fff5fbfbcb0, exc=0x00007fff5fbfc120, error=<unavailable>) + 61 at object.c:3063 [opt]
    frame #12: 0x00000001001ca429 OutlineView`mono_runtime_invoke(method=0x00000001011101c8, obj=0x00000001050d0f60, params=0x00007fff5fbfbcb0, exc=0x00007fff5fbfc120) + 41 at object.c:3003 [opt]
    frame #13: 0x00000001000166f1 OutlineView`xamarin_invoke_trampoline(type=Tramp_Default, self=0x000000010d595c10, sel="performSelector:", iterator=(OutlineView`param_iter_next(IteratorAction, void*, char const*, unsigned long, void*) at trampolines-x86_64.m:236), marshal_return_value=(OutlineView`marshal_return_value(void*, char const*, unsigned long, void*, _MonoType*, bool, _MonoMethod*) at trampolines-x86_64.m:300), context=0x00007fff5fbfc198) + 5201 at trampolines-invoke.m:383
    frame #14: 0x000000010001766d OutlineView`xamarin_arch_trampoline(state=0x00007fff5fbfc1e0) + 189 at trampolines-x86_64.m:527
    frame #15: 0x00000001000189c1 OutlineView`xamarin_x86_64_common_trampoline + 110
    frame #16: 0x00007fff916f0cef CoreFoundation`-[NSSet makeObjectsPerformSelector:] + 223
    frame #17: 0x00007fff9d867efd AppKit`-[NSIBObjectData nibInstantiateWithOwner:options:topLevelObjects:] + 1142
    frame #18: 0x00007fff9d85ee91 AppKit`loadNib + 384
    frame #19: 0x00007fff9d85e3b7 AppKit`+[NSBundle(NSNibLoading) _loadNibFile:nameTable:options:withZone:ownerBundle:] + 300
    frame #20: 0x00007fff9daced35 AppKit`+[NSBundle(NSNibLoadingInternal) _loadNibFile:externalNameTable:options:withZone:] + 150
    frame #21: 0x00007fff9daceaed AppKit`-[NSWindowController loadWindow] + 310
    frame #22: 0x00007fff9d8ac524 AppKit`-[NSWindowController window] + 80
    frame #23: 0x0000000100018c6c OutlineView`xamarin_dyn_objc_msgSendSuper + 220
    frame #24: 0x000000010f064196
    frame #25: 0x000000010011969a OutlineView`mono_jit_runtime_invoke(method=<unavailable>, obj=<unavailable>, params=0x00007fff5fbfcfa0, exc=<unavailable>, error=0x00007fff9e289735) + 2186 at mini-runtime.c:2540 [opt]
    frame #26: 0x00000001001ca572 OutlineView`do_runtime_invoke(method=0x000000010801c9b0, obj=0x00000001050cc1a0, params=0x00007fff5fbfcfa0, exc=0x00007fff5fbfd410, error=0x00007fff5fbfcf08) + 114 at object.c:2950 [opt]
    frame #27: 0x00000001001ca466 OutlineView`mono_runtime_invoke [inlined] mono_runtime_try_invoke(method=<unavailable>, obj=0x00000001050cc1a0, params=0x00007fff5fbfcfa0, exc=0x00007fff5fbfd410, error=<unavailable>) + 61 at object.c:3063 [opt]
    frame #28: 0x00000001001ca429 OutlineView`mono_runtime_invoke(method=0x000000010801c9b0, obj=0x00000001050cc1a0, params=0x00007fff5fbfcfa0, exc=0x00007fff5fbfd410) + 41 at object.c:3003 [opt]
    frame #29: 0x00000001000166f1 OutlineView`xamarin_invoke_trampoline(type=Tramp_Default, self=0x000000010d16a1b0, sel="applicationDidFinishLaunching:", iterator=(OutlineView`param_iter_next(IteratorAction, void*, char const*, unsigned long, void*) at trampolines-x86_64.m:236), marshal_return_value=(OutlineView`marshal_return_value(void*, char const*, unsigned long, void*, _MonoType*, bool, _MonoMethod*) at trampolines-x86_64.m:300), context=0x00007fff5fbfd488) + 5201 at trampolines-invoke.m:383
    frame #30: 0x000000010001766d OutlineView`xamarin_arch_trampoline(state=0x00007fff5fbfd4d0) + 189 at trampolines-x86_64.m:527
    frame #31: 0x00000001000189c1 OutlineView`xamarin_x86_64_common_trampoline + 110
    frame #32: 0x00007fff91705bbc CoreFoundation`__CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 12
    frame #33: 0x00007fff91705b4f CoreFoundation`___CFXRegistrationPost_block_invoke + 63
    frame #34: 0x00007fff91705ac7 CoreFoundation`_CFXRegistrationPost + 407
    frame #35: 0x00007fff91705832 CoreFoundation`___CFXNotificationPost_block_invoke + 50
    frame #36: 0x00007fff916c25e2 CoreFoundation`-[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1922
    frame #37: 0x00007fff916c1835 CoreFoundation`_CFXNotificationPost + 693
    frame #38: 0x00007fff9e9ebfda Foundation`-[NSNotificationCenter postNotificationName:object:userInfo:] + 66
    frame #39: 0x00007fff9d9e6459 AppKit`-[NSApplication _postDidFinishNotification] + 297
    frame #40: 0x00007fff9d9e61c3 AppKit`-[NSApplication _sendFinishLaunchingNotification] + 203
    frame #41: 0x00007fff9d8a0e9d AppKit`-[NSApplication(NSAppleEventHandling) _handleAEOpenEvent:] + 557
    frame #42: 0x00007fff9d8a0947 AppKit`-[NSApplication(NSAppleEventHandling) _handleCoreEvent:withReplyEvent:] + 250
    frame #43: 0x00007fff9ea3a62d Foundation`-[NSAppleEventManager dispatchRawAppleEvent:withRawReply:handlerRefCon:] + 290
    frame #44: 0x00007fff9ea3a4a7 Foundation`_NSAppleEventManagerGenericHandler + 102
    frame #45: 0x00007fff9ed52261 AE`aeDispatchAppleEvent(AEDesc const*, AEDesc*, unsigned int, unsigned char*) + 531
    frame #46: 0x00007fff9ed51fe8 AE`dispatchEventAndSendReply(AEDesc const*, AEDesc*) + 31
    frame #47: 0x00007fff9ed51f04 AE`aeProcessAppleEvent + 288
    frame #48: 0x00007fff8f6bdaf9 HIToolbox`AEProcessAppleEvent + 55
    frame #49: 0x00007fff9d89c394 AppKit`_DPSNextEvent + 2245
    frame #50: 0x00007fff9d89b32a AppKit`-[NSApplication _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 454
    frame #51: 0x00007fff9d88fe84 AppKit`-[NSApplication run] + 682
    frame #52: 0x00007fff9d85946c AppKit`NSApplicationMain + 1176
    frame #53: 0x000000010b7fa742
    frame #54: 0x000000010b7fa34d
    frame #55: 0x000000010011969a OutlineView`mono_jit_runtime_invoke(method=<unavailable>, obj=<unavailable>, params=0x00007fff5fbff3d8, exc=<unavailable>, error=0x00007fff5fbfed38) + 2186 at mini-runtime.c:2540 [opt]
    frame #56: 0x00000001001ca572 OutlineView`do_runtime_invoke(method=0x0000000101809718, obj=0x0000000000000000, params=0x00007fff5fbff3d8, exc=0x0000000000000000, error=0x00007fff5fbff308) + 114 at object.c:2950 [opt]
    frame #57: 0x00000001001cca3e OutlineView`mono_runtime_exec_main [inlined] mono_runtime_invoke_checked(method=<unavailable>, obj=<unavailable>, error=0x00007fff00000000) + 878 at object.c:3110 [opt]
    frame #58: 0x00000001001cc9ff OutlineView`mono_runtime_exec_main(method=0x0000000101809718, args=<unavailable>, exc=0x0000000000000000) + 815 at object.c:4723 [opt]
    frame #59: 0x00000001001cc60d OutlineView`mono_runtime_run_main(method=0x0000000101809718, argc=<unavailable>, argv=0x0000000101d02fe8, exc=0x0000000000000000) + 909 at object.c:4277 [opt]
    frame #60: 0x000000010006fa57 OutlineView`mono_jit_exec(domain=<unavailable>, assembly=<unavailable>, argc=2, argv=0x0000000101d02fe8) + 247 at driver.c:1040 [opt]
    frame #61: 0x0000000100071d02 OutlineView`mono_main [inlined] main_thread_handler + 7890 at driver.c:1100 [opt]
    frame #62: 0x0000000100071ccf OutlineView`mono_main(argc=<unavailable>, argv=<unavailable>) + 7839 at driver.c:2139 [opt]
    frame #63: 0x000000010001924c OutlineView`xamarin_main(argc=2, argv=0x00007fff5fbff878, is_extension=false) + 844 at launcher.m:586
    frame #64: 0x0000000100019cc4 OutlineView`main(argc=2, argv=0x00007fff5fbff878) + 36 at launcher.m:597
    frame #65: 0x0000000100001274 OutlineView`start + 52

  thread #2: tid = 0x4b783, 0x00007fff9ede4efa libsystem_kernel.dylib`kevent_qos + 10, queue = 'com.apple.libdispatch-manager'
    frame #0: 0x00007fff9ede4efa libsystem_kernel.dylib`kevent_qos + 10
    frame #1: 0x00007fff8fa5d165 libdispatch.dylib`_dispatch_mgr_invoke + 216
    frame #2: 0x00007fff8fa5cdcd libdispatch.dylib`_dispatch_mgr_thread + 52

  thread #3: tid = 0x4b784, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff91b7c578 libsystem_pthread.dylib`_pthread_wqthread + 1283
    frame #2: 0x00007fff91b7a341 libsystem_pthread.dylib`start_wqthread + 13

  thread #4: tid = 0x4b786, 0x00007fff9ede3db6 libsystem_kernel.dylib`__psynch_cvwait + 10, name = 'SGen worker'
    frame #0: 0x00007fff9ede3db6 libsystem_kernel.dylib`__psynch_cvwait + 10
    frame #1: 0x00007fff91b7d728 libsystem_pthread.dylib`_pthread_cond_wait + 767
    frame #2: 0x000000010026287c OutlineView`thread_func [inlined] mono_os_cond_wait(mutex=0x00000001003b85f0) + 15 at mono-os-mutex.h:107 [opt]
    frame #3: 0x000000010026286d OutlineView`thread_func(thread_data=0x00000001005d0038) + 333 at sgen-thread-pool.c:110 [opt]
    frame #4: 0x00007fff91b7c99d libsystem_pthread.dylib`_pthread_body + 131
    frame #5: 0x00007fff91b7c91a libsystem_pthread.dylib`_pthread_start + 168
    frame #6: 0x00007fff91b7a351 libsystem_pthread.dylib`thread_start + 13

  thread #5: tid = 0x4b788, 0x00007fff9edddfae libsystem_kernel.dylib`semaphore_wait_trap + 10, name = 'Finalizer'
    frame #0: 0x00007fff9edddfae libsystem_kernel.dylib`semaphore_wait_trap + 10
    frame #1: 0x000000010016c19b OutlineView`finalizer_thread [inlined] mono_os_sem_wait(flags=MONO_SEM_FLAGS_ALERTABLE) + 11 at mono-os-semaphore.h:72 [opt]
    frame #2: 0x000000010016c190 OutlineView`finalizer_thread + 11 at mono-coop-semaphore.h:40 [opt]
    frame #3: 0x000000010016c185 OutlineView`finalizer_thread(unused=<unavailable>) + 181 at gc.c:766 [opt]
    frame #4: 0x000000010022293e OutlineView`start_wrapper [inlined] start_wrapper_internal + 508 at threads.c:739 [opt]
    frame #5: 0x0000000100222742 OutlineView`start_wrapper(data=<unavailable>) + 50 at threads.c:787 [opt]
    frame #6: 0x000000010028ca36 OutlineView`inner_start_thread(arg=<unavailable>) + 406 at mono-threads-posix.c:92 [opt]
    frame #7: 0x00007fff91b7c99d libsystem_pthread.dylib`_pthread_body + 131
    frame #8: 0x00007fff91b7c91a libsystem_pthread.dylib`_pthread_start + 168
    frame #9: 0x00007fff91b7a351 libsystem_pthread.dylib`thread_start + 13

  thread #6: tid = 0x4b789, 0x00007fff9ede3fba libsystem_kernel.dylib`__recvfrom + 10, name = 'Debugger agent'
    frame #0: 0x00007fff9ede3fba libsystem_kernel.dylib`__recvfrom + 10
    frame #1: 0x0000000100065e65 OutlineView`socket_transport_recv(buf=0x000070000051cd45, len=11) + 149 at debugger-agent.c:1130 [opt]
    frame #2: 0x000000010004ec86 OutlineView`debugger_thread [inlined] transport_recv(len=11) + 27 at debugger-agent.c:1536 [opt]
    frame #3: 0x000000010004ec6b OutlineView`debugger_thread(arg=<unavailable>) + 635 at debugger-agent.c:9747 [opt]
    frame #4: 0x000000010028ca36 OutlineView`inner_start_thread(arg=<unavailable>) + 406 at mono-threads-posix.c:92 [opt]
    frame #5: 0x00007fff91b7c99d libsystem_pthread.dylib`_pthread_body + 131
    frame #6: 0x00007fff91b7c91a libsystem_pthread.dylib`_pthread_start + 168
    frame #7: 0x00007fff91b7a351 libsystem_pthread.dylib`thread_start + 13

  thread #7: tid = 0x4b78b, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff91b7c578 libsystem_pthread.dylib`_pthread_wqthread + 1283
    frame #2: 0x00007fff91b7a341 libsystem_pthread.dylib`start_wqthread + 13

  thread #8: tid = 0x4b7b5, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff91b7c578 libsystem_pthread.dylib`_pthread_wqthread + 1283
    frame #2: 0x00007fff91b7a341 libsystem_pthread.dylib`start_wqthread + 13

  thread #9: tid = 0x4b7b6, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff91b7c578 libsystem_pthread.dylib`_pthread_wqthread + 1283
    frame #2: 0x00007fff91b7a341 libsystem_pthread.dylib`start_wqthread + 13

  thread #10: tid = 0x4b7bb, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff91b7c578 libsystem_pthread.dylib`_pthread_wqthread + 1283
    frame #2: 0x00007fff91b7a341 libsystem_pthread.dylib`start_wqthread + 13

  thread #11: tid = 0x4b7bc, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff91b7c578 libsystem_pthread.dylib`_pthread_wqthread + 1283
    frame #2: 0x00007fff91b7a341 libsystem_pthread.dylib`start_wqthread + 13

  thread #12: tid = 0x4b7bd, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff91b7c578 libsystem_pthread.dylib`_pthread_wqthread + 1283
    frame #2: 0x00007fff91b7a341 libsystem_pthread.dylib`start_wqthread + 13

  thread #13: tid = 0x4b7be, 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #0: 0x00007fff9ede45e2 libsystem_kernel.dylib`__workq_kernreturn + 10
    frame #1: 0x00007fff91b7c578 libsystem_pthread.dylib`_pthread_wqthread + 1283
    frame #2: 0x00007fff91b7a341 libsystem_pthread.dylib`start_wqthread + 13
(lldb) detach
error: Detach failed: Sending disconnect packet failed.

=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries 
used by your application.
=================================================================


Environment info:

Xamarin Studio Community
Version 6.0 (build 5166)
Installation UUID: 867dab2a-5981-4fcb-a66d-6f0df3f97a4a
Runtime:
	Mono 4.4.0 (mono-4.4.0-branch/67b89ea) (64-bit)
	GTK+ 2.24.23 (Raleigh theme)

	Package version: 404000176

Xamarin.Profiler
Not Installed

Apple Developer Tools
Xcode 7.3 (10183.3)
Build 7D175

Xamarin.iOS
Version: 9.9.0.190 (Xamarin Studio Community)
Hash: f495ad5
Branch: master
Build date: 2016-06-01 13:57:01-0800

Xamarin.Android
Version: 6.1.0.69 (Xamarin Studio Community)
Android SDK: /Users/Tim/Library/Developer/Xamarin/android-sdk-macosx
	Supported Android versions:
		4.0.3 (API level 15)
		4.4   (API level 19)
		5.0   (API level 21)
		6.0   (API level 23)

SDK Tools Version: 25.1.2
SDK Platform Tools Version: 24.0.0
SDK Build Tools Version: 23.0.2

Java SDK: /usr
java version "1.7.0_71"
Java(TM) SE Runtime Environment (build 1.7.0_71-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.71-b01, mixed mode)

Android Designer EPL code available here:
https://github.com/xamarin/AndroidDesigner.EPL

Xamarin Android Player
Version: 0.6.5
Location: /Applications/Xamarin Android Player.app

Xamarin.Mac
Version: 2.9.0.190 (Xamarin Studio Community)

Build Information
Release ID: 600005166
Git revision: ec4f06cfaa9debdca2539e19edeafffe88ccd0cc
Build date: 2016-05-20 18:51:15-04
Xamarin addins: c7761d054f38e9a210822aba6356398af0c36fa9
Build lane: monodevelop-lion-cycle7

Operating System
Mac OS X 10.11.4
Darwin Timothys-MacBook-Pro.local 15.4.0 Darwin Kernel Version 15.4.0
    Fri Feb 26 22:08:05 PST 2016
    root:xnu-3248.40.184~3/RELEASE_X86_64 x86_64
Comment 2 Rolf Bjarne Kvinge [MSFT] 2016-07-28 08:42:10 UTC
@Tim, could you attach a zip of the project?
Comment 3 Chris Hamons 2016-08-18 20:35:22 UTC
While doing some spring cleaning, I just tested this in latest master.

It no longer fails.