Yeah I like the idea of 'Debug Prefs' a lot.

• Do not restore tabs - Skip tab restoration the next time we start up.
• Upload crash reports - Maybe start with a minimal UI that just is there
to give Breakpad time
• Do not start internal web server
• Send logs - Start the app with a mail composer with the logs attached. We
must be sure to not overwrite old logs though!

We can't submit this to the app store but I am pretty sure we will be fine
if we send this to TestFlight or Aurora testers.

 S.

On Mon, Nov 9, 2015 at 11:49 AM, Steph Leroux <sler...@mozilla.com> wrote:

> With regards to implementing a debug menu outside of the app, we can use a
> settings bundle (
> https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/UserDefaults/Preferences/Preferences.html)
> to create a basic menu screen outside of the app that allows the user to
> toggle preferences in user defaults that we can check on app launch. For
> example, we can add an option to clear saved tabs if we thought that is the
> culprit. Are there any more options we want to be able toggle from outside
> the app? We could even maybe add a setting to wait to launch the app until
> Breakpad uploads the previous crash.
>
> On Mon, Nov 9, 2015 at 10:16 AM, Richard Newman <rnew...@mozilla.com>
> wrote:
>
>> That'd be interesting to see, particularly if we can ship a build with
>> more logging.
>>
>> I just filed Bug 1223017
>> <https://bugzilla.mozilla.org/show_bug.cgi?id=1223017>, which could be a
>> culprit.
>>
>>
>>
>> On Mon, Nov 9, 2015 at 12:46 AM, Lawrence Mandel <lman...@mozilla.com>
>> wrote:
>>
>>> Someone in the Toronto office (maybe Olivier) told me that Firefox for
>>> iOS became unusable for them due to startup crashes after enabling sync. If
>>> their phone is still in this state it may be useful for debugging.
>>>
>>> Lawrence
>>>
>>> On Sun, Nov 8, 2015 at 11:55 PM, Richard Newman <rnew...@mozilla.com>
>>> wrote:
>>>
>>>> Ideas from me.
>>>>
>>>>    - I've heard that Chrome suffers from something similar. Could this
>>>>    be an OS bug? Can we look through the Chromium bug DB?
>>>>    - Otherwise, early-stage startup
>>>>    (application:willFinishLaunchingWithOptions) includes:
>>>>       - Setting our UA. If we can't get our shared container
>>>>       identifier, for example, then we'll force-unwrap nil. The first time 
>>>> (and
>>>>       after each OS upgrade) we need to create a webview to find the 
>>>> default UA!
>>>>       - Setting up the keyboard helper. Aaron saw this with a stalled
>>>>       splash screen:
>>>>       https://gist.github.com/AaronMT/6ff5e0f5f846755bbd72
>>>>       - Setting up the file logger. We have a known startup crash: Bug
>>>>       1218832 <https://bugzilla.mozilla.org/show_bug.cgi?id=1218832>.
>>>>       - Setting up the web server with a fixed port. What happens if
>>>>       that port is taken these days? Can we install a simple test app that
>>>>       collides, and find out?
>>>>       - Touching AVAudioSession. This scares the heck out of me for
>>>>       obvious reasons.
>>>>       - Initing Breakpad itself, which we init at startup; an analog
>>>>       of something like Bug 1218832
>>>>       <https://bugzilla.mozilla.org/show_bug.cgi?id=1218832>, but
>>>>       obviously this would deprive us of crash reports… if we have a user 
>>>> who can
>>>>       repro, we could push out a TF/Aurora build that doesn't init 
>>>> Breakpad, see
>>>>       if it fixes things.
>>>>       - If we're worried about opening too many webviews early, can we
>>>>    just delay restore, or open them sequentially, or alter our zombie 
>>>> behavior?
>>>>
>>>>
>>>> On the subject of Sync: there are two aspects to this.
>>>>
>>>> One is Sync-related code. That's unlikely to be the culprit: we don't
>>>> even start the syncing timer until applicationDidBecomeActive, which should
>>>> be after the splash screen disappears, and that timer doesn't fire until
>>>> fifteen minutes have elapsed.
>>>>
>>>> The other is Sync-related data volumes. There have been a bunch of
>>>> kinda muddled descriptions of "startup crash". One of them led to the chain
>>>> of reasoning in Bug 1213623
>>>> <https://bugzilla.mozilla.org/show_bug.cgi?id=1213623>:
>>>>
>>>> 1. It's not a crash per se, it's a timeout — we take 20 seconds then we
>>>> get killed. (That might also take down Springboard if we've consumed a lot
>>>> of memory before death…)
>>>> 2. We take 20 seconds replaying the WAL due to a ton of commits that
>>>> weren't checkpointed.
>>>> 3. => we should checkpoint more frequently and set sqlite to
>>>> autocheckpoint more often.
>>>>
>>>> Notably this *won't fix things for users who are already wedged*. If
>>>> your DB is in a state whereby the WAL can't be completely checkpointed
>>>> within 20 seconds (unlikely, but…), then you'll keep crashing. If we can't
>>>> find another suspect, then we might consider continuing to look for our car
>>>> keys under this particular streetlight.
>>>>
>>>> On Sun, Nov 8, 2015 at 7:10 PM, Stefan Arentz <sare...@mozilla.com>
>>>> wrote:
>>>>
>>>>> We still have a nasty startup crash that is happening for some people.
>>>>> Both on 1.0.1 and 1.2.
>>>>>
>>>>> (Note that 1.2 is not released yet. We will release 1.1 pretty soon
>>>>> and 1.2 is ready as a followup bugfix release)
>>>>>
>>>>> *This bug will deserves high priority*
>>>>>
>>>>> I would like to start a discussion here to figure out what we can do
>>>>> in terms of debugging this.
>>>>>
>>>>> As a refresher, here are some details that we have been able to
>>>>> extract from testers:
>>>>>
>>>>> * The app starts, but does not go past the splash screen
>>>>> * We have had reports of this for both iPhone and iPad
>>>>> * People report that the device reboots (the white apple on black
>>>>> screen happens) - but in reality it is just SpringBoard (the home screen)
>>>>> restarting
>>>>> * We have one console log -
>>>>> https://bugzilla.mozilla.org/show_bug.cgi?id=1220847#c0
>>>>> * We do not see this crash in Xcode or in crash-stats
>>>>>
>>>>> What did I miss?
>>>>>
>>>>> Some thoughts:
>>>>>
>>>>> * We need to figure out what code exactly is executed while the splash
>>>>> screen is visible
>>>>> * Can we add some verbose logging to the application to find out how
>>>>> far it progresses before the crash happens? What do we do before it 
>>>>> happens.
>>>>> * Not sure if this is related to sync - how do we confirm
>>>>> * Gut feeling says it is related to opening many webviews at startup -
>>>>> how do we confirm
>>>>> * In our test builds we can include debugging code and extra UI to
>>>>> help debug this. Because this is a startup bug, we can also consider to
>>>>> include system preferences. For example I would like to see a "Close Tabs
>>>>> at Startup" checkbox there that when flipped removes the tab state
>>>>> restoration file. That way we can ask people who see this crash to try 
>>>>> some
>>>>> things and see if they get past it.
>>>>>
>>>>> All ideas welcome.
>>>>>
>>>>>  S.
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> mobile-firefox-dev mailing list
>>>>> mobile-firefox-dev@mozilla.org
>>>>> https://mail.mozilla.org/listinfo/mobile-firefox-dev
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> mobile-firefox-dev mailing list
>>>> mobile-firefox-dev@mozilla.org
>>>> https://mail.mozilla.org/listinfo/mobile-firefox-dev
>>>>
>>>>
>>>
>>
>> _______________________________________________
>> mobile-firefox-dev mailing list
>> mobile-firefox-dev@mozilla.org
>> https://mail.mozilla.org/listinfo/mobile-firefox-dev
>>
>>
>
_______________________________________________
mobile-firefox-dev mailing list
mobile-firefox-dev@mozilla.org
https://mail.mozilla.org/listinfo/mobile-firefox-dev

Reply via email to