Closed Bug 850721 Opened 7 years ago Closed 6 years ago

Intermittent browser_blocklist.js | Unable to add blocklisted provider (followed by other failures)

Categories

(Firefox Graveyard :: SocialAPI, defect)

x86
Windows XP
defect
Not set

Tracking

(firefox28 fixed, firefox29 fixed, firefox30 fixed, firefox-esr24 wontfix, b2g-v1.2 wontfix, b2g-v1.3 fixed, b2g-v1.4 fixed)

RESOLVED FIXED
Firefox 30
Tracking Status
firefox28 --- fixed
firefox29 --- fixed
firefox30 --- fixed
firefox-esr24 --- wontfix
b2g-v1.2 --- wontfix
b2g-v1.3 --- fixed
b2g-v1.4 --- fixed

People

(Reporter: RyanVM, Assigned: markh)

References

Details

(Keywords: intermittent-failure, Whiteboard: [qa-])

Attachments

(1 file, 1 obsolete file)

Yet another browser_blocklist.js failure. Getting ready to just disable this test for the time being...

I'm assuming the subsequent failures are just fallout from the first one, so I won't copy and paste them into here. You can see them in the log.

https://tbpl.mozilla.org/php/getParsedLog.php?id=20595379&tree=Mozilla-Inbound

Rev3 WINNT 5.1 mozilla-inbound debug test mochitest-browser-chrome on 2013-03-13 00:16:35 PDT for push 14f64332f3ea
slave: talos-r3-xp-072

00:28:15     INFO -  TEST-START | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js
00:28:15     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | sub-test testSimpleBlocklist starting
00:28:15     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | blocking 'blocked'
00:28:15     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | not blocking 'good'
00:28:15     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | Console message: 1363159695568	Services.Metrics.Provider.org.mozilla.addons	WARN	Add-on type without field: service
00:28:16     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | blocklist cleared
00:28:16     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | sub-test testSimpleBlocklist complete
00:28:16     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | Console message: 1363159696214	Services.Metrics.Provider.org.mozilla.addons	WARN	Add-on type without field: service
00:28:16     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | sub-test testAddingNonBlockedProvider starting
00:28:16     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | added and removed provider
00:28:16     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | adding non-blocked provider ok
00:28:16     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | sub-test testAddingNonBlockedProvider complete
00:28:16     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | sub-test testAddingBlockedProvider starting
00:28:16     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | Console message: 1363159696778	Services.Metrics.Provider.org.mozilla.addons	WARN	Add-on type without field: service
00:28:16     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | Unable to add blocklisted provider
00:28:16     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | sub-test testAddingBlockedProvider complete
00:28:17     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | sub-test testInstallingBlockedProvider starting
00:28:17  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | Unable to add blocklisted provider
00:28:17     INFO -  Stack trace:
00:28:17     INFO -      JS frame :: chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js :: finish :: line 101
00:28:17     INFO -      JS frame :: chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js :: tests.testInstallingBlockedProvider/</< :: line 114
00:28:17     INFO -      JS frame :: resource://gre/modules/SocialService.jsm :: <TOP_LEVEL> :: line 726
00:28:17     INFO -      JS frame :: resource://gre/modules/SocialService.jsm :: <TOP_LEVEL> :: line 423
00:28:17     INFO -      JS frame :: resource://app/modules/Social.jsm :: <TOP_LEVEL> :: line 182
00:28:17     INFO -      JS frame :: chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js :: tests.testInstallingBlockedProvider/< :: line 113
00:28:17     INFO -      JS frame :: chrome://mochikit/content/browser-test.js :: test_executeSoon/<.run :: line 515
00:28:17     INFO -      native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
00:28:17     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | sub-test testInstallingBlockedProvider complete
00:28:17     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | sub-test testBlockingExistingProvider starting
00:28:17     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | Console message: 1363159697341	Services.Metrics.Provider.org.mozilla.addons	WARN	Add-on type without field: service
00:28:17     INFO -  WARNING: NS_ENSURE_TRUE(currentURI) failed: file e:/builds/moz2_slave/m-in-w32-d-0000000000000000000/build/content/base/src/ThirdPartyUtil.cpp, line 96
00:28:17     INFO -  ++DOCSHELL 167B1F48 == 40 [id = 727]
00:28:17     INFO -  ++DOMWINDOW == 144 (0DB8F0E8) [serial = 2014] [outer = 00000000]
00:28:17     INFO -  ++DOMWINDOW == 145 (0DDC7E38) [serial = 2015] [outer = 0DB8F0E8]
00:28:17     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | window opened, waiting for focus
00:28:17     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | must wait for load
00:28:17     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | must wait for focus
00:28:17     INFO -  WARNING: getting z level of unregistered window: file e:/builds/moz2_slave/m-in-w32-d-0000000000000000000/build/xpfe/appshell/src/nsWindowMediator.cpp, line 558
00:28:17     INFO -  WARNING: getting z level of unregistered window: file e:/builds/moz2_slave/m-in-w32-d-0000000000000000000/build/xpfe/appshell/src/nsWindowMediator.cpp, line 558
00:28:17     INFO -  WARNING: NS_ENSURE_TRUE(currentURI) failed: file e:/builds/moz2_slave/m-in-w32-d-0000000000000000000/build/content/base/src/ThirdPartyUtil.cpp, line 96
00:28:17     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | window opened and focused
00:28:17     INFO -  WARNING: NS_ENSURE_SUCCESS(rv, false) failed with result 0x8000FFFF: file e:/builds/moz2_slave/m-in-w32-d-0000000000000000000/build/content/base/src/nsContentUtils.cpp, line 3020
00:28:17     INFO -  WARNING: NS_ENSURE_TRUE(pusher.Push(aBoundElement)) failed: file e:/builds/moz2_slave/m-in-w32-d-0000000000000000000/build/content/xbl/src/nsXBLProtoImplMethod.cpp, line 308
00:28:17     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | window closed
00:28:17     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | Console message: 1363159697830	Services.Metrics.Provider.org.mozilla.addons	WARN	Add-on type without field: service
00:28:17     INFO -  TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | blocklisted provider removed
00:28:18     INFO -  TEST-INFO | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | sub-test testBlockingExistingProvider complete
00:28:18     INFO -  WARNING: NS_ENSURE_TRUE(currentURI) failed: file e:/builds/moz2_slave/m-in-w32-d-0000000000000000000/build/content/base/src/ThirdPartyUtil.cpp, line 96
00:28:18     INFO -  INFO TEST-END | chrome://mochitests/content/browser/browser/base/content/test/social/browser_blocklist.js | finished in 2761ms
Attached patch cleanup properly in error cases (obsolete) — Splinter Review
I believe the root cause here is the same as bug 846600.  This patch just adds cleanup in the case that the test fails, which should fix the subsequent errors.
Attachment #731714 - Flags: review?(mhammond)
Comment on attachment 731714 [details] [diff] [review]
cleanup properly in error cases

Review of attachment 731714 [details] [diff] [review]:
-----------------------------------------------------------------

I'm reluctant to take this patch without any evidence it actually solves anything (eg, try runs which show failures without the patch and no failures with it).  My debugging of these failures was showing that our code was working as expected, and the blocklist code was seeing our new blocklist, but was failing to update its internal state correctly.  Given we haven't seen a single failure in about 2 weeks, I keep meaning to look at the hg log of the blocklist itself to see if there was a fix to that which could explain both the original failure and the lack of recent failures.

The change to head.js looks cleaner, but given the fact the other changes seem to only perform better cleanup once a failure is hit, r- for now until some new evidence emerges.

::: browser/base/content/test/social/browser_blocklist.js
@@ +111,5 @@
>        setAndUpdateBlocklist(blocklistURL, function() {
>          try {
>            // expecting an exception when attempting to install a hard blocked
>            // provider
>            Social.installProvider(doc, manifest_bad, function(addonManifest) {

according to the comment above, we don't expect this block to be hit, right?

@@ +140,5 @@
>      SocialService.addProvider(manifest_bad, function(provider) {
>        if (provider) {
>          setAndUpdateBlocklist(blocklistURL, function() {
>            SocialService.getProvider(provider.origin, function(p) {
> +            if (p) {

ditto here - this new code will only take effect once the test has already failed, so I don't see what this is fixing.
Attachment #731714 - Flags: review?(mhammond) → review-
Depends on: 886300
Shane, any more ideas on this?
Flags: needinfo?(mixedpuppy)
Summary: Intermittent browser_blocklist.js | Unable to add blocklisted provider followed by other failures → Intermittent browser_blocklist.js | Unable to add blocklisted provider (followed by other failures)
(In reply to Ryan VanderMeulen [:RyanVM UTC-5] from comment #21)
> Shane, any more ideas on this?
Flags: needinfo?(mixedpuppy)
Flags: needinfo?(mixedpuppy)
I'm fairly convinced this is just the normal addon blocklist timer firing during the test.  I've a try run which attempts to disable this during the test (and with some other debug hacks) at https://tbpl.mozilla.org/?tree=Try&rev=b26daec2380c
Flags: needinfo?(mixedpuppy)
The problem is that we did a clearUserPref, which re-enabled addons.mozilla.org, causing normal blocklist updates to periodically happen after this test started.  This bit us as occasionally the update would happen while the test was running.  This fixes it by resetting the pref to the original value rather than clearing it.
Assignee: nobody → mhammond
Attachment #731714 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #8371820 - Flags: review?(mixedpuppy)
Comment on attachment 8371820 [details] [diff] [review]
0001-Bug-850721-fix-social-blocklist-oranges-by-not-enabl.patch

makes sense now, I hadn't noticed:

https://mxr.mozilla.org/mozilla-central/source/testing/profiles/prefs_general.js#76
Attachment #8371820 - Flags: review?(mixedpuppy) → review+
https://hg.mozilla.org/mozilla-central/rev/6c2360bf11fc
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 30
Whiteboard: [qa-]
Product: Firefox → Firefox Graveyard
You need to log in before you can comment on or make changes to this bug.