Closed Bug 1064137 Opened 9 years ago Closed 9 years ago

Intermittent e10s browser_datareporting_notification.js | User not notified about data policy on init. - Got true, expected false

Categories

(Firefox Health Report Graveyard :: Client: Desktop, defect)

defect
Not set
normal

Tracking

(e10s+, firefox33 unaffected, firefox34 unaffected, firefox35 fixed, firefox-esr31 unaffected)

RESOLVED FIXED
Firefox 35
Tracking Status
e10s + ---
firefox33 --- unaffected
firefox34 --- unaffected
firefox35 --- fixed
firefox-esr31 --- unaffected

People

(Reporter: philor, Assigned: markh)

References

(Blocks 1 open bug)

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=47574887&tree=Mozilla-Inbound
Ubuntu VM 12.04 mozilla-inbound opt test mochitest-e10s-browser-chrome-1 on 2014-09-07 16:18:41 PDT for push e67894f69449
slave: tst-linux32-spot-611

...
16:21:28     INFO -  1410132088512	Sqlite.Connection.healthreport.sqlite	TRACE	Conn #0: Stmt #306 PRAGMA shrink_memory
16:21:28     INFO -  dumping last 18 message(s)
16:21:28     INFO -  if you need more context, please use SimpleTest.requestCompleteLog() in your test
16:21:28     INFO -  93 INFO checking window state
16:21:28     INFO -  94 INFO Console message: [JavaScript Error: "content is null" {file: "resource://gre/modules/commonjs/framescript/tab-events.js" line: 40}]
16:21:28     INFO -  95 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | Health Reporter instance is available.
16:21:28     INFO -  96 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | Health Reporter prefs are available.
16:21:28     INFO -  97 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | No version should be set on init.
16:21:28     INFO -  98 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | No date should be set on init.
16:21:28     INFO -  99 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | User not notified about datareporting policy.
16:21:28     INFO -  100 INFO Console message: 1410132085419	Services.HealthReport.HealthReporter	WARN	Saved state file does not exist.
16:21:28     INFO -  101 INFO Console message: 1410132085421	Services.HealthReport.HealthReporter	WARN	No prefs data found.
16:21:28     INFO -  102 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | Notification Displayed.
16:21:28     INFO -  103 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | No notifications remain.
16:21:28     INFO -  104 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | Version pref set.
16:21:28     INFO -  105 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | Date pref set.
16:21:28     INFO -  106 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | 2nd window has a global notification box.
16:21:28     INFO -  107 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | Health Reporter instance is available.
16:21:28     INFO -  108 INFO TEST-PASS | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | Health Reporter prefs are available.
16:21:28     INFO -  109 INFO Console message: [JavaScript Error: "content is null" {file: "resource://gre/modules/commonjs/framescript/tab-events.js" line: 40}]
16:21:28     INFO -  110 INFO Console message: [JavaScript Error: "content is null" {file: "resource://gre/modules/commonjs/framescript/tab-events.js" line: 40}]
16:21:28     INFO -  111 INFO TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | User not notified about data policy on init. - Got true, expected false
16:21:28     INFO -  Stack trace:
16:21:28     INFO -  chrome://mochikit/content/browser-test.js:test_is:793
16:21:28     INFO -  chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js:onSuccess:39
16:21:28     INFO -  resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:Handler.prototype.process:865
16:21:28     INFO -  resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:this.PromiseWalker.walkerLoop:744
16:21:28     INFO -  null:null:0
16:21:28     INFO -  112 INFO TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js | _userNotifyPromise defined. -
16:21:28     INFO -  Stack trace:
16:21:28     INFO -  chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js:onSuccess:40
16:21:28     INFO -  resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:Handler.prototype.process:865
16:21:28     INFO -  resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:this.PromiseWalker.walkerLoop:744
16:21:28     INFO -  null:null:0
16:21:28     INFO -  *************************
16:21:28     INFO -  A coding exception was thrown in a Promise resolution callback.
16:21:28     INFO -  See https://developer.mozilla.org/Mozilla/JavaScript_code_modules/Promise.jsm/Promise
16:21:28     INFO -  Full message: TypeError: policy._userNotifyPromise is null
16:21:28     INFO -  Full stack: onSuccess@chrome://mochitests/content/browser/browser/base/content/test/general/browser_datareporting_notification.js:41:5
16:21:28     INFO -  Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:865:23
16:21:28     INFO -  this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:744:7
16:21:28     INFO -  *************************
https://tbpl.mozilla.org/php/getParsedLog.php?id=47548141&tree=Mozilla-Inbound
https://tbpl.mozilla.org/php/getParsedLog.php?id=47516987&tree=Mozilla-Central
Summary: Intermittent browser_datareporting_notification.js | User not notified about data policy on init. - Got true, expected false → Intermittent e10s browser_datareporting_notification.js | User not notified about data policy on init. - Got true, expected false
Blocks: e10s-tests
tracking-e10s: --- → +
Assignee: nobody → mhammond
The issue with this orange is that the timer created by the data reporting service fires while the test is running - this causes the policy object used by the test to be initialized prematurely.

The fix in this patch is to ensure the policy object in place when the timer is initialized is the same policy object used when the timer fires.

This still leaves a very small risk of orange - if it somehow transpires that the timer was initialized as the test is running, and that test takes longer than the timeout period to complete, we might end up in the same position - but this seems extremely unlikely.  An alternative might be to work out how to either disable this initialization completely during tests, but I'm not sure that's worth while.

Try at https://tbpl.mozilla.org/?tree=Try&rev=88f957b1def0, which also includes the patch to bug 1063696.

Requesting review from Georg as the most recent significant modifier of the data reporting service.
Attachment #8489195 - Flags: review?(georg.fritzsche)
Comment on attachment 8489195 [details] [diff] [review]
0002-Bug-1064137-fix-datareporting-service-so-it-doesn-t-.patch

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

This seems ok, the second scenario seems rather unlikely.
Attachment #8489195 - Flags: review?(georg.fritzsche) → review+
https://hg.mozilla.org/integration/fx-team/rev/52aa30fa8758
Status: NEW → ASSIGNED
Flags: qe-verify-
Flags: firefox-backlog+
Hi Mark, can you provide a point value.
Iteration: --- → 35.2
Flags: needinfo?(mhammond)
Points: --- → 3
Flags: needinfo?(mhammond)
Iteration: 35.2 → 35.1
https://hg.mozilla.org/mozilla-central/rev/52aa30fa8758
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 35
Product: Firefox Health Report → Firefox Health Report Graveyard
You need to log in before you can comment on or make changes to this bug.