Closed Bug 1090820 Opened 10 years ago Closed 9 years ago

OTA update check never clears status

Categories

(Firefox OS Graveyard :: Runtime, defect)

x86
macOS
defect
Not set
normal

Tracking

(blocking-b2g:2.2+, b2g-v2.1 unaffected, b2g-v2.2 fixed)

RESOLVED FIXED
2.2 S3 (9jan)
blocking-b2g 2.2+
Tracking Status
b2g-v2.1 --- unaffected
b2g-v2.2 --- fixed

People

(Reporter: dietrich, Assigned: markus)

References

Details

(Keywords: regression)

Attachments

(1 file)

Flame, nightly channel (master+m-c), Oct 28 build.

STR:

1. Check for updates
2. Update notification received

Expected: Settings clears the "Checking for updates..." status text.

Actual: The text remains.

Logcat (error at end):

I/Gecko   (  206): UpdatePrompt: Forcing update check
I/Gecko   (  206): *** AUS:SVC Checker: checkForUpdates, force: true
I/GeckoConsole(  206): AUS:SVC Checker: checkForUpdates, force: true
I/Gecko   (  206): *** AUS:SVC Checker:getUpdateURL - update URL: https://aus4.mozilla.org/update/3/B2G/36.0a1/20141027160203/flame/en-US/nightly/Boot2Gecko%202.2.0.0-prerelease%20(SDK%2019)/default/default/update.xml?force=1
I/GeckoConsole(  206): AUS:SVC Checker:getUpdateURL - update URL: https://aus4.mozilla.org/update/3/B2G/36.0a1/20141027160203/flame/en-US/nightly/Boot2Gecko%202.2.0.0-prerelease%20(SDK%2019)/default/default/update.xml?force=1
I/Gecko   (  206): *** AUS:SVC Checker:checkForUpdates - sending request to: https://aus4.mozilla.org/update/3/B2G/36.0a1/20141027160203/flame/en-US/nightly/Boot2Gecko%202.2.0.0-prerelease%20(SDK%2019)/default/default/update.xml?force=1
I/GeckoConsole(  206): AUS:SVC Checker:checkForUpdates - sending request to: https://aus4.mozilla.org/update/3/B2G/36.0a1/20141027160203/flame/en-US/nightly/Boot2Gecko%202.2.0.0-prerelease%20(SDK%2019)/default/default/update.xml?force=1
I/GeckoDump(  206): XXX FIXME : Got a mozContentEvent: force-update-check
I/Gecko   (  206): *** AUS:SVC Checker:onLoad - request completed downloading document
I/GeckoConsole(  206): AUS:SVC Checker:onLoad - request completed downloading document
I/Gecko   (  206): *** AUS:SVC Checker:getUpdateURL - update URL: https://aus4.mozilla.org/update/3/B2G/36.0a1/20141027160203/flame/en-US/nightly/Boot2Gecko%202.2.0.0-prerelease%20(SDK%2019)/default/default/update.xml?force=1
I/GeckoConsole(  206): AUS:SVC Checker:getUpdateURL - update URL: https://aus4.mozilla.org/update/3/B2G/36.0a1/20141027160203/flame/en-US/nightly/Boot2Gecko%202.2.0.0-prerelease%20(SDK%2019)/default/default/update.xml?force=1
I/Gecko   (  206): *** AUS:SVC Checker:onLoad - number of updates available: 1
I/GeckoConsole(  206): AUS:SVC Checker:onLoad - number of updates available: 1
I/Gecko   (  206): UpdatePrompt: Setting gecko.updateStatus: check-complete
W/GeckoConsole(  206): [JavaScript Error: "formatURLPref: Couldn't get pref: app.update.url.details" {file: "jar:file:///system/b2g/omni.ja!/components/nsURLFormatter.js" line: 136}]
Still getting same every time, but I realized there's better STR now:

1. Ensure there's a system update available
2. Check for updates

Problem #1: If there's a system update available, the status text never changes from "Checking for updates...".

