#25659 closed defect (worksforme)

Race-condition loading add-ons in Orfox

Reported by: sysrqb Owned by: tbb-team
Priority: High Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords: tbb-mobile
Cc: igt0 Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

It seems like there is a race condition when loading add-on at first-install/run. We noticed https-everywhere sometimes is not installed after freshly installing Orfox.

Is this a regressions from 52.2.x?

When https-everywhere is not installed during the first-run after installing, the .xpi is copied into <profile_dir>/extensions/staged/ but it remains there. Restarting the app does not cause it to be installed.

However, we found Orfox does install the https-everywhere extension if we disable the NoScriptAnywhere (NSA) extensions and then restart the app.

But it seems NSA is not the cause of this problem because after reinstalling the Orfox app (and confirming https-everywhere was not installed), we found https-everywhere is installed after toggling extensions.logging.enabled and then restarting the app. Maybe the extra logging slows the app enough.

Child Tickets

Change History (5)

comment:1 Changed 14 months ago by sysrqb

(This may be the first known example of "Mozilla don't support ESR on mobile".)

comment:2 Changed 14 months ago by sysrqb

hm. I built a new apk with extensions.logging.enabled = true so we get logging on first-run.

I/Gecko   (28133): 1522192347000        addons.xpi      DEBUG   Addon https-everywhere@eff.org will be installed as a packed xpi
I/Gecko   (28133): 1522192347000        addons.xpi      DEBUG   Addon tor-browser-settings@torproject.org will be installed as a packed xpi
I/Gecko   (28133): 1522192347100        addons.xpi      DEBUG   Addon {73a6fe31-595d-460b-a920-fcc0f8843232} will be installed as a packed xpi
I/Gecko   (28133): 1522192347100        addons.xpi      DEBUG   Staged install of https-everywhere@eff.org from file:///data/data/info.guardianproject.orfox/distribution/extensions/https-everywhere@eff.org.xpi ready; waiting for restart.

Staged install of https-everywhere@eff.org [...] ready; waiting for restart.

This doesn't explain why it isn't loaded after restarting the app, but this explains why it isn't loaded on first-run. With this install, it is loaded after restarting the app.

I/Gecko   (28760): 1522193195700        addons.xpi      DEBUG   Found updated metadata for https-everywhere@eff.org in app-profile
I/Gecko   (28760): 1522193195700        addons.xpi      DEBUG   Processing install of https-everywhere@eff.org in app-profile

I wonder what happens if I clear the app's cache/data and start fresh, but toggle extension.logging.enabled so it is enabled on first-run but disabled on second-run. Does the logging make a difference?

comment:3 in reply to:  2 Changed 14 months ago by sysrqb

Replying to sysrqb:

I wonder what happens if I clear the app's cache/data and start fresh, but toggle extension.logging.enabled so it is enabled on first-run but disabled on second-run. Does the logging make a difference?

No, logging did not make a difference here. It finished installing after restarting.

comment:4 Changed 14 months ago by sysrqb

Status: newneeds_information

Okay, now I'm not sure if this is a bug - it may be working-as-intended. I reinstalled the app from f-droid and the add-on is enabled on the second-run. I'll continue playing with this and see if I can reproduce the original issue. I wonder if I wasn't patient enough earlier.

comment:5 Changed 11 months ago by sysrqb

Resolution: worksforme
Status: needs_informationclosed

We can't reproduce this anymore.

Note: See TracTickets for help on using tickets.