Hi Juan here's the key (I think!):
"Unhandled managed exception: Selector invoked from objective-c on a managed object of type MonoTouch.UIKit.UIControlEventProxy (0x1432A3B0) that has been GC'ed (System.Exception)" You have something - the UIButton I suspect - which exists in ObjC land, which is trying to call the delegate, but the button has been GC'ed in C# land, and it has nowhere to call into. Where is ButtonX declared? Does it only happen when you tap the button? Can you move the declaration of ButtonX to somewhere where it will always remain in scope? eg, in the class, not in your method? Cheers Nic On 3 April 2013 17:37, Juan M Gómez <[email protected]> wrote: > Hi guys, > > I have a weird issue in my app. I made a custom control with some > ViewControllers inside it. The custom control derivates from UIScrollView, > but I think that the issue is not about this, just to clarify. > > When one, and only one, of thoses uiviewcontroller has a TouchuUpInside > via UIButton, the app just crashes although I don't do nothing inside it. > > ButtonX.TouchUpInside += (sender, e) =>{ > //This crashes > //If I dont declare this lambda, the app doesnt crash > }; > > cheers > > > Unhandled Exception: > 0 GolfTouch 0x000f2fde > mono_handle_exception_internal_first_pass + 2190 > 1 GolfTouch 0x000f4a22 > mono_handle_exception_internal + 1602 > 2 GolfTouch 0x000f556f mono_handle_exception + > 47 > 3 GolfTouch 0x001386a2 > mono_x86_throw_exception + 306 > 4 ??? 0x0b5d5f8f 0x0 + 190668687 > at MonoTouch.ObjCRuntime.Runtime.GetNSObject (intptr) [0x0001f] in > /Developer/MonoTouch/Source/monotouch/src/ObjCRuntime/Runtime.cs:328 > at MonoTouch.ObjCRuntime.Runtime.GetNSObjectWrapped (intptr) [0x00000] in > /Developer/MonoTouch/Source/monotouch/src/ObjCRuntime/Runtime.cs:345 > at (wrapper native-to-managed) > MonoTouch.ObjCRuntime.Runtime.GetNSObjectWrapped (intptr) <IL 0x00017, > 0x00094> > 8 GolfTouch 0x0026dbd3 > get_managed_object_for_ptr + 115 > 9 GolfTouch 0x00272ac0 monotouch_trampoline + > 448 > 10 libobjc.A.dylib 0x041f8705 -[NSObject > performSelector:withObject:withObject:] + 77 > 11 UIKit 0x019542c0 -[UIApplication > sendAction:to:from:forEvent:] + 96 > 12 UIKit 0x01954258 -[UIApplication > sendAction:toTarget:fromSender:forEvent:] + 61 > 13 UIKit 0x01a15021 -[UIControl > sendAction:to:forEvent:] + 66 > 14 UIKit 0x01a1557f -[UIControl(Internal) > _sendActionsForEvents:withEvent:] + 578 > 15 UIKit 0x01a146e8 -[UIControl > touchesEnded:withEvent:] + 546 > 16 UIKit 0x01c181d3 > _UIGestureRecognizerUpdate + 7407 > 17 CoreFoundation 0x03f77afe > __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30 > 18 CoreFoundation 0x03f77a3d __CFRunLoopDoObservers > + 381 > 19 CoreFoundation 0x03f557c2 __CFRunLoopRun + 1106 > 20 CoreFoundation 0x03f54f44 CFRunLoopRunSpecific + > 276 > 21 CoreFoundation 0x03f54e1b CFRunLoopRunInMode + 123 > 22 GraphicsServices 0x04f1f7e3 GSEventRunModal + 88 > 23 GraphicsServices 0x04f1f668 GSEventRun + 104 > 24 UIKit 0x01950ffc UIApplicationMain + 1211 > at (wrapper managed-to-native) > MonoTouch.UIKit.UIApplication.UIApplicationMain > (int,string[],intptr,intptr) <IL 0x00056, 0x001f5> > at MonoTouch.UIKit.UIApplication.Main (string[],string,string) [0x0004c] > in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38 > at Golf.Touch.Application.Main (string[]) [0x00000] in > /Users/jmgomez/Dropbox/Projects/golf/GolfMvvM/Golf/Golf.Touch/Main.cs:17 > at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object > (object,intptr,intptr,intptr) <IL 0x00049, 0x0012e> > 29 GolfTouch 0x0006d542 mono_jit_runtime_invoke > + 722 > 30 GolfTouch 0x001d0a1e mono_runtime_invoke + > 126 > 31 GolfTouch 0x001d4c14 mono_runtime_exec_main > + 420 > 32 GolfTouch 0x001da005 mono_runtime_run_main + > 725 > 33 GolfTouch 0x000cabd5 mono_jit_exec + 149 > 34 GolfTouch 0x002689c4 main + 1988 > 35 GolfTouch 0x00066471 start + 53 > > 2013-04-03 17:22:31.984 GolfTouch[2445:c07] Unhandled managed exception: > Selector invoked from objective-c on a managed object of type > MonoTouch.UIKit.UIControlEventProxy (0x1432A3B0) that has been GC'ed > (System.Exception) > at MonoTouch.ObjCRuntime.Runtime.ConstructNSObject (IntPtr ptr, IntPtr > klass) [0x000c4] in > /Developer/MonoTouch/Source/monotouch/src/ObjCRuntime/Runtime.cs:284 > at MonoTouch.ObjCRuntime.Runtime.GetNSObject (IntPtr ptr) [0x0001f] in > /Developer/MonoTouch/Source/monotouch/src/ObjCRuntime/Runtime.cs:328 > at MonoTouch.ObjCRuntime.Runtime.GetNSObjectWrapped (IntPtr ptr) > [0x00000] in > /Developer/MonoTouch/Source/monotouch/src/ObjCRuntime/Runtime.cs:345 > at (wrapper native-to-managed) > MonoTouch.ObjCRuntime.Runtime:GetNSObjectWrapped (intptr) > at (wrapper managed-to-native) > MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr) > at MonoTouch.UIKit.UIApplication.Main (System.String[] args, > System.String principalClassName, System.String delegateClassName) > [0x0004c] in > /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:38 > at Golf.Touch.Application.Main (System.String[] args) [0x00000] in > /Users/jmgomez/Dropbox/Projects/golf/GolfMvvM/Golf/Golf.Touch/Main.cs:17 > Stacktrace: > > > Native stacktrace: > > 0 GolfTouch 0x000f589c > mono_handle_native_sigsegv + 284 > 1 GolfTouch 0x0013ba8d sigabrt_signal_handler > + 109 > 2 libsystem_c.dylib 0x944208cb _sigtramp + 43 > 3 ??? 0xffffffff 0x0 + 4294967295 > 4 libsystem_sim_c.dylib 0x048f557b abort + 140 > 5 GolfTouch 0x0027a68b > monotouch_unhandled_exception_handler + 283 > 6 GolfTouch 0x000f130c > mono_invoke_unhandled_exception_hook + 140 > 7 GolfTouch 0x000f541a > mono_handle_exception_internal + 4154 > 8 GolfTouch 0x000f556f mono_handle_exception > + 47 > 9 GolfTouch 0x001386a2 > mono_x86_throw_exception + 306 > 10 ??? 0x0b5d5f8f 0x0 + 190668687 > 11 ??? 0x1051b614 0x0 + 273790484 > 12 ??? 0x1051b504 0x0 + 273790212 > 13 ??? 0x0b704b64 0x0 + 191908708 > 14 GolfTouch 0x0026dbd3 > get_managed_object_for_ptr + 115 > 15 GolfTouch 0x00272ac0 monotouch_trampoline + > 448 > 16 libobjc.A.dylib 0x041f8705 -[NSObject > performSelector:withObject:withObject:] + 77 > 17 UIKit 0x019542c0 -[UIApplication > sendAction:to:from:forEvent:] + 96 > 18 UIKit 0x01954258 -[UIApplication > sendAction:toTarget:fromSender:forEvent:] + 61 > 19 UIKit 0x01a15021 -[UIControl > sendAction:to:forEvent:] + 66 > 20 UIKit 0x01a1557f -[UIControl(Internal) > _sendActionsForEvents:withEvent:] + 578 > 21 UIKit 0x01a146e8 -[UIControl > touchesEnded:withEvent:] + 546 > 22 UIKit 0x01c181d3 > _UIGestureRecognizerUpdate + 7407 > 23 CoreFoundation 0x03f77afe > __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 30 > 24 CoreFoundation 0x03f77a3d > __CFRunLoopDoObservers + 381 > 25 CoreFoundation 0x03f557c2 __CFRunLoopRun + 1106 > 26 CoreFoundation 0x03f54f44 CFRunLoopRunSpecific > + 276 > 27 CoreFoundation 0x03f54e1b CFRunLoopRunInMode + 123 > 28 GraphicsServices 0x04f1f7e3 GSEventRunModal + 88 > 29 GraphicsServices 0x04f1f668 GSEventRun + 104 > 30 UIKit 0x01950ffc UIApplicationMain + > 1211 > 31 ??? 0x105194ad 0x0 + 273781933 > 32 ??? 0x10111fd0 0x0 + 269557712 > 33 ??? 0x10111bd8 0x0 + 269556696 > 34 ??? 0x10111d2e 0x0 + 269557038 > 35 GolfTouch 0x0006d542 mono_jit_runtime_invoke > + 722 > 36 GolfTouch 0x001d0a1e mono_runtime_invoke + > 126 > 37 GolfTouch 0x001d4c14 mono_runtime_exec_main > + 420 > 38 GolfTouch 0x001da005 mono_runtime_run_main > + 725 > 39 GolfTouch 0x000cabd5 mono_jit_exec + 149 > 40 GolfTouch 0x002689c4 main + 1988 > 41 GolfTouch 0x00066471 start + 53 > > ================================================================= > Got a SIGABRT while executing native code. This usually indicates > a fatal error in the mono runtime or one of the native libraries > used by your application. > ================================================================= > > > Juan M Gómez > *Contractor Software Engineer* > [email protected] > > [image: twitter] <http://twitter.com/_jmgomez_> [image: > linkedIn]<http://es.linkedin.com/in/juamangomalv> > > > _______________________________________________ > MonoTouch mailing list > [email protected] > http://lists.ximian.com/mailman/listinfo/monotouch > > -- Nic Wise t. +44 7788 592 806 | @fastchicken b. http://www.fastchicken.co.nz/
_______________________________________________ MonoTouch mailing list [email protected] http://lists.ximian.com/mailman/listinfo/monotouch
