Yeah, I guess a better reply from me woud be "But i may cause other issues which are worse than this one"
:) On Mon, Aug 20, 2012 at 10:33 PM, Rodrigo Kumpera <[email protected]> wrote: > This work-around will make your code work, but will cause your object to > surface with no previous managed state, which > is very very bad. > The solution is trying to keep a reference to it from known live objects. > > > On Mon, Aug 20, 2012 at 5:45 PM, Nic Wise <[email protected]> wrote: >> >> Make a constructor which takes an IntPtr as the single param. But it >> may cause other issues, I'm not sure.... >> >> On Mon, Aug 20, 2012 at 9:39 PM, Dotnet Projects >> <[email protected]> wrote: >> > 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 >> > >> > >> >> >> >> -- >> 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 > > -- 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
