Closed
Bug 1261333
Opened 9 years ago
Closed 9 years ago
Error during blocklist pull from addons-dev.allizom.org
Categories
(Toolkit :: Blocklist Policy Requests, defect)
Toolkit
Blocklist Policy Requests
Tracking
()
RESOLVED
FIXED
People
(Reporter: eviljeff, Assigned: tarek)
References
Details
+++ This bug was initially created as a clone of Bug #1259458 +++
copied from bug 1259458#c9
I quickly went through a spot check using the latest versions of fx45.0.1, fx46.0, fx47.0 and fx48.0 and didn't run into any performance or timeout issues. The blocklist was pulled in pretty quickly without the 2min delay that I was noticing yesterday.
However, I'm still seeing the following error in the browser console every time I pull in the blocklist from the -dev staging server. Receiving this error on the latest m-a, m-b and m-r but NOT under m-c:
Blocklist::_handleCertItemNode: Error adding revoked cert by Issuer and Serial[Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsICertBlocklist.revokeCertByIssuerAndSerial]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: resource://gre/components/nsBlocklistService.js :: Blocklist.prototype._handleCertItemNode :: line 958" data: no]
Comment 1•9 years ago
|
||
Mossop, could this be a bug in the Add-ons Manager that was recently fixed?
Flags: needinfo?(dtownsend)
Comment 2•9 years ago
|
||
I'm not seeing anything on the blocklist service side, maybe this is something to do with the switch to kinto?
Flags: needinfo?(dtownsend) → needinfo?(mgoodwin)
| Reporter | ||
Comment 3•9 years ago
|
||
(To our knowledge) the blocklist being pulled currently doesn't use kinto, if that helps. Its all still set and served via AMO.
Comment 4•9 years ago
|
||
I've added STR as they weren't added in bug # 1259458 either. It appears like m-c is the only channel that's not displaying the error message in the browser console.
* latest m-c using BuildID: 20160404030231 --> NOT Reproducible
* latest m-a using BuildID: 20160404004026 --> Reproducible
* latest m-b using BuildID: 20160401021843 --> Reproducible
* latest m-r using BuildID: 20160315153207 --> Reproducible
STR:
* install a vulnerable version of Java and launch fx (used the latest m-a in this case)
* devtools.chrome.enabled;true
* extensions.logging.enabled;true
* extensions.blocklist.url;https://blocklist-dev.allizom.org/blocklist/3/%APP_ID%/%APP_VERSION%/%PRODUCT%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/%PING_COUNT%/%TOTAL_PING_COUNT%/%DAYS_SINCE_LAST_PING%/
* launch the browser console
* Components.classes["@mozilla.org/extensions/blocklist;1"].getService(Components.interfaces.nsITimerCallback).notify(null);
Error in the browser console:
Blocklist::_handleCertItemNode: Error adding revoked cert by Issuer and Serial[Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsICertBlocklist.revokeCertByIssuerAndSerial]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: resource://gre/components/nsBlocklistService.js :: Blocklist.prototype._handleCertItemNode :: line 959" data: no]
Comment 5•9 years ago
|
||
The issue is that there is a bad entry in the -dev blocklist. This entry does not exist in the production blocklist.
The item in question is:
<certItem issuerName="MGwxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xKzApBgNVBAMTIkRpZ2lDZXJ0IEhpZ2ggQXNzdXJhbmNlIEVWIFJvb3QgQ0E=^M
">
<serialNumber>BOHnpNxc8vNtwCtCuF0Vnw==</serialNumber>
</certItem>
The error is from a LOG call from when the error is handled in nsBlocklistService.js - which means that other entries are unaffected.
The issue does not appear in m-c because it's using the newer kinto-based blocklist client.
Flags: needinfo?(mgoodwin)
| Reporter | ||
Comment 6•9 years ago
|
||
I removed the trailing newline from that block (looks like it was just a test anyway). Can you retry?
Flags: needinfo?(kjozwiak)
| Reporter | ||
Comment 7•9 years ago
|
||
(In reply to Mark Goodwin [:mgoodwin] from comment #5)
> The issue does not appear in m-c because it's using the newer kinto-based
> blocklist client.
How is the kinto-based blocklist used on m-c being populated? Its concerning if its not blocking the same items as the amo one.
Comment 8•9 years ago
|
||
I went through the same STR from comment # 4 and I'm not seeing the error under the browser console anymore. I used both Java SE 8u77 and Java SE 8u74 against the following builds:
* latest m-c using changeset ae7413abfa4d --> NOT Reproducible
* latest m-a using changeset 1287b9f362ee --> NOT Reproducible
* latest m-b using changeset b007110e9005 --> NOT Reproducible
* latest m-r using changeset e35da3da61cb --> NOT Reproducible
Looks like this isn't an issue anymore. I'll let Andrew close this off as he's waiting for a response in comment #7.
Flags: needinfo?(kjozwiak)
| Reporter | ||
Updated•9 years ago
|
Flags: needinfo?(mgoodwin)
Comment 9•9 years ago
|
||
(In reply to Andrew Williamson [:eviljeff] from comment #7)
> (In reply to Mark Goodwin [:mgoodwin] from comment #5)
> > The issue does not appear in m-c because it's using the newer kinto-based
> > blocklist client.
>
> How is the kinto-based blocklist used on m-c being populated? Its
> concerning if its not blocking the same items as the amo one.
Services have a script which can pull entries from the blocklist.xml to populate a kinto instance. If the blocklist entries differ, this likely isn't being run. I'll follow this up with Tarek.
Flags: needinfo?(mgoodwin)
| Assignee | ||
Comment 10•9 years ago
|
||
Yes that's the process, let me ping Bob so he can verify everything's fine there
Flags: needinfo?(bobm)
Comment 11•9 years ago
|
||
The process runs on this two jobs:
- https://deploy.mozaws.net/job/kinto-writer-xml2kinto/
- https://deploy.mozaws.net/job/kinto-writer-xml2kinto-PROD/
But I don't think the cron updates the blocklist.xml but just take the one from the github repository.
We should make sure that the blocklist file is updated in the cron.
The cron runs every 30 minutes.
A quick fix would be to commit the last version of the blocklists file in the github repository.
In the meantime we should update the cron to make sure it updates the last blocklist file from AMO.
| Assignee | ||
Updated•9 years ago
|
Assignee: nobody → tarek
Comment 12•9 years ago
|
||
(In reply to Tarek Ziadé (:tarek) from comment #10)
> Yes that's the process, let me ping Bob so he can verify everything's fine
> there
Kicking this one over to :jp.
Flags: needinfo?(bobm) → needinfo?(jschneider)
| Assignee | ||
Comment 13•9 years ago
|
||
just an update on this: I confirm the prod data is outdated. The cron job was failing with an error, and we are currently working on fixing it.
Flags: needinfo?(jschneider)
| Assignee | ||
Comment 14•9 years ago
|
||
we've confirmed a fix on stage, and it will be shipped in the next prod push we are working on (stage was pushed). I'll link a bug here tomorrow once we have it.
Comment 15•9 years ago
|
||
A couple days ago while running m-c under debug mode, ran into the following exception. Is this related to this issue?
*************************
A coding exception was thrown and uncaught in a Task.
Full message: TypeError: versionInfo.data is undefined
Full stack: this.checkVersions/<@resource://services-common/kinto-updater.js:48:14
TaskImpl_run@resource://gre/modules/Task.jsm:319:40
promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:395:7
TaskImpl_run@resource://gre/modules/Task.jsm:327:13
promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:395:7
TaskImpl_run@resource://gre/modules/Task.jsm:327:13
TaskImpl@resource://gre/modules/Task.jsm:280:3
createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:254:14
Task_spawn@resource://gre/modules/Task.jsm:168:12
this.checkVersions@resource://services-common/kinto-updater.js:24:10
Blocklist.prototype.notify@file:///Users/kjozwiak/projects/mozilla-central/objdir-ff-release/dist/NightlyDebug.app/Contents/Resources/components/nsBlocklistService.js:637:7
TM_notify/<@file:///Users/kjozwiak/projects/mozilla-central/objdir-ff-release/dist/NightlyDebug.app/Contents/Resources/components/nsUpdateTimerManager.js:201:11
TM_notify@file:///Users/kjozwiak/projects/mozilla-central/objdir-ff-release/dist/NightlyDebug.app/Contents/Resources/components/nsUpdateTimerManager.js:249:7
*************************
| Assignee | ||
Comment 16•9 years ago
|
||
Yes. However it should check the versionInfo data before reading it, I thought this was already changed. MArk?
Depends on: 1267949
Flags: needinfo?(mgoodwin)
Comment 17•9 years ago
|
||
(In reply to Tarek Ziadé (:tarek) from comment #16)
> Yes. However it should check the versionInfo data before reading it, I
> thought this was already changed. MArk?
I thought that was addressed in bug 1257533? Kamil, when did you see this?
Flags: needinfo?(mgoodwin) → needinfo?(kjozwiak)
Comment 18•9 years ago
|
||
I was using an older build from 04/15 [1]. It looks like the patch from bug # 1257533 landed in m-c on 04/18 which explains why I was receiving the error message. I went through the same test case using a newer m-c build [2] and didn't receive the error message when m-c pinged the blocklist.
[1] https://hg.mozilla.org/mozilla-central/rev/d62963756d9a9d19cbbb5d8f3dd3c7cfa8fdef88
[2] buildID: 20160427113439, changeset: ab0044bfa1df
Flags: needinfo?(kjozwiak)
Comment 19•9 years ago
|
||
Correction, I used the build from 04/09 when I ran into the exception, not 04/15.
| Assignee | ||
Comment 20•9 years ago
|
||
This should be working properly now, thanks for the feedback everyone!
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
| Assignee | ||
Comment 21•9 years ago
|
||
Note that on the AMO side there's a duplicated entry for F7PAjw2k0dTX5escPnyVOBo= in the xml file. So right now we end up with 113 records when the AMO xml file has 114 entries with one duplicated.
Just pinging Jorge on this in case it's relevant
Flags: needinfo?(jorge)
| Reporter | ||
Comment 22•9 years ago
|
||
looks like c1107 is duplicated with c1115
Comment 24•9 years ago
|
||
Do we currently have any systems in place for validating entries in the xml files? Should we be doing monthly audits/checks to make sure that incorrect entries or errors haven't made it into the blocklists which could cause issues down the road?
Comment 25•9 years ago
|
||
I am working on a script that will ensure that every day for different version of the softwares that are loading the blocklist file daily. (Thunderbird, Firefox, Fennec and Seamonkey)
You need to log in
before you can comment on or make changes to this bug.
Description
•