Closed Bug 1073859 Opened 5 years ago Closed 5 years ago

Various Loop mochitests will perma-fail when Gecko 35 merges to Beta

Categories

(Hello (Loop) :: Client, defect)

defect
Not set

Tracking

(firefox34 verified, firefox35 verified)

VERIFIED FIXED
mozilla35
Tracking Status
firefox34 --- verified
firefox35 --- verified

People

(Reporter: RyanVM, Assigned: abr)

Details

(Whiteboard: [loop-uplift])

Attachments

(1 file, 3 obsolete files)

https://tbpl.mozilla.org/php/getParsedLog.php?id=49028187&tree=Try

20:40:52     INFO -  1181 INFO TEST-START | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_mozLoop_telemetry.js
20:40:52     INFO -  dumping last 2 message(s)
20:40:52     INFO -  if you need more context, please use SimpleTest.requestCompleteLog() in your test
20:40:52     INFO -  1182 INFO checking window state
20:40:52     INFO -  1183 INFO Entering test loadLoopPanel
20:40:52     INFO -  1184 INFO TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_mozLoop_telemetry.js | uncaught exception - Error: Loop is disabled by the soft-start mechanism at resource:///modules/loop/MozLoopService.jsm:1126
20:40:52     INFO -  Stack trace:
20:40:52     INFO -  chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:simpletestOnerror:1317
20:40:52     INFO -  null:null:0
20:40:52     INFO -  JavaScript error: resource:///modules/loop/MozLoopService.jsm, line 1126: Error: Loop is disabled by the soft-start mechanism
20:41:37     INFO -  Xlib:  extension "RANDR" missing on display ":0".
20:41:38     INFO -  TEST-INFO | screentopng: exit 0
20:41:38     INFO -  dumping last 4 message(s)
20:41:38     INFO -  if you need more context, please use SimpleTest.requestCompleteLog() in your test
20:41:38     INFO -  1185 INFO Console message: [JavaScript Error: "Error: Loop is disabled by the soft-start mechanism" {file: "resource:///modules/loop/MozLoopService.jsm" line: 1126}]
20:41:38     INFO -  1186 INFO Leaving test loadLoopPanel
20:41:38     INFO -  1187 INFO Entering test test_mozLoop_telemetryAdd_boolean
20:41:38     INFO -  1188 INFO Waiting for update of LOOP_CLIENT_CALL_URL_REQUESTS_SUCCESS
20:41:38     INFO -  1189 INFO TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_mozLoop_telemetry.js | Test timed out - expected PASS
20:41:38     INFO -  1190 INFO TEST-OK | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_mozLoop_telemetry.js | took 45085ms
20:41:38     INFO -  1191 INFO TEST-START | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_toolbarbutton.js
20:41:38     INFO -  *************************
20:41:38     INFO -  A coding exception was thrown and uncaught in a Task.
20:41:38     INFO -  Full message: TypeError: Promise is not a constructor
20:41:38     INFO -  Full stack: test_mozLoop_telemetryAdd_boolean@chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_mozLoop_telemetry.js:30:13
20:41:38     INFO -  Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:865:23
20:41:38     INFO -  this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:744:7
20:41:38     INFO -  *************************
20:41:38     INFO -  *************************
20:41:38     INFO -  A coding exception was thrown and uncaught in a Task.
20:41:38     INFO -  Full message: TypeError: this.SimpleTest.isExpectingUncaughtException is not a function
20:41:38     INFO -  Full stack: Tester_execTest/<@chrome://mochikit/content/browser-test.js:637:34
20:41:38     INFO -  Tester_execTest@chrome://mochikit/content/browser-test.js:630:9
20:41:38     INFO -  Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:556:7
20:41:38     INFO -  *************************
20:41:38     INFO -  dumping last 10 message(s)
20:41:38     INFO -  if you need more context, please use SimpleTest.requestCompleteLog() in your test
20:41:38     INFO -  1192 INFO checking window state
20:41:38     INFO -  1193 INFO Entering test test_doNotDisturb
20:41:38     INFO -  1194 INFO TEST-PASS | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_toolbarbutton.js | Check button is in default state - "" === ""
20:41:38     INFO -  1195 INFO TEST-PASS | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_toolbarbutton.js | Check button is in disabled state - "disabled" === "disabled"
20:41:38     INFO -  1196 INFO TEST-PASS | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_toolbarbutton.js | Check button is not in disabled state - "" !== "disabled"
20:41:38     INFO -  1197 INFO Leaving test test_doNotDisturb
20:41:38     INFO -  1198 INFO Entering test test_doNotDisturb_with_login
20:41:38     INFO -  1199 INFO TEST-PASS | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_toolbarbutton.js | Check button is in default state - "" === ""
20:41:38     INFO -  1200 INFO TEST-PASS | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_toolbarbutton.js | Check button is in disabled state - "disabled" === "disabled"
20:41:38     INFO -  1201 INFO TEST-PASS | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_toolbarbutton.js | Check button is in active state - "active" === "active"
20:41:38     INFO -  1202 INFO TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_toolbarbutton.js | uncaught exception - Error: Loop is disabled by the soft-start mechanism at resource:///modules/loop/MozLoopService.jsm:1126
20:41:38     INFO -  Stack trace:
20:41:38     INFO -  chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:simpletestOnerror:1317
20:41:38     INFO -  null:null:0
20:41:38     INFO -  JavaScript error: resource:///modules/loop/MozLoopService.jsm, line 1126: Error: Loop is disabled by the soft-start mechanism
20:41:38     INFO -  1203 INFO TEST-OK | chrome://mochitests/content/browser/browser/components/loop/test/mochitest/browser_toolbarbutton.js | took 839ms
Hey Adam -- Ryan simulated taking Fx35 to Beta and ran into problems with the soft-start mechanism:   uncaught exception - Error: Loop is disabled by the soft-start mechanism at resource:///modules/loop/MozLoopService.jsm:1126.   Can you look into this?
Flags: needinfo?(adam)
(In reply to Mark Banner (:standard8) from comment #2)
> That's strange, I thought
> http://mxr.mozilla.org/mozilla-central/source/testing/profiles/prefs_general.
> js#249 would cover us.

So, this is coming right on the heels of the throttle testing use case, which plays around with the value of the throttle pref, which is probably the root cause here. What's odd is that Paolo's patch from Bug 1067845 should have addressed this situation (and I double checked that the code was in Ryan's push: <https://hg.mozilla.org/try/file/10de8baa29e3/browser/components/loop/test/mochitest/browser_mozLoop_softStart.js#l64>).

This leads me to think that perhaps the values set in testing/profiles/prefs_general.js are simply overrides for the values in browser/app/profile/firefox.js (which set throttled to "true"), and that calling clearUserPref() on them resets them to the firefox.js value rather than the testing value.

I guess the fix here is to rewrite the cleanup code so that we store the pref values when the test starts, and make sure we restore *those* values (rather than doing a simple reset) once we're done.
Flags: needinfo?(adam)
I haven't tested this yet, but (assuming I understand the problem correctly),
the solution needs to look something like this.
Assignee: nobody → adam
Status: NEW → ASSIGNED
Attachment #8497122 - Attachment is obsolete: true
That's the most perplexing try run I've ever seen. I can't figure out what broke or why, but it really, really broke.

So, here's my patch, by itself, to make sure it doesn't break things any further:

  https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=332e8fd8cb9e

And here's my patch along with my attempt to recreate the changes that Ryan made to simulate release:

  https://treeherder.mozilla.org/ui/#/jobs?repo=try&revision=da4080d0ce92
Whiteboard: [loop-uplift]
I don't know why it's showing up in tbpl but not treeherder, but here's the tbpl results:
https://tbpl.mozilla.org/?tree=Try&rev=332e8fd8cb9e
This removes references to the (no longer used) "loop.soft_start" pref, which works much better.
Attachment #8497123 - Attachment is obsolete: true
Attachment #8501316 - Attachment is obsolete: true
Try (tbpl link because Treeherder still has some kinks to work out):

https://tbpl.mozilla.org/?tree=Try&rev=adcb85d3eccc
https://hg.mozilla.org/mozilla-central/rev/c90e0b3556b8
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
My latest Aurora-As-Beta Try run is green, so I'm calling this good too :)
Status: RESOLVED → VERIFIED
qe-verify- since this wasn't verified through QE testing.
Flags: qe-verify-
You need to log in before you can comment on or make changes to this bug.