Closed Bug 1103561 Opened 5 years ago Closed 5 years ago

Adblock Edge no longer works in Nightly 36, even with e10s disabled: TypeError: f.readTo is not a function


(WebExtensions :: General, defect)

Not set


(Not tracked)



(Reporter: cpeterson, Unassigned)



(Keywords: addon-compat, regression, Whiteboard: [Fixed in Adblock Edge 2.1.7])

As reported in bug 1048057 comment 9, Adblock Edge no longer works in Nightly 36, even with e10s disabled. Adblock Edge works correctly in Aurora 35 and Adblock Plus works correctly in Nightly 36 (with or without e10s).

This regression is likely related to recent compatibility shim changes.
I see the following JS exception logged to stderr when I run Nightly with Adblock Edge installed. The addon blows up when trying to yield on a Promise<File> returned

Is this a recent regression? It would be helpful to track down the regression window.

> A coding exception was thrown and uncaught in a Task.
> Full message: TypeError: f.readTo is not a function
> Full stack: exports.IO.readFromFile/<@resource://gre/modules/addons/XPIProvider.jsm
> -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/ex2170bl.Test/extensions/%7Bfe272bd1-5f76-4ea4-8501-a05d35d823fc%7D.xpi!/bootstrap.js
> -> jar:file:///Users/cpeterson/Library/Application%20Support/Firefox/Profiles/ex2170bl.Test/extensions/%7Bfe272bd1-5f76-4ea4-8501-a05d35d823fc%7D.xpi!/lib/io.js:168:23
> TaskImpl_run@resource://gre/modules/Task.jsm:330:41
> Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:870:23
> this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:749:7
> this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:691:37
Summary: Adblock Edge no longer works in Nightly 36, even with e10s disabled → Adblock Edge no longer works in Nightly 36, even with e10s disabled: TypeError: f.readTo is not a function
Could you try it with extensions.interposition.enabled set to false in today's nightly?
Toggling extensions.interposition.enabled does not fix Adblock Edge.

I bisected this regression to Nightly 36 build 2015-11-15:
This bug is a regression from bug 1075438, which also broke Adblock Plus (bug 1090958).

The Adblock Plus fix is here:
Depends on: 1075438
See Also: → 1090958
Sorry about that. We synchronized with ABP, but I didn't realize that ABE would be affected, too.
Adblock Edge mirrored Wladimir Palant's "readTo -> read" change to lib/io.js on 11/17 (see here: ).  This bug will be fixed when Adblock Edge releases version 2.1.7(currently 2.1.6).

For now, a workaround is to go to Addons -> Extensions -> Adblock Edge -> Filter Preferences -> Add Filter Subscription, then ABE will redownload a filter .ini for your current browsing session.  Unfortunately, each time you close Nightly, you will have to re-add your filter subscriptions upon successive browser reloads.  I don't know if this constant downloading of filters is frowned upon since it may skew filter download stats and/or eat up bandwidth (some filters are over 2MB).
Blocks: 1075438
Component: Extension Compatibility → Add-ons
No longer depends on: 1075438
Product: Firefox → Tech Evangelism
Adblock Edge has been updated to version 2.1.7 ( ) , and I can confirm that the new `lib/io.js` fixes this bug(for me), and ABE works fine in Nightly 37.0a1(e10s has no effect on this bug).  If anyone else can test this to confirm, it'd be appreciated, thank you.
Adblock Edge 2.1.7 does seem to block ads correctly now, but Adblock Edge's first run page (to configure filter lists) and about:addons "Filter Preferences" button don't load correctly. I filed bug 1107399 for that issue.
I'm closing this one as RESOLVED FIXED per Comment 7.
Closed: 5 years ago
tracking-e10s: - → ---
No longer depends on: 1048057
Resolution: --- → FIXED
Whiteboard: [Fixed in Adblock Edge 2.1.7]
Component: Add-ons → General
Product: Tech Evangelism → WebExtensions
You need to log in before you can comment on or make changes to this bug.