Problem #2: If there's no system update available, the status text appends "No updates were found" on the next line. It should *replace* "Checking for updates..." not just append.

Adding qawanted for confirmation.
Keywords: qawanted
This absolutely will block 2.2 because regression, nominating.

QA, please check 2.1 to make sure it's not also there. Thanks!
blocking-b2g: --- → 2.2?
Hm, app.update.url.details isn't in Gaia, which means this might be a problem in the back-end update code.

Which means maybe two different bugs:

1. the back-end issue causing the notification never to be sent to the front-end (resulting in text update in UI)

2. the front-end not replacing/removing the "checking..." text when the notification *is* sent
Tested with Shallow Flash on 319mb using Engineering builds

This bug does NOT repro on Flame kk build: Flame 2.1 KK

Actual Result: I've checked multiple 2.1 builds both Engineering builds and Nightly builds and have not seen this bug in 2.1. I've seen other bugs which we are looking into but not this specific issue.

Repro Rate: 0/3

Environmental Variables:
Device: Flame 2.1 KK
BuildID: 20141117201226
Gaia: 1b231b87aad384842dfc79614b2a9ca68a4b4ff3
Gecko: 95fbd7635152
Version: 34.0 (2.1) 
Firmware Version: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0

-----------------------------------------------------------------
-----------------------------------------------------------------

Environmental Variables:
Device: Flame 2.1 Nightly
BuildID: 20141113001200
Gaia: 569a299ca446f714cd98d5881cc058fd6f6e257b
Gecko: d188e92aa5a6
Version: 34.0 (2.1) 
Firmware Version: v188-1
User Agent: Mozilla/5.0 (Mobile; rv:34.0) Gecko/34.0 Firefox/34.0
QA Whiteboard: [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
Keywords: qawanted
QA Contact: croesch
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmitchell)
QA Contact: croesch
can we get a regression-window on master please?
I've tried to reproduce this issue. What I've discovered is that |apps.updateStatus| has no value after check for software updates, but only after a full-reset. If I reset the device then everything works properly.

From my point of view, there is no gaia issue here. If we see the condition which hides the |Cheking for update...| we can see that if one of the update settings haven't a value, the sentence will not be hidden [1].

[1] https://github.com/mozilla-b2g/gaia/blob/master/apps/settings/js/panels/about/update_check.js#L86-L88

Hope this helps
QA Contact: ddixon
B2G Inbound Regression Window

(Flame 2.2, eng. build, 319 MB memory)

Last Working

Device: Flame 2.2
BuildID: 20141014120254
Gaia: 1a85a538cb0a860b3dc75513fd876b8452d917c5
Gecko: de6a6426c594
Version: 36.0a1 (2.2)
Firmware: V188-1
User Agent: Mozilla/5.0 (Mobile; rv:36.0) Gecko/36.0 Firefox/36.0

First Broken

Device: Flame 2.2
BuildID: 20141014123254
Gaia: 1a85a538cb0a860b3dc75513fd876b8452d917c5
Gecko: 35da15d147c5
Version: 36.0a1 (2.2)
Firmware: V188-1
User Agent: Mozilla/5.0 (Mobile; rv:36.0) Gecko/36.0 Firefox/36.0

Last Working Gaia and First Broken Gecko
Issue DOES occur here. 
Gaia: 1a85a538cb0a860b3dc75513fd876b8452d917c5
Gecko: 35da15d147c5

Last Working Gecko and First Broken Gaia
Issue DOES NOT occur here. 
Gaia: 1a85a538cb0a860b3dc75513fd876b8452d917c5
Gecko: de6a6426c594

Gecko Pushlog: 
hg.mozilla.org/integration/b2g-inbound/pushloghtml?fromchange=de6a6426c594&tochange=35da15d147c5

Possible Cause: 

