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

Reply via email to