Closed Bug 504911 Opened 15 years ago Closed 12 years ago

Failed partial doesn't show ui for complete update for Firefox 3.0/3.5 partner builds from Yandex

Categories

(Toolkit :: Application Update, defect)

All
Windows XP
defect
Not set
major

Tracking

()

RESOLVED DUPLICATE of bug 774618

People

(Reporter: unghost, Unassigned)

Details

Attachments

(5 files)

STR:
1. Download Firefox 3.5 partner build from http://getfirefox.yandex.ru/FirefoxSetup.exe
2. Make partial update fail (for example remove some comment string from defaults/pref/firefox.js)
3. Check for update through Help -> Check for Updates...

Expected results: Firefox downloads partial update, restarts, fails to apply partial update, prompt user to download full update.

Actual results: Firefox downloads partial update, restarts, fails to apply partial update, shows user some broken UI (screenshots below). User is stuck with Firefox 3.5.
My guess is that Firefox partner build fails to find update snippets.
Screenshot #2 from Firefox 3.5 partner build after failing of partial update (if you press Next on Screenshot #1).
Text says: The license file for this version could not be found. Please visit the Firefox homepage for more information.
Screenshot #1 from Firefox 3.0.10 partner build after failing of partial update from 3.0.10 to 3.0.11.
Different error, same bug.
looking into this
confirmed for the 3.5-3.5.1 update with the steps to reproduce from comment #0. A partial update without this modifications in the firefox.js works as expected btw. Not sure if this problem here happen because maybe there is currently no yandex 3.5.1 build.
AUS:SVC UpdateService:_postUpdateProcessing - install of complete or only one patch offered failed... showing error.
 ----------
Ошибка: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIStringBundle.GetStringFromName]
Источник: XStringBundle
Строка: 17



nsUpdateService.js:

var partners = gPref.getChildList(PREF_PARTNER_BRANCH, { });
LOG(partners.length)//1 or 0 when called too early

1. While downloading partial update:
getUpdateChannel() -> "release-cck-yandex"

2. After browser restart:
getUpdateChannel() -> "release"

=> "release-cck-yandex" != "relese" => activeUpdate = null

severity = null
http://mxr.mozilla.org/mozilla1.9.1/source/toolkit/mozapps/update/content/updates.js#721

No string for "updateButton_null"
http://mxr.mozilla.org/mozilla1.9.1/source/toolkit/locales/en-US/chrome/mozapps/update/updates.properties#38

etc.
Might be an issue with AUS snippets and/or fallback code, adding RelEng and asking for their assistance.
I'd be very surprised if this was a problem with snippets, since vanilla MU works, and as far as we know, other partner build MU works. I'll have a look into nonetheless though.
(In reply to comment #8)
> I'd be very surprised if this was a problem with snippets, since vanilla MU
> works, and as far as we know, other partner build MU works. I'll have a look
> into nonetheless though.

Sorry, ignore the MU part here, I misread this bug in the first place.
I just tested 3.0.10 yandex, which updated to 3.0.12 without issue.
I too have reproduce the problem with 3.5 with the instructions in comment #0. I've tried both 3.5 en-US and non-yandex 3.5 ru - both of those update fine with the same instructions.

However, I *was* able to reproduce this with another 3.5 partner build. This could be related to how the AUS fallback works, I don't know. It could also be a client side updater bug for all I know.

Mike or Rob, do either of you have any idea?
I'll try to check this later today. Do you know if there is a partial update defined and if so is it the same mar file as the complete? I ask because this has happened / caused problems before and isn't valid.
(In reply to comment #14)
> I'll try to check this later today. Do you know if there is a partial update
> defined and if so is it the same mar file as the complete? I ask because this
> has happened / caused problems before and isn't valid.

In the 3.5 -> 3.5.1 cause they're hitting this URL, which has different MARs for partials and completes:
https://aus2.mozilla.org/update/3/Firefox/3.5/20090624025744/WINNT_x86-msvc/ru/release-cck-yandex/Windows_NT%205.1/yandex/1.1/update.xml?force=1

(On a sidenote, we do have partials which are the same as the completes for builds older than N-2, eg https://aus2.mozilla.org/update/3/Firefox/3.5b4/20090423191946/Darwin_Universal-gcc3/en-US/betatest/Darwin%209.7.0/default/default/update.xml?force=1)
There shouldn't be a partial mar defined which is the same as the complete mar. Can someone test if removing the partial from the update snippet fixes this? If not I can do so later today
Sorry, I confused the issue. https://aus2.mozilla.org/update/3/Firefox/3.5/20090624025744/WINNT_x86-msvc/ru/release-cck-yandex/Windows_NT%205.1/yandex/1.1/update.xml?force=1 is the URL being used in these Yandex builds - the partial MAR and complete MAR are different in it. Please ignore the "sidenote" stuff in my last comment.
Can I get an url to a Yandex 3.0.x build
=== Before update

[custom log] UpdateService:final-ui-startup
 ----------
AUS:SVC UpdateService:canUpdate - testing c:\Nets\Gecko\fx35Ya\update.test
 ----------
 ... ... ...
 ----------
AUS:SVC UpdateService:_postUpdateProcessing - no status, no update
 ----------
[custom log] DistributionCustomizer.applyCustomizations
 ----------
[custom log] DistributionCustomizer.applyPrefDefaults


=== After update

[custom log] UpdateService:final-ui-startup
 ----------
AUS:SVC UpdateService:canUpdate - testing c:\Nets\Gecko\fx35Ya\update.test
 ----------
AUS:SVC UpdateService:canUpdate - testing c:\Nets\Gecko\fx35Ya\updates\0\update.test
 ----------
AUS:SVC UpdateService:canUpdate - windowsVersion = 5.1
 ----------
AUS:SVC UpdateService:canUpdate - testing c:\Nets\Gecko\fx35Ya\update.test
 ----------
AUS:SVC UpdateService:canUpdate - able to update
 ----------
AUS:SVC General:readStatusFile - status: failed: 8, path: c:\Nets\Gecko\fx35Ya\updates\0\update.status
 ----------
[custom log] nsUpdateService -> getUpdateChannel: 'gPref.getChildList(PREF_PARTNER_BRANCH, { })' = 
 ----------
AUS:SVC General:cleanUpUpdatesDir - successfully removed update directory: c:\Nets\Gecko\fx35Ya\updates\0
 ----------
AUS:SVC General:getUpdatesDir - update directory c:\Nets\Gecko\fx35Ya\updates\0 doesn't exist, creating...
 ----------
AUS:SVC General:cleanUpUpdatesDir - successfully removed update directory: c:\Nets\Gecko\fx35Ya\updates\0
 ----------
AUS:SVC UpdateService:_postUpdateProcessing - install of complete or only one patch offered failed... showing error.
 ----------
[custom log] DistributionCustomizer.applyCustomizations
 ----------
[custom log] DistributionCustomizer.applyPrefDefaults
 ----------
Ошибка: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIStringBundle.GetStringFromName]
Источник: XStringBundle
Строка: 17
"prefservice:after-app-defaults"/"final-ui-startup" in the nsBrowserGlue.js fires after "final-ui-startup" in the nsUpdateService.js?
Sorry for letting this drop for a bit... I got caught up in bug 503959 comment #25 for the Monday releases and other bugs. I'll try to get to this on Tuesday.
I performed a full update successfully from
Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729)
to
Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13 (.NET CLR 3.5.30729)

and from
Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13 (.NET CLR 3.5.30729)
to
Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)

I'll need a version of the Yandex build that has a partial update available (e.g. Firefox 3.5.1 so there is a partial available to update to 3.5,2) to test this further.
http://imfo.ru/tmp-files/Firefox351Ya.exe
MD5 (Firefox351Ya.exe) = b62bd18d182354e61042cc8c00b56fe8
Summary: Complete update for Firefox 3.0/3.5 partner builds from Yandex doesn't work → Failed partial doesn't show ui for complete update for Firefox 3.0/3.5 partner builds from Yandex
Quite certain this is fixed by bug 774618 so duping
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: