adblock plus add-on update is broken

VERIFIED FIXED in Firefox 27

Status

()

Toolkit
Add-ons Manager
--
major
VERIFIED FIXED
4 years ago
7 months ago

People

(Reporter: Virtual, Assigned: Irving)

Tracking

(Depends on: 2 bugs, Blocks: 1 bug, {nightly-community, regression})

26 Branch
mozilla27
nightly-community, regression
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox25 unaffected, firefox26+ wontfix, firefox27+ verified)

Details

User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 (Beta/Release)
Build ID: 20131007030203

Steps to reproduce:

1. Install older version of Adblock Plus from https://downloads.adblockplus.org/devbuilds/adblockplus/
2. Go to "Add-ons Manager" and check for updates to update Adblock Plus add-on to latest version


Actual results:

Add-on is updated but it didn't work, oddly add-ons manager shows that this add-on is enabled.
Disabling and enabling this add-on in Add-ons Manager is in some way workaround to not restet browser and get the add-on enabled after update.


Expected results:

Restartless add-on should be updated and should be also working after update.
Severity: normal → major
Keywords: regression, regressionwindow-wanted
Summary: Restartless extension update is broken → Restartless add-on update is broken

Comment 1

4 years ago
Error in Error console:

Warning: WARN addons.xpi: Exception running bootstrap method startup on {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}: [Exception... "Component returned failure code: 0xc1f30100 (NS_ERROR_FACTORY_EXISTS) [nsIComponentRegistrar.registerFactory]"  nsresult: "0xc1f30100 (NS_ERROR_FACTORY_EXISTS)"  location: "JS frame :: resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/***/AppData/Roaming/Mozilla/Firefox/Profiles/fos6s3nl.27/extensions/%7Bd10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d%7D.xpi!/bootstrap.js -> jar:file:///C:/Users/***/AppData/Roaming/Mozilla/Firefox/Profiles/fos6s3nl.27/extensions/%7Bd10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d%7D.xpi!/lib/contentPolicy.js :: PolicyImplementation.init :: line 368"  data: no]
Source File: resource://gre/modules/XPIProvider.jsm -> jar:file:///C:/Users/***/AppData/Roaming/Mozilla/Firefox/Profiles/fos6s3nl.27/extensions/%7Bd10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d%7D.xpi!/bootstrap.js -> jar:file:///C:/Users/***/AppData/Roaming/Mozilla/Firefox/Profiles/fos6s3nl.27/extensions/%7Bd10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d%7D.xpi!/lib/contentPolicy.js
Line: 368


Regrssion window(m-c)
Good:
http://hg.mozilla.org/mozilla-central/rev/fd59f2cfbbff
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 ID:20130810032339
Bad:
http://hg.mozilla.org/mozilla-central/rev/3d20597e0a07
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 ID:20130811002840
Pushlog:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=fd59f2cfbbff&tochange=3d20597e0a07

Regrssion window(fx-team)
Good:
http://hg.mozilla.org/integration/fx-team/rev/a0114f95b034
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 ID:20130810054540
Bad:
http://hg.mozilla.org/integration/fx-team/rev/61e0fb09a73c
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0 ID:20130810164741
Pushlog:
http://hg.mozilla.org/integration/fx-team/pushloghtml?fromchange=a0114f95b034&tochange=61e0fb09a73c

Regressed by: Bug 853388
Blocks: 853388
Status: UNCONFIRMED → NEW
tracking-firefox26: --- → ?
tracking-firefox27: --- → ?
Ever confirmed: true
Keywords: regressionwindow-wanted
Version: unspecified → 26 Branch
From the error, it sounds like this only affects restartless addons that implement content policies?
Interesting that the update doesn't work, but disabling and re-enabling the add-on fixes it. I'll try to reproduce in my test environment.
Assignee: nobody → irving
Status: NEW → ASSIGNED
Related to bug 905357 perhaps?
Yes, it appears that the changes in async timing for some XPI Provider operations has changed sync/async behaviour enough that the AdBlock Plus workaround for bug 753687 is failing. I have a bit more investigation to do before I'm certain, but that's my working theory right now.
Blocks: 467520
No longer blocks: 853388
(In reply to :Irving Reid from comment #5)
> Yes, it appears that the changes in async timing for some XPI Provider
> operations has changed sync/async behaviour enough that the AdBlock Plus
> workaround for bug 753687 is failing.

Yes, I can confirm that. XPI Provider is now uninstalling the old version and installing the new one synchronously, executing asynchronous actions in between isn't possible. As a work-around for bug 753687 Adblock Plus only removes the category entries synchronously on uninstall, the factory has to be unregistered asynchronously. However, this now means that the factory is still there when the new version tries to register it on install which is what causes the failure.
"exposed by" bug 853388 is worth tracking with the dependency tree.
Blocks: 853388
Summary: Restartless add-on update is broken → adblock plus add-on update is broken
Oops, didn't mean to remove the dependency on bug 853388. At this point, I thing the right approach is to fix bug 753687 rather than leave clients of nsCategoryCache having to do async workarounds.
Depends on: 753687
Bug 771441 is the long-term fix for this type of issue.
Depends on: 771441
status-firefox25: --- → unaffected
status-firefox26: --- → affected
status-firefox27: --- → affected
tracking-firefox26: ? → +
tracking-firefox27: ? → +
Note that Adblock Plus 2.4 (released on Wednesday) works around this issue. So this bug as filed can be resolved - actual work should happen in bug 753687 and bug 771441 anyway.
Depends on: 929013
Based on the ABP workaround and fix to bug 753687 I agree with resolving this.
Status: ASSIGNED → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
status-firefox27: affected → fixed
Target Milestone: --- → mozilla27
Irving - should we be uplifting the fix in bug 753687 to mozilla-beta then to ensure this is also fixed on FF26?
Flags: needinfo?(irving)
Sounds like a good idea to me. I'll fill in the a? form on bug 753687.
Flags: needinfo?(irving)
based on the a- on bug 753687, do we still need tracking-26 on this bug?
Flags: needinfo?(lsblakk)
Indeed we do not - thanks for calling it out.
tracking-firefox26: + → -
Flags: needinfo?(lsblakk)
Looks like we ended up not taking bug 753687... But I suppose from bug 753687 comment 15 that we don't need to track this.
status-firefox26: affected → wontfix
tracking-firefox26: - → +
I'm not able to reproduce this issue on Win 8 64-bit, neither with the Nightly from 2013-08-10 nor the one from 2013-08-11.

The add-on is updated properly in the Add-ons Manager (to the latest version: 2.4.1.3756) and it also seems to be working: I tried to block an image from cnn.com and it worked.

Also, I'm not seeing in the console the error mentioned in comment 1.

Any thoughts/suggestions?
Flags: needinfo?(BernesB)
(In reply to Manuela Muntean [:Manuela] [QA] from comment #18)
> I'm not able to reproduce this issue on Win 8 64-bit, neither with the
> Nightly from 2013-08-10 nor the one from 2013-08-11.
> 
> The add-on is updated properly in the Add-ons Manager (to the latest
> version: 2.4.1.3756) and it also seems to be working: I tried to block an
> image from cnn.com and it worked.

See comment 7 and comment 11 - current Adblock Plus versions are no longer affected.
Verified as fixed based on comment 19.
status-firefox27: fixed → verified
You need to log in before you can comment on or make changes to this bug.