[e10s] Ghostery addon does not block tracker requests with e10s

RESOLVED WORKSFORME

Status

()

Firefox
Extension Compatibility
RESOLVED WORKSFORME
5 years ago
2 years ago

People

(Reporter: cpeterson, Unassigned)

Tracking

(Blocks: 1 bug, {addon-compat, dogfood})

unspecified
addon-compat, dogfood
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(e10s+)

Details

(Whiteboard: [e10s-top-addon] triaged)

(Reporter)

Description

5 years ago
STR:
1. Install Ghostery addon: https://addons.mozilla.org/en-US/firefox/addon/ghostery/
2. Configure Ghostery to block all tracking cookies.

RESULT:
Ghostery is supposed to add its icon to the Australis toolbar, but does not when e10s is enabled!

STR:
3. Then browse to a website using trackers (such as any news website).

RESULT:
Check your Firefox preferences for a list of your cookies and you will see that Ghostery did not block any tracking cookies.
(Reporter)

Updated

4 years ago
tracking-e10s: --- → +
(Reporter)

Comment 1

4 years ago
When I run Nightly 31 with Ghostery, I see the following errors in the Browser Console (and stderr):

console.error: ghostery: 
  Message: TypeError: window is null
  Stack:
    getFrames@resource://gre/modules/commonjs/sdk/window/utils.js:384:3
applyOnExistingDocuments/<@resource://gre/modules/commonjs/sdk/page-mod.js:191:7
applyOnExistingDocuments@resource://gre/modules/commonjs/sdk/page-mod.js:185:3
PageMod@resource://gre/modules/commonjs/sdk/page-mod.js:130:7
@resource://gre/modules/commonjs/sdk/core/disposable.js:48:56
dispatch@resource://gre/modules/commonjs/method/core.js:119:5
Disposable<.initialize@resource://gre/modules/commonjs/sdk/core/disposable.js:69:17
constructor@resource://gre/modules/commonjs/sdk/core/heritage.js:145:23
loadDOMScannerPageMod@resource://firefox-at-ghostery-dot-com/ghostery/lib/background.js:823:3
loadPageMods@resource://firefox-at-ghostery-dot-com/ghostery/lib/background.js:993:2
init@resource://firefox-at-ghostery-dot-com/ghostery/lib/background.js:1585:2
@resource://firefox-at-ghostery-dot-com/ghostery/lib/background.js:2161:1
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:129:9
run@resource://gre/modules/commonjs/sdk/addon/runner.js:149:9
startup/<@resource://gre/modules/commonjs/sdk/addon/runner.js:113:7
Handler.prototype.process@resource://gre/modules/Promise-backend.js:863:11
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise-backend.js:742:7

*************************
A coding exception was thrown in a Promise resolution callback.

Full message: TypeError: window is null
See https://developer.mozilla.org/Mozilla/JavaScript_code_modules/Promise.jsm/Promise
Full stack: getFrames@resource://gre/modules/commonjs/sdk/window/utils.js:384:3
applyOnExistingDocuments/<@resource://gre/modules/commonjs/sdk/page-mod.js:191:7
applyOnExistingDocuments@resource://gre/modules/commonjs/sdk/page-mod.js:185:3
PageMod@resource://gre/modules/commonjs/sdk/page-mod.js:130:7
@resource://gre/modules/commonjs/sdk/core/disposable.js:48:56
dispatch@resource://gre/modules/commonjs/method/core.js:119:5
Disposable<.initialize@resource://gre/modules/commonjs/sdk/core/disposable.js:69:17
constructor@resource://gre/modules/commonjs/sdk/core/heritage.js:145:23
loadDOMScannerPageMod@resource://firefox-at-ghostery-dot-com/ghostery/lib/background.js:823:3
loadPageMods@resource://firefox-at-ghostery-dot-com/ghostery/lib/background.js:993:2
init@resource://firefox-at-ghostery-dot-com/ghostery/lib/background.js:1585:2
@resource://firefox-at-ghostery-dot-com/ghostery/lib/background.js:2161:1
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:129:9
run@resource://gre/modules/commonjs/sdk/addon/runner.js:149:9
startup/<@resource://gre/modules/commonjs/sdk/addon/runner.js:113:7
Handler.prototype.process@resource://gre/modules/Promise-backend.js:863:11
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise-backend.js:742:7

*************************
console.error: ghostery: 
  Message: TypeError: window is null
  Stack:
    getFrames@resource://gre/modules/commonjs/sdk/window/utils.js:384:3