https://bugzilla.mozilla.org/show_bug.cgi?id=1077529
QA Whiteboard: [QAnalyst-Triage+] → [QAnalyst-Triage?]
Flags: needinfo?(jmitchell)
Possibly broken by bug 1077529  - NI to patch author to investigate
QA Whiteboard: [QAnalyst-Triage?] → [QAnalyst-Triage+]
Flags: needinfo?(jmitchell) → needinfo?(zoran.jovanovic)
QA Contact: ddixon
Will look into it. The patch in bug 1077529 preserves original behavior for packaged and regular hosted apps, but additionally checks manifests of trusted hosted apps and continues with the update as before. Doesn't look like it should be causing this issue. (It passes regression tests locally and passed them on integration.)

Could you please provide detailed steps to reproduce and full log? Thanks.
Flags: needinfo?(zoran.jovanovic) → needinfo?(jmitchell)
Redirecting comment 9 to Bug Reporter
Flags: needinfo?(jmitchell) → needinfo?(dietrich)
The steps are already detailed above.

Flame, v188 base, nightly channel from our very own builds (mozilla-central + gaia master).

Then manually check for updates when there's a system update available.

The relevant parts of the logcat are also above.
Flags: needinfo?(dietrich)
(In reply to Dietrich Ayala (:dietrich) from comment #11)
> 
> The relevant parts of the logcat are also above.
A bit more context to better understand the circumstances would be nice, though. Could you, please, zip the log and send? Thanks.
Sent all logs to you via email, thanks Zoran!
I'm not able to create eng builds to reproduce this issue.
I've checked out gaia 1a85a538cb0a860b3dc75513fd876b8452d917c5 and gecko de6a6426c594 that should be the "Last Working" revision.
When I then build and try the "Check for Updates" only this line appears in the log:

I/GeckoDump(  206): XXX FIXME : Got a mozContentEvent: force-update-check

After some investigation I noticed that the return statement http://dxr.mozilla.org/mozilla-central/source/b2g/chrome/content/shell.js#966 is reached, i.e. it fails to get update-prompt. After testing a few different configurations I got the following .userconfig settings to work:

VARIANT=userdebug
B2G_UPDATER=1
export B2G_UPDATE_CHANNEL=nightly

With these settings, as far as I can tell, the "Check for Updates" code work as is should on the "Last Working" revision as well as the latest, so this issue only seem to occur on the eng. builds. If you have the time, please confim that it works on user/userdebug builds.
I've done my best to find a working configuration for eng builds, but haven't been able to find one.
Any help with that would be most welcome as I don't think I can progress further without it.

Thanks.
Flags: needinfo?(dietrich)
Flags: needinfo?(ddixon)
Hi Markus, 

This video illustrates what I am seeing in a recent Flame 2.2 build (Full Flash, nightly, 319 MB memory). 

Video URL: 
http://youtu.be/Uz62dCgLCNc

Actual Results: "Checking for updates..." text is NOT replaced by "No updates were found" after user selects Check Now button. 

Expected Results: "Checking for updates..." is replaced by "No updates were found" after user selects Check Now button. 

Device: Flame 2.2
BuildID: 20141201040205
Gaia: 39214fb22c203e8849aaa1c27b773eeb73212921
Gecko: 08be3008650f
Gonk: 48835395daa6a49b281db62c50805bd6ca24077e
Version: 37.0a1 (2.2)
Firmware: V188-1
User Agent: Mozilla/5.0 (Mobile; rv:37.0) Gecko/37.0 Firefox/37.0
Flags: needinfo?(ddixon)
app.manifest isn't always set, so there was a crash in the appKind function for non-packaged apps.
Flags: needinfo?(dietrich)
Attachment #8532043 - Flags: review?(jonas)
Attachment #8532043 - Flags: review?(fabrice)
Attachment #8532043 - Flags: review?(dietrich)
Attachment #8532043 - Flags: review?(jonas)
Attachment #8532043 - Flags: review?(fabrice)
Attachment #8532043 - Flags: review?(dietrich)
Attachment #8532043 - Flags: review+
Component: Gaia::Settings → Runtime
blocking-b2g: 2.2? → 2.2+
https://hg.mozilla.org/mozilla-central/rev/2dcf6d304cd2
Assignee: nobody → markus.nilsson
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → 2.2 S3 (9jan)
Depends on: 1186332
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: