I have to keep all Viewcontroller in the memory. Is there anything else I can do?
Thanks Art On Mon, Aug 20, 2012 at 3:19 PM, Nic Wise <[email protected]> wrote: > I'm pretty sure this is a known problem - you have let the managed > version (C# version) go out of scope, and it's been garbage collected. > The Cocoa side wants to use the object, so the runtime trys to make > the managed version again - but it can't as it doesn't have an IntPtr > constructor. > > If you can work out which object is the problem, try keeping an > explicit reference to it. > > On Mon, Aug 20, 2012 at 8:04 PM, Dotnet Projects > <[email protected]> wrote: > > I am getting the error from MonoTouch..DialogViewController too. > > > > it might be related to the linker options I am using > > > > --linkskip=mscorlib -aot "nimt-trampolines=512" > > > > > > > > at MonoTouch.ObjCRuntime.Runtime.ConstructNSObject (IntPtr ptr, IntPtr > > klass) [0x00000] in <filename unknown>:0 > > at MonoTouch.ObjCRuntime.Runtime.GetNSObject (IntPtr ptr) [0x00000] in > > <filename unknown>:0 > > at MonoTouch.ObjCRuntime.Runtime.GetNSObjectWrapped (IntPtr ptr) > [0x00000] > > in <filename unknown>:0 > > at (wrapper native-to-managed) > > MonoTouch.ObjCRuntime.Runtime:GetNSObjectWrapped (intptr) > > at MonoTouch.UIKit.UIApplication.Main (System.String[] args, > System.String > > principalClassName, System.String delegateClassName) [0x00000] in > <filename > > unknown>:0 > > at Application.Main (System.String[] args) [0x00000] in <filename > > unknown>:0 System.Exception: Selector invoked from objective-c on a > managed > > object (0x73D1AD0) that has been GC'ed ---> > System.MissingMethodException: > > No constructor found for > > MonoTouch.Dialog.DialogViewController::.ctor(System.IntPtr) > > > > at System.Activator.CreateInstance (System.Type type, BindingFlags > > bindingAttr, System.Reflection.Binder binder, System.Object[] args, > > System.Globalization.CultureInfo culture, System.Object[] > > activationAttributes) [0x00000] in <filename unknown>:0 > > at System.Activator.CreateInstance (System.Type type, System.Object[] > > args, System.Object[] activationAttributes) [0x00000] in <filename > > unknown>:0 > > at System.Activator.CreateInstance (System.Type type, System.Object[] > > args) [0x00000] in <filename unknown>:0 > > at MonoTouch.ObjCRuntime.Runtime.ConstructNSObject (IntPtr ptr, IntPtr > > klass) [0x00000] in <filename unknown>:0 > > --- End of inner exception stack trace --- > > at MonoTouch.ObjCRuntime.Runtime.ConstructNSObject (IntPtr ptr, IntPtr > > klass) [0x00000] in <filename unknown>:0 > > at MonoTouch.ObjCRuntime.Runtime.GetNSObject (IntPtr ptr) [0x00000] in > > <filename unknown>:0 > > at MonoTouch.ObjCRuntime.Runtime.GetNSObjectWrapped (IntPtr ptr) > [0x00000] > > in <filename unknown>:0 > > at (wrapper native-to-managed) > > MonoTouch.ObjCRuntime.Runtime:GetNSObjectWrapped (intptr) > > at MonoTouch.UIKit.UIApplication.Main (System.String[] args, > System.String > > principalClassName, System.String delegateClassName) [0x00000] in > <filename > > unknown>:0 > > at Application.Main (System.String[] args) [0x00000] in <filename > > unknown>:0 System.Exception: Selector invoked from objective-c on a > managed > > object (0x73D1AD0) that has been GC'ed ---> > System.MissingMethodException: > > No constructor found for > > MonoTouch.Dialog.DialogViewController::.ctor(System.IntPtr) > > > > at System.Activator.CreateInstance (System.Type type, BindingFlags > > bindingAttr, System.Reflection.Binder binder, System.Object[] args, > > System.Globalization.CultureInfo culture, System.Object[] > > activationAttributes) [0x00000] in <filename unknown>:0 > > at System.Activator.CreateInstance (System.Type type, System.Object[] > > args, System.Object[] activationAttributes) [0x00000] in <filename > > unknown>:0 > > at System.Activator.CreateInstance (System.Type type, System.Object[] > > args) [0x00000] in <filename unknown>:0 > > at MonoTouch.ObjCRuntime.Runtime.ConstructNSObject (IntPtr ptr, IntPtr > > klass) [0x00000] in <filename unknown>:0 > > --- End of inner exception stack trace --- > > at MonoTouch.ObjCRuntime.Runtime.ConstructNSObject (IntPtr ptr, IntPtr > > klass) [0x00000] in <filename unknown>:0 > > at MonoTouch.ObjCRuntime.Runtime.GetNSObject (IntPtr ptr) [0x00000] in > > <filename unknown>:0 > > at MonoTouch.ObjCRuntime.Runtime.GetNSObjectWrapped (IntPtr ptr) > [0x00000] > > in <filename unknown>:0 > > at (wrapper native-to-managed) > > MonoTouch.ObjCRuntime.Runtime:GetNSObjectWrapped (intptr) > > at MonoTouch.UIKit.UIApplication.Main (System.String[] args, > System.String > > principalClassName, System.String delegateClassName) [0x00000] in > <filename > > unknown>:0 > > at Application.Main (System.String[] args) [0x00000] in <filename > > unknown>:0 > > > > > > On Mon, Aug 20, 2012 at 1:53 PM, Dotnet Projects < > [email protected]> > > wrote: > >> > >> Thanks for the reply. > >> > >> I am not using SGEN but I am using following linker options > >> > >> --linkskip=mscorlib -aot "nimt-trampolines=512" > >> > >> It only happens in release mode (device). Unfortunately I cannot repeat > it > >> but I get logs from customer and I get same errors any where I use. > >> > >> myUIVIewControler p = new myUIVIewControler(); > >> > >> Art > >> > >> > >> > >> > >> On Mon, Aug 20, 2012 at 8:11 AM, René Ruppert <[email protected]> > >> wrote: > >>> > >>> The code above (the first example with the local PenColor) should NOT > >>> crash. PresentModalViewController is supposed to hold a managed > reference. > >>> If not, I'd consider that a bug. > >>> I'm using code like that all the time and do not get any crashes. I'm > >>> using SGen but have the experimental ref count system OFF. > >>> But if you're using XIBs, your controllers should really have the > IntPtr > >>> constructor, as far as I know. > >>> > >>> René > >>> > >>> > >>> 2012/8/19 rnendel11 <[email protected]> > >>>> > >>>> Because you're declaring at class scope vs. method scope. I'm > guessing > >>>> you > >>>> have SGen enabled and possibly the experimental reference count option > >>>> as > >>>> well? > >>>> > >>>> I stopped using SGen myself, had GC issues and crashes. If you have > >>>> those > >>>> options enabled, try without them enabled. Also, I'm not entirely > sure > >>>> of > >>>> the details, but there are additional build parameters you have to > >>>> define > >>>> when SGen is enabled. > >>>> > >>>> > >>>> > >>>> -- > >>>> View this message in context: > >>>> > http://monotouch.2284126.n4.nabble.com/GC-ed-System-MissingMethodException-tp4656569p4656575.html > >>>> Sent from the MonoTouch mailing list archive at Nabble.com. > >>>> _______________________________________________ > >>>> MonoTouch mailing list > >>>> [email protected] > >>>> http://lists.ximian.com/mailman/listinfo/monotouch > >>> > >>> > >>> > >>> _______________________________________________ > >>> MonoTouch mailing list > >>> [email protected] > >>> http://lists.ximian.com/mailman/listinfo/monotouch > >>> > >> > > > > > > _______________________________________________ > > MonoTouch mailing list > > [email protected] > > http://lists.ximian.com/mailman/listinfo/monotouch > > > > > > -- > Nic Wise > t. +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise > b. http://www.fastchicken.co.nz/ > > mobileAgent (for FreeAgent): get your accounts in your pocket. > http://goo.gl/IuBU > Trip Wallet: Keep track of your budget on the go: http://goo.gl/ePhKa > Earnest: Self-employed? Track your business expenses and income. > http://earnestapp.com > Nearest Bus: find when the next bus is coming to your stop. > http://goo.gl/Vcz1p > London Bike App: Find the nearest Boris Bike, and get riding! > http://goo.gl/Icp2 >
_______________________________________________ MonoTouch mailing list [email protected] http://lists.ximian.com/mailman/listinfo/monotouch
