I need some advice with a random crash i'm facing in monomac, i think is related to how i use the UI, sometime i get an unknow selector error.
Here:
Stacktrace:
at <0xffffffff> at (wrapper managed-to-native) MonoMac.AppKit.NSApplication.NSApplicationMain (int,string[]) at MonoMac.AppKit.NSApplication.Main (string[]) [0x00041] in /Users/builder/data/lanes/xamcore-lion-1.10-branch/834542f8/source/xamcore/src/AppKit/NSApplication.cs:105 at Touring.MacOSX.MainClass.Main (string[]) [0x00005] in /Users/starlingonzalez/Desktop/TouringProject/Touring/Touring.MacOSX/Main.cs:17 at (wrapper runtime-invoke) .runtime_invoke_void_object (object,intptr,intptr,intptr)
Native stacktrace:
Debug info from gdb:
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
^D
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
^D
quit
quExecuting commands in '/tmp/mono-gdb-commands.rDRFXp'.
(lldb) process attach --pid 4585
Process 4585 stopped
Executable module set to "/Users/starlingonzalez/Desktop/TouringProject/Touring/Touring.MacOSX/bin/Release/Touring.app/Contents/MacOS/Touring".
Architecture set to: i486-apple-macosx.
(lldb) thread list
Process 4585 stopped
* thread #1: tid = 0x19905, 0x9a730fed libsystem_kernel.dylib__wait4 + 5, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
thread #2: tid = 0x19911, 0x9a731992 libsystem_kernel.dylib
kevent64 + 10, queue = 'com.apple.libdispatch-manager'
thread #3: tid = 0x19912, 0x9a731046 libsystem_kernel.dylib__workq_kernreturn + 10
thread #4: tid = 0x19914, 0x9a731046 libsystem_kernel.dylib
__workq_kernreturn + 10
thread #5: tid = 0x19916, 0x9a72bfb6 libsystem_kernel.dylibsemaphore_wait_trap + 10
thread #6: tid = 0x19917, 0x9a730a26 libsystem_kernel.dylib
__recvfrom + 10
thread #7: tid = 0x19919, 0x9a731046 libsystem_kernel.dylib__workq_kernreturn + 10
thread #8: tid = 0x1992d, 0x9a72bf7a libsystem_kernel.dylib
mach_msg_trap + 10
(lldb) thread backtrace all
* thread #1: tid = 0x19905, 0x9a730fed libsystem_kernel.dylib__wait4 + 5, queue = 'com.apple.main-thread', stop reason = signal SIGSTOP
* frame #0: 0x9a730fed libsystem_kernel.dylib
__wait4 + 5
frame #1: 0x97e70ec5 libsystem_c.dylibwaitpid$UNIX2003 + 48
frame #2: 0x00187319 Touring
mono_handle_native_sigsegv(signal=11, ctx=0x016eafe0) + 489 at mini-exceptions.c:2323
frame #3: 0x001241a5 Touringmono_arch_handle_altstack_exception(sigctx=0x016eafe0, fault_addr=0x37d8f5bb, stack_ovf=0) + 149 at exceptions-x86.c:1159
frame #4: 0x001b5dbf Touring
mono_sigsegv_signal_handler(_dummy=11, info=0x016eafa0, context=0x016eafe0) + 415 at mini.c:6860
frame #5: 0x963cbdeb libsystem_platform.dylib`_sigtramp + 43
thread #2: tid = 0x19911, 0x9a731992 libsystem_kernel.dylibkevent64 + 10, queue = 'com.apple.libdispatch-manager'
frame #0: 0x9a731992 libsystem_kernel.dylib
kevent64 + 10
frame #1: 0x974ef899 libdispatch.dylib_dispatch_mgr_invoke + 238
frame #2: 0x974ef532 libdispatch.dylib
_dispatch_mgr_thread + 52
thread #3: tid = 0x19912, 0x9a731046 libsystem_kernel.dylib__workq_kernreturn + 10
frame #0: 0x9a731046 libsystem_kernel.dylib
__workq_kernreturn + 10
frame #1: 0x902e0dcf libsystem_pthread.dylib`_pthread_wqthread + 372
thread #4: tid = 0x19914, 0x9a731046 libsystem_kernel.dylib__workq_kernreturn + 10
frame #0: 0x9a731046 libsystem_kernel.dylib
__workq_kernreturn + 10
frame #1: 0x902e0dcf libsystem_pthread.dylib`_pthread_wqthread + 372
thread #5: tid = 0x19916, 0x9a72bfb6 libsystem_kernel.dylibsemaphore_wait_trap + 10
frame #0: 0x9a72bfb6 libsystem_kernel.dylib
semaphore_wait_trap + 10
frame #1: 0x00327fce Touringmono_sem_wait(sem=<unavailable>, alertable=<unavailable>, sem=0x0042d700, alertable=1) + 30 at mono-semaphore.c:103
frame #2: 0x00209eab Touring
finalizer_thread(unused=0x00000000) + 187 at gc.c:1077
frame #3: 0x002e8395 Touringstart_wrapper [inlined] start_wrapper_internal(data=0x7be2fb40) + 523 at threads.c:660
frame #4: 0x002e818a Touring
start_wrapper(data=0x7be2fb40) + 26 at threads.c:707
frame #5: 0x00328cfd Touringinner_start_thread(arg=0xbff36670) + 253 at mono-threads-posix.c:100
frame #6: 0x902df5fb libsystem_pthread.dylib
_pthread_body + 144
frame #7: 0x902df485 libsystem_pthread.dylib`_pthread_start + 130
thread #6: tid = 0x19917, 0x9a730a26 libsystem_kernel.dylib__recvfrom + 10
frame #0: 0x9a730a26 libsystem_kernel.dylib
__recvfrom + 10
frame #1: 0x97e710c9 libsystem_c.dylibrecv$UNIX2003 + 54
frame #2: 0x00100480 Touring
socket_transport_recv(buf=0xb039af2d, len=11) + 160 at debugger-agent.c:1131
frame #3: 0x000fc4bb Touringdebugger_thread(arg=0x00000000) + 22267 at debugger-agent.c:1557
frame #4: 0x00328cfd Touring
inner_start_thread(arg=0xbff36680) + 253 at mono-threads-posix.c:100
frame #5: 0x902df5fb libsystem_pthread.dylib_pthread_body + 144
frame #6: 0x902df485 libsystem_pthread.dylib
_pthread_start + 130
thread #7: tid = 0x19919, 0x9a731046 libsystem_kernel.dylib__workq_kernreturn + 10
frame #0: 0x9a731046 libsystem_kernel.dylib
__workq_kernreturn + 10
frame #1: 0x902e0dcf libsystem_pthread.dylib`_pthread_wqthread + 372
thread #8: tid = 0x1992d, 0x9a72bf7a libsystem_kernel.dylibmach_msg_trap + 10
frame #0: 0x9a72bf7a libsystem_kernel.dylib
mach_msg_trap + 10
frame #1: 0x9a72b16c libsystem_kernel.dylibmach_msg + 68
frame #2: 0x9a577bf9 CoreFoundation
__CFRunLoopServiceMachPort + 169
frame #3: 0x9a5771d1 CoreFoundation__CFRunLoopRun + 1393
frame #4: 0x9a5769ea CoreFoundation
CFRunLoopRunSpecific + 394
frame #5: 0x9a57684b CoreFoundationCFRunLoopRunInMode + 123
frame #6: 0x90c95b88 AppKit
_NSEventThread + 283
frame #7: 0x902df5fb libsystem_pthread.dylib_pthread_body + 144
frame #8: 0x902df485 libsystem_pthread.dylib
_pthread_start + 130
(lldb) detach
Detaching from process 4585
(lldb) quit
ok i figure it out after many try and catch here and there, that you can put in the constructor of your AppDelegate.cs class the following:
AppDomain.CurrentDomain.UnhandledException += (object sender, UnhandledExceptionEventArgs e) => {
Exception GivenException = (Exception) e.ExceptionObject;
Console.WriteLine( GivenException.Message);
Console.WriteLine( GivenException.StackTrace);
Console.WriteLine("Runtime terminating: {0}", e.IsTerminating);
};
This will not avoid the app for terminate but at least you will know exactly where to look and fix the issues.
Just dropped here in case somebody is having same issues.