... and after some debugging...with a drumroll but NO surprise, it looks like the problem is.... ME.
NullReferenceException in the ContinueWith section. Causes a segfault. Basically: foo.Property = value; foo is null (it's a derivative from MT.D's Element). bang. (Property does nothing except assignment) try/catch doesn't catch it tho. Which is ODD. On Thu, Mar 15, 2012 at 10:53, Nic Wise <[email protected]> wrote: > It's not (I think!) that TF is catching the error - its that the app > crashes if I use TFLog (which is async under the hood) > > But it could be the ContinueWith thats throwing an exception, which is > tearing down the initially created thread, and possibly the > (TFLog-create) child thread, too.... > > I'll post the TF-generated crash report once TF is back up.... > > > > On Thu, Mar 15, 2012 at 10:49, Rolf Bjarne Kvinge <[email protected]> wrote: >> Hi, >> >> These issues might be related. Have in mind that TestFlight will handle >> NullReferenceExceptions as crashes (and won't let you catch them). >> >> Rolf >> >> On Thu, Mar 15, 2012 at 11:39 AM, Nic Wise <[email protected]> wrote: >>> >>> Hi there >>> >>> I'm having a few issues in the newest versions of MT, mostly around >>> Threading (ok, ALL around threading). >>> >>> this one is a fairly major, but easy to work around, one for me: >>> >>> https://bugzilla.xamarin.com/show_bug.cgi?id=3676 >>> >>> I'm getting it when I use NewtonSoft Json.net from a thread. I worked >>> around it by using it from the UI thread, and caching the resulting >>> object (not a big deal at all in this case). The DLL I'm using hasn't >>> changed for a long time..... >>> >>> >>> >>> However, I'm also having an issue with TestFlight's logging. If I log >>> in a thread, sometimes, I get a segfault. Not every time, but always >>> in the same place, and ALWAYS in a thread. The thread code is like >>> this: >>> >>> Task.Factory.StartNew(() => { >>> CalculateSummary (); >>> }).ContinueWith(t => { >>> if (oncomplete != null) oncomplete(); >>> }, new UIKitScheduler()); >>> >>> (UIKitScheduler is this: https://gist.github.com/1431457 ) >>> CalculateSummary loads a bunch of stuff from SQLite, then the last line >>> is: >>> >>> Util.Log ("recalculating took {0}ms".Fmt (sw.ElapsedMilliseconds)); >>> >>> It is possible that the oncomplete is throwing an error, which I need >>> to check out - I've had issues with threading disappearing if the >>> continue throws an uncaught exception. >>> >>> Anywho, Util.Log does a Debug.WriteLine (or Console.WriteLine, same >>> result), and a TestFlight.Log. The first works always. The latter >>> crashes _sometimes_, usually if he app is busy - ie, I'm moving >>> between screens (which triggers calculations) etc. But sometimes just >>> if it's sitting idle. I've tried putting the logging into a >>> InvokeOnMainThread, but with the same result. >>> >>> I wasn't using TF before, but I've not had the Json problem in >>> previous versions (I have a lot of production code out there which is >>> working doing this). That said, I wasn't using Tasks before (I was >>> using the threadpool), which may also be it! >>> >>> Any ideas? did this change after 5.2.4 (I'm on 5.2.8 I think at the >>> moment) >>> >>> I have a semi-stacktrace thing, but it has almost no actual info in >>> it. I'm going to try a debug build tonight, and see if I can get more >>> info out. console just shows that the app segfaulted (error 11 I >>> think??) >>> >>> Outside of that, everything is exceptionally delicious with iOS5, the >>> appearance API's, and the Task API's :) >>> >>> N >>> >>> -- >>> Nic Wise >>> t. +44 7788 592 806 | @fastchicken | http://www.linkedin.com/in/nicwise >>> b. http://www.fastchicken.co.nz/ >>> >>> Nearest Bus: find when the next bus is coming to your stop. >>> http://goo.gl/Vcz1p >>> 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 >>> 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/ > > Nearest Bus: find when the next bus is coming to your stop. > http://goo.gl/Vcz1p > 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 > 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/ Nearest Bus: find when the next bus is coming to your stop. http://goo.gl/Vcz1p 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 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
