Tor Browser update keeps failing

I have been trying to get the tor browser on Qubes-Whonix update to version 12.0.3. But it keeps failing. It has been failing for hours during my attempts yesterday, and it is failing today, too. Leaving me in a position to use the outdated Tor Browser.

Here’s what I have been doing to get the Tor Browser updated:

  1. Do a full qubes os system update using the following command: $ sudo qubesctl --show-output state.sls update.qubes-dom0 && sudo qubesctl --show-output --skip-dom0 --templates state.sls update.qubes-vm

    This comand results in a successful update for whonix-ws-16, which I saw tb-updater being updated to the newest version.

  2. After the 1st step, the Tor Browser is still on the version 12.0.2 and the browser nags me about an update to version 12.0.3 available. So, I do QubesOS Applications Button (on tray) > Template: whonix-ws-16 > Tor Browser Updater (AnonDist)

    This opens up a dialog for updating the Tor Browser. It detects a new version is available and I confirm that I want to update. Then, it starts downloading the update, saying it might take a while. And it indeed downloads it very slowly. And after the progress bar fills 10% or so the download fails, leaving me with the outdated Tor Browser.

Anyone else having this problem? Any tips for fixing it?

Are you wondering why Tor Browser in already existing App Qubes such as anon-whonix still isn’t updated? That is unfortunately expected. Running update-torbrowser (tb-updater) inside Template is insufficient. To update existing App Qubes, Tor Browser Internal Updater needs to be used.

This is documented here:
Update existing Tor Browser in Qubes App Qube (anon-whonix)

If tb-updater fails (which could easily fail due to networking issues), it will fail open. Meaning, it won’t break the package management. Hence (unless there are packaging issues), that command will always report success independent of whether tb-updater could really update Tor Browser.
(Which then anyhow would only help to provide updated Tor Browser in new App Qubes and Disposables, not for existing App Qubes.)

I am confused. Don’t the existing App Qubes also get the updated version of the Tor Browser, IF the Tor Browser Downloader got run and succeeded on their Template Qube?

I tried updating the Tor Browser on the whonix-ws-16 TemplateVM, BUT this time I used the terminal equivalent of the Tor Browser Downloader (AnonDist) on the Template. Namely, I used,

$ sudo update-torbrowser

inside the whonix-ws-16 template. It run and it succeeded in downloading and verifying the Tor Browser update. Then, I shut down the template and started a Tor Browser instance in a DisposableVM (aka Disposable Qube). And the Tor Browser that got started up there was of the latest version 12.0.3.

So,

I am conflicting this statement with my user experience here. What gives?

No. Only new App Qubes (or better said App Qubes that did not use torbrowser before) and Disposables.

Expected. Same as above.

This is correct. The difference is:

  • App Qubes that used torbrowser before → best updated with Tor Browser internal updater.
    • Otherwise by running update-torbrowser inside App Qube would result in a re-installation and user data would be lost. But no worries. By reading update-torbrowser conformation screen, you would know.
  • App Qubes that are new / did not use torbrowser before → will receive an updated Tor Browser if Template was updated, shut down and App Qube was restarted.
  • Disposables: will receive an updated Tor Browser if Template was updated, shut down and App Qube was restarted.

“was updated” here means: sudo update-torbrowser was either automatically run and succeed because tb-updater package was updated with the new hardcoded version number or sudo update-torbrowser was manually run in Template.

This mess is due to technical issues which are outside the control of Whonix. Tor Browser needs to be in the home folder and isn’t a proper Debian package. Technical references:

Well, I just opened one of my whonix-ws-16 app qubes, and checked: the torbrowser was of the latest version, 12.0.3. So, it seems like the existing whonix App Qube of mine effectively got its torbrowser updated, when its whonix-16-ws template updated the torbrowser using the Tor Browser Downloader (Anon Dist) on the command line. Am I misunderstanding you, or is my user experience conflicting your description?

Yes, this is my user experience, now.

Yes, this is true with my whonix qube use experience, too.

This part, I don’t understand what you are describing.

It was very most likely (automatically) updated by Tor Browser internal updater. I understand that this can contribute further confusion.

prerequisite knowledge:
Qubes-Whonix ™ Overview chapter Qubes Persistence in Whonix wiki

Tor Browser at time of writing unfortunately due to technical limitations not caused by Whonix (Tor Browser Update: Technical Details) is stored the home folder /home/user in App Qubes. Not only Tor Browser user data is stored in the home folder but the Tor Browser program itself. That’s why updates in a Qubes Template cannot a Tor Browser which already resides in the user’s home folder.

There is no mystery for me here. It is seldom that I say this, but in this case I am very certain that what I said here and what’s said in documentation is correct.

  1. Start anon-whonix App Qube

  2. start tb-updater by Whonix developers

    update-torbrowser

  3. carefully read the confirmation screen

Because if you proceed, Tor Browser will be completely re-installed and user data would be deleted.


When using Tor Browser internal updater there “usually” is no user deleted or lost Except if Tor Browser internal updater in theory has a bug which leads to a failed update. That wasn’t reported in a while. In such a case, user data might not be lost but hard for users to extract from the user data folder. Therefore in any case, it’s always good to have backups.

Alright thanks for taking your time to reply. I think I got my tor browser updated to the latest version. But verbally understanding the update process is really a mess.