[tbb-bugs] #20691 [Applications/Tor Browser]: Alpha updates are not getting applied when trying to update to 6.5a4(-hardened)

Tor Bug Tracker & Wiki blackhole at torproject.org
Thu Nov 17 02:44:40 UTC 2016

#20691: Alpha updates are not getting applied when trying to update to
 Reporter:  gk                        |          Owner:  tbb-team
     Type:  defect                    |         Status:  new
 Priority:  Immediate                 |      Milestone:
Component:  Applications/Tor Browser  |        Version:
 Severity:  Critical                  |     Resolution:
 Keywords:  TorBrowserTeam201611      |  Actual Points:
Parent ID:                            |         Points:
 Reviewer:                            |        Sponsor:

Comment (by mcs):

 I found signed mar files here:
 https://people.torproject.org/~gk/builds/6.5a4/ and was able to reproduce
 this problem by hosting an incremental mar file on my own server. My last-
 update.log file contained the following:
 Performing a staged update
 PATCH DIRECTORY /home/brade/Desktop/tb-
 INSTALLATION DIRECTORY /home/brade/Desktop/tb-test/Browser
 WORKING DIRECTORY /home/brade/Desktop/tb-test/Browser/updated
 ensure_copy: failed to open the file for reading: /home/brade/Desktop/tb-
 test/Browser/TorBrowser/Data/Tor/control.socket, err: 6
 failed: 6
 calling QuitProgressUI

 It seems that the updater code is not smart enough to skip Unix domain
 sockets when copying the installation directory during the staged update
 process. I was able to update successfully on a 64-bit Linux system after
 I used `about:config` to set `app.update.staging.enabled` to false. The
 bad news is that as far as I know we cannot disable staged updates from
 the update manifest (server-side XML). Using the full mar file will result
 in the same problem as gk experienced.

 I will try to think of a workaround but at the moment I do not have any
 ideas. I will ask Kathy about this problem in the morning.

 A small bit of good news: I did not do any testing, but this problem
 should not occur on Windows (no Unix domain sockets and no staged updates

 On OSX, I am able to successfully apply the update (the control port Unix
 domain socket is in the `TorBrowser-Data` directory, which is outside the
 scope of what the updater touches, so the ensure_copy problem does not
 occur). But on the OSX system that I used for testing, after the update
 was applied and the browser restarted, tor failed to start. This happened
 because quotes are missing from the `ControlPort unix:...` argument which
 was passed on the tor command line by Tor Launcher (I have spaces in my
 path). But we fixed that problem in Tor Launcher! After a little more
 investigation I learned that Tor Launcher was not updated in the profile
 or in the `TorBrowser.app/Contents/Resources/distribution/extensions`
 directory. I don't know why yet though, and we might need a new ticket for
 OSX. The dmg files have the correct Tor Launcher. I have not checked the
 complete mar files  and I have not done enough analysis to determine if
 the incremental mar files are flawed or if the updater failed to update
 the xpi properly.

Ticket URL: <https://trac.torproject.org/projects/tor/ticket/20691#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online

More information about the tbb-bugs mailing list