applyOnExistingDocuments/<@resource://gre/modules/commonjs/sdk/page-mod.js:191:7
applyOnExistingDocuments@resource://gre/modules/commonjs/sdk/page-mod.js:185:3
PageMod@resource://gre/modules/commonjs/sdk/page-mod.js:130:7
@resource://gre/modules/commonjs/sdk/core/disposable.js:48:56
dispatch@resource://gre/modules/commonjs/method/core.js:119:5
Disposable<.initialize@resource://gre/modules/commonjs/sdk/core/disposable.js:69:17
constructor@resource://gre/modules/commonjs/sdk/core/heritage.js:145:23
loadDOMScannerPageMod@resource://firefox-at-ghostery-dot-com/ghostery/lib/background.js:823:3
loadPageMods@resource://firefox-at-ghostery-dot-com/ghostery/lib/background.js:993:2
init@resource://firefox-at-ghostery-dot-com/ghostery/lib/background.js:1585:2
@resource://firefox-at-ghostery-dot-com/ghostery/lib/background.js:2161:1
CuddlefishLoader/options<.load@resource://gre/modules/commonjs/sdk/loader/cuddlefish.js:129:9
run@resource://gre/modules/commonjs/sdk/addon/runner.js:149:9
startup/<@resource://gre/modules/commonjs/sdk/addon/runner.js:113:7
Handler.prototype.process@resource://gre/modules/Promise-backend.js:863:11
this.PromiseWalker.walkerLoop@resource://gre/modules/Promise-backend.js:742:7
Summary: [e10s] Ghostery addon does not block trackers or add its icon to the toolbar → [e10s] Ghostery addon does not block trackers: exception was thrown in a Promise resolution callback: TypeError: window is null
(Reporter)

Comment 2

4 years ago
Pete, Ghostery does not seem to be compatible with multi-process Firefox (e10s). If you have any questions about e10s support, just drop by the #e10s IRC channel on irc.mozilla.org. MDN also has a good introduction:

https://developer.mozilla.org/en-US/Add-ons/Working_with_multiprocess_Firefox
Whiteboard: [e10s-top-addon]
(Reporter)

Comment 3

4 years ago
Adding "dogfood" keyword so this bug shows up on the e10s wiki's list of known issues:

https://wiki.mozilla.org/Electrolysis#Known_Issues
Keywords: dogfood
(Reporter)

Updated

4 years ago
Blocks: 1101189
The developer has been contacted through AMO.

Comment 5

4 years ago
It appears to me that this problem may have been resolved. In particular, I saw the console messages above, then updated Ghostery, and now I don't see them in the Browser Console any more. 

More specifics: 
- Firefox Nightly 37.0a1 (2014-12-03)
- Mac OS X 10.9 Mavericks
- Ghostery (just updated to) 5.4.1
(Reporter)

Comment 6

4 years ago
Thanks for testing, clements. I just tested Ghoserty 5.4.1 with e10s and Nightly 37. I no longer see the console errors, but Ghostery still does not seem to block tracking cookies (using the steps in comment 0).
Summary: [e10s] Ghostery addon does not block trackers: exception was thrown in a Promise resolution callback: TypeError: window is null → [e10s] Ghostery addon does not block tracking cookies with e10s

Comment 7

4 years ago
I seem to have a curious way of activating ghostery. Specifically, going to ghostery.com and clicking on the "Install" link downloads and installs the add-on (and requests my permission), and after this, it appears to me that Ghostery successfully blocks trackers *but only until I restart Firefox*.

1) Start FF nightly 37.0a1 (2014-12-03).
2) See ghostery icon with *no* number bubble next to it.
3) Click on ghostery icon, see message "this page was not scanned".
4) Go to Ghostery.com. Click the "Install" (or was it "Install for Firefox"?) button.
5) Click agree twice to give Ghostery permission to install.
6) See ghostery icon disappear and then appear again with number bubble.

Ghostery now seems to be active, and remains so until next FF restart.

This is a pretty acceptable workaround for me, though it's clearly still broken.

Comment 8

4 years ago
Simpler workaround discovered:

1) Open about:addons.
2) Click "disable" for Ghostery
3) Click "enable" for Ghostery
Telemetry data indicates that ghostery is throwing a javascript exception regularly in  utils.js  on line 234.
Blocks: 1111730

Comment 10

3 years ago
I can confirm that toggling disable/enable helps

Comment 11

3 years ago
I can no longer reproduce this bug using 41.0a1 (2015-05-11) + Ghostery 5.4.5 + Mac OS X 10.10.3. I conjecture that it's been fixed.

Updated

3 years ago
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → WORKSFORME
Sorry, when I resolved as WORKFORME I was looking at cookies per bug title, but those are probably blocked by Firefox itself thanks to its default 3rd party cookies policy.

Unfortunately Ghostery is just unable to block anything it is supposed to, as can be observed by loading any page containing trackers configured to be blocked and looking at the Net panel of the Web Console (ctrl+K).
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Summary: [e10s] Ghostery addon does not block tracking cookies with e10s → [e10s] Ghostery addon does not block tracker requests with e10s

Updated

2 years ago
Whiteboard: [e10s-top-addon] → [e10s-top-addon] triaged

Updated

2 years ago
Flags: needinfo?(sescalante)

Comment 13

2 years ago
Ghostery has been ported to a WebExtension, so the latest version has a completely different code base. If testing is showing a problem, then its probably a different issue and a new bug should be fixed.

Comment 14

2 years ago
talked to Giorgio - he resolved with webextensions
Status: REOPENED → RESOLVED
Last Resolved: 3 years ago2 years ago
Flags: needinfo?(sescalante)
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.