Opened 5 years ago

Closed 5 years ago

#13049 closed defect (fixed)

browser updater failure (self.update is undefined)

Reported by: mcs Owned by: mcs
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Keywords: tbb-firefox-patch, TorBrowserTeam201409, MikePerry201409R
Cc: brade, gk, mikeperry, erinn Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

In testing the updater using the candidate 4.0a2 builds, brade and I found a problem that causes the update to silently fail. On the browser console, we see:

[15:20:56.361] WARN addons.manager: Exception calling callback:
  TypeError: self.update is undefined @ chrome://browser/content/aboutDialog.js:439

It looks like we used self.update in a couple of functions where we should have used this.update. I am not sure why these code paths were not exercised in our earlier testing, but we are working on a fix right now.

If it is not too late, we should respin 4.0a2 to pick up this fix.

Child Tickets

Change History (9)

comment:1 Changed 5 years ago by mcs

Cc: erinn added

comment:2 Changed 5 years ago by mcs

OK, it turns out that the bad code paths are not exercised when the platformVersion in the update manifest is >= the current platform version. In our testing, we used an old static update manifest that listed platformVersion as 24.7 instead of 24.8 or higher, and so we encountered this bug.

So maybe the updater in 4.0a2 will work after all :).
Regardless, a fix is coming soon.

comment:3 Changed 5 years ago by mcs

I may have spoken too soon. It looks like platformVersion 31.x.x will cause this bug to occur, while 24.9 does not.

comment:4 Changed 5 years ago by mcs

Resolution: fixed
Status: newclosed

Here is the fix:

https://gitweb.torproject.org/user/brade/tor-browser.git/commit/9906e7e26e1dcbf313121dbf46e5a22aa185fd05

Please merge this into the main repo.

The problem with a 31.x update occurs for non-English bundles. Since the language pack is an add-on and since it has maxVersion 24.* in its install.rdf, the updater code wants to check to ensure that a compatible update is available for the language pack before it starts downloading a browser update (if not, it will put up a prompt to warn the user about incompatible add-ons). The same problem might occur with a third party add-on.

So, in summary, the 4.0a2 updater fail in either of the following scenarios:

1) English bundle with one or more extra add-ons installed that do not advertise compatibility with the platformVersion of the update.

2) Non-English bundle while upgrading to a 31.x-based browser.

comment:5 Changed 5 years ago by mcs

Keywords: tbb-firefox-patch TorBrowserTeam201409 MikePerry201409R added
Resolution: fixed
Status: closedreopened

Oops. I should not have closed this yet (since it has not been reviewed or merged into the main tor-browser repo)

comment:6 Changed 5 years ago by mikeperry

So if we release a 4.0a3 based on 24.8.0, it is your estimation that the updater will still work?

comment:7 in reply to:  6 Changed 5 years ago by mcs

Replying to mikeperry:

So if we release a 4.0a3 based on 24.8.0, it is your estimation that the updater will still work?

Yes, although I have been wrong before ;)
Kathy and I will continue to do some more updater testing in between ESR31 work, although I am sure there is no substitute for real world testing.

comment:8 Changed 5 years ago by mcs

Status: reopenedneeds_review

comment:9 Changed 5 years ago by mikeperry

Resolution: fixed
Status: needs_reviewclosed

Fixed in 4.0a3.

Note: See TracTickets for help on using tickets.