Hi Rolf,

* User installs app.
* User uses app for a while successfully.
* Something unknown happens.
* App will not startup again for user, the only way he can make it work is
to reinstall.

Yes, that's it.

* Are you sure your users know how to kill an app? If they just tap the home
button and then the app, it will not work if the app is hung, since they did
not kill the app.
* Have you tried asking them to reboot?

Yes and yes. they are guided by help desk. And 2 cases was gotten by testers
(guided by me). Just the second case (yesterday) was with TestFlight inside
to try to figure something out. Just uninstall and install solved, or
bypassing ViewDidLoad and/or ViewWillAppear. I hadn't chance do find if just
one of them bypassed make It run ok.

Did you override the Text property in your custom UITextField?

No, as Text property is the "same" that TextBox.Text property from
Windows.Forms, the custom UITextField is just to mimic some more used things
from TextBox like MaxLength (that has a delegate with ShouldChangeCharacters
to manage maxlength).

Thanks,

Karl

From:  Rolf Bjarne Kvinge <[email protected]>
Date:  quinta-feira, 13 de setembro de 2012 04:32
To:  Karl Heinz Brehme Arredondo <[email protected]>
Cc:  "[email protected]" <[email protected]>
Subject:  Re: [MonoTouch] App crashing at startup after a crash inside app

Hi,

On Thu, Sep 13, 2012 at 2:35 AM, Karl Heinz Brehme Arredondo
<[email protected]> wrote:
> Hi,
> 
> I have an app that runs fine. But in some rare times (not so rare, maybe 10
> cases per month) , something happens that crashes the App, and the it doesn't
> open anymore.
> 

So if I understand correctly this is what happens:

* User installs app.
* User uses app for a while successfully.
* Something unknown happens.
* App will not startup again for user, the only way he can make it work is
to reinstall.

If this is the case, here are my thoughts:
* Are you sure your users know how to kill an app? If they just tap the home
button and then the app, it will not work if the app is hung, since they did
not kill the app.
* Have you tried asking them to reboot?
 
> Today I succeed to get a crash log from TestFlight for a case of that. User
> try to open app and it doesn't open anymore. Before that is was normal.
> Normally this could be some data, field or table missing, but I got a copy of
> sqlite DB and it runs OK in another place (device or simulator).
> 
> The strange thing is the failure appear to be in a UITextField (in truth in a
> custom UITxtField),

Did you override the Text property in your custom UITextField?
 
> but I can't figure out why since it runs OK from almost 2 yearsŠ indeed, is in
> the login screen, the first view controller, the first thing made since betas.
> 
> So I can see that ViewWillAppear has some UITextView get Text, and that could
> be some null object reference on it. BUTŠ isn't below missing the ViewDidLoad
> thing? Is there a way to do not log this or do not being fired the
> ViewDidLoad? Remembering that application run normally. Just in a few cases
> that some users report that and the way is to uninstall and reinstall, loosing
> all data non transferred to server. If I removed ViewWillAppear and
> ViewDidLoad and application returned to life. I put it again and no mo errorŠ
> So now to do more tests I need another occurrence of that problem.

ViewDidLoad has already executed, so you will not see it this stack trace.
 
> 
> 1. 0 MyApp 0x00003102 testflight_backtrace + 158
> 2. 1 MyApp 0x00003d2c TFSignalHandler + 244
> 3. 2 libsystem_c.dylib 0x34c857ec _sigtramp + 48
> 4. 3 MyApp 0x0006f067 MonoTouch_UIKit_UITextField_get_Text + 99
> 5. 4 MyApp 0x0033d493
> wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intp
> tr + 199
> 6. 5 MyApp 0x007cf406 mono_jit_runtime_invoke (mini.c:5792)
> 7. 6 MyApp 0x0084afd2 mono_runtime_invoke (object.c:2788)
> 8. 7 MyApp 0x007862c6
> native_to_managed_trampoline_MyApp_FormLogin_ViewWillAppear
> (registrar.m:10154)
> 9. 8 UIKit 0x306d7b94 -[UIViewController _setViewAppearState:isAnimating:] +
> 144
> 10. 9 UIKit 0x306da8fa -[UINavigationController
> _startTransition:fromViewController:toViewController:] + 814
> 11. 10 UIKit 0x306da502 -[UINavigationController
> _startDeferredTransitionIfNeeded] + 250
> 12. 11 UIKit 0x3077a39c -[UINavigationController defaultFirstResponder] + 124
> 13. 12 UIKit 0x306c03b4 -[UIResponder(Internal) _deepestDefaultFirstResponder]
> + 24
> 14. 13 UIKit 0x306c03d0 -[UIResponder(Internal) _deepestDefaultFirstResponder]
> + 52
> 15. 14 UIKit 0x306c0262 -[UIResponder(Internal)
> _promoteDeepestDefaultFirstResponder] + 30
> 16. 15 UIKit 0x306c023e -[UIWindow makeKeyWindow] + 382
> 17. 16 MyApp 0x0008e107
> wrapper_managed_to_native_MonoTouch_ObjCRuntime_Messaging_void_objc_msgSend_in
> tptr_intptr + 67
> 18. 17 MyApp 0x005f5ca7
> MyApp_AppDelegate_FinishedLaunching_MonoTouch_UIKit_UIApplication_MonoTouch_Fo
> undation_NSDictionary + 371
> 19. 18 MyApp 0x0033d493
> wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intp
> tr + 199
> 20. 19 MyApp 0x007cf406 mono_jit_runtime_invoke (mini.c:5792)
> 21. 20 MyApp 0x0084afd2 mono_runtime_invoke (object.c:2788)
> 22. 21 MyApp 0x0076687c
> native_to_managed_trampoline_MyApp_AppDelegate_FinishedLaunching
> (registrar.m:654)
> 23. 22 UIKit 0x306cdcaa -[UIApplication
> _callInitializationDelegatesForURL:payload:suspended:] + 1182
> 24. 23 UIKit 0x306c77dc -[UIApplication
> _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 408
> 25. 24 UIKit 0x30695ac2 -[UIApplication handleEvent:withNewEvent:] + 1010
My guess is that it's a NullReferenceException in your custom UITextField.
Have in mind that you can't catch NullReferenceExceptions when you're using
TestFlight, they'll automatically be treated as crashes (mono never seems
them actually).

Rolf
 
> (cut due to size)
> 
> Thanks,
> 
> Karl
> 
> 
> _______________________________________________
> MonoTouch mailing list
> [email protected]
> http://lists.ximian.com/mailman/listinfo/monotouch
> 



_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to