Closed Bug 1183178 Opened 10 years ago Closed 10 years ago

Intermittent browser_mozLoop_context.js | Uncaught exception - at chrome://mochitests/content/browser/browser/components/loop/test/mochitest/head.js:246 - Error: Timed out while waiting for a 'load'' event | Found an unexpected tab at the end of test run

Categories

(Hello (Loop) :: Client, defect)

x86_64
Linux
defect
Not set
normal
Points:
2

Tracking

(firefox40 unaffected, firefox41 fixed, firefox42 fixed, firefox-esr31 unaffected, firefox-esr38 unaffected)

RESOLVED FIXED
mozilla42
Iteration:
42.2 - Jul 27
Tracking Status
firefox40 --- unaffected
firefox41 --- fixed
firefox42 --- fixed
firefox-esr31 --- unaffected
firefox-esr38 --- unaffected

People

(Reporter: RyanVM, Assigned: mikedeboer)

Details

(Keywords: intermittent-failure)

Attachments

(1 file, 1 obsolete file)

07:55:13 INFO - 282 INFO checking window state 07:55:13 INFO - 283 INFO Entering test loadLoopPanel 07:55:13 INFO - 284 INFO Console message: [JavaScript Error: "The Components object is deprecated. It will soon be removed." {file: "chrome://browser/content/loop/shared/js/utils.js" line: 9}] 07:55:13 INFO - 285 INFO Leaving test loadLoopPanel 07:55:13 INFO - 286 INFO Entering test test_mozLoop_getSelectedTabMetadata 07:55:13 INFO - 287 INFO TEST-PASS | browser/components/loop/test/mochitest/browser_mozLoop_context.js | mozLoop should exist - {"userProfile":null,"doNotDisturb":false,"errors":{},"locale":"en-US","addBrowserSharingListener":"function addBrowserSharingLis == true 07:55:13 INFO - 288 INFO TEST-PASS | browser/components/loop/test/mochitest/browser_mozLoop_context.js | URL should be empty for about:blank - null === null 07:55:13 INFO - 289 INFO TEST-PASS | browser/components/loop/test/mochitest/browser_mozLoop_context.js | Favicon should be empty for about:blank - null === null 07:55:13 INFO - 290 INFO TEST-PASS | browser/components/loop/test/mochitest/browser_mozLoop_context.js | Title should be empty for about:blank - "" === "" 07:55:13 INFO - 291 INFO TEST-PASS | browser/components/loop/test/mochitest/browser_mozLoop_context.js | No previews available for about:blank - [] deepEqual [] 07:55:13 INFO - 292 INFO Wait tab event: load 07:55:13 INFO - 293 INFO Console message: [JavaScript Error: "Error: operation not possible on dead CPOW" {file: "resource://gre/modules/RemoteAddonsParent.jsm" line: 568}] 07:55:13 INFO - 294 INFO Console message: 1436799312987 Toolkit.GMP WARN GMPInstallManager.parseResponseXML got node name: html, expected: updates 07:55:13 INFO - 295 INFO Console message: [JavaScript Error: "1436799312988 Toolkit.GMP ERROR GMPInstallManager.simpleCheckAndInstall Could not check for addons: {"target":{},"message":"got node name: html, expected: updates"}" {file: "resource://gre/modules/Log.jsm" line: 749}] 07:55:13 INFO - 296 INFO TEST-UNEXPECTED-FAIL | browser/components/loop/test/mochitest/browser_mozLoop_context.js | Uncaught exception - at chrome://mochitests/content/browser/browser/components/loop/test/mochitest/head.js:246 - Error: Timed out while waiting for a 'load'' event 07:55:13 INFO - Stack trace: 07:55:13 INFO - promiseTabLoadEvent/</timeout<@chrome://mochitests/content/browser/browser/components/loop/test/mochitest/head.js:246:14 07:55:13 INFO - Promise*promiseGetMozLoopAPI@chrome://mochitests/content/browser/browser/components/loop/test/mochitest/head.js:24:1 07:55:13 INFO - loadLoopPanel@chrome://mochitests/content/browser/browser/components/loop/test/mochitest/head.js:129:10 07:55:13 INFO - Tester_execTest/<@chrome://mochikit/content/browser-test.js:746:21 07:55:13 INFO - Tester_execTest@chrome://mochikit/content/browser-test.js:741:9 07:55:13 INFO - Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:664:7 07:55:13 INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:746:59 07:55:13 INFO - 297 INFO Leaving test test_mozLoop_getSelectedTabMetadata 07:55:13 INFO - 298 INFO Entering test test_mozLoop_getSelectedTabMetadata_defaultIcon
Flags: needinfo?(mdeboer)
So this is what I see repeating in the logs each time this test fails: ``` 07:55:13 INFO - 292 INFO Wait tab event: load 07:55:13 INFO - 293 INFO Console message: [JavaScript Error: "Error: operation not possible on dead CPOW" {file: "resource://gre/modules/RemoteAddonsParent.jsm" line: 568}] ``` What this test does is: 1) open a new tab, 2) load 'http://example.com' in it, 3) wait for the 'load' event to continue testing. What I'm curious about `Prefetcher.withPrefetching` in RemoteAddonsParent.jsm is doing here that might interfere with the loading process? Does it have to do with the fact that I'm using the 'example.com' domain that might be used by some channel for a remote addon? - disclaimer: wild, unsubstantiated wild guess :)
Flags: needinfo?(wmccloskey)
Flags: needinfo?(mdeboer)
Flags: needinfo?(mconley)
(In reply to Mike de Boer [:mikedeboer] from comment #4) > So this is what I see repeating in the logs each time this test fails: > > ``` > 07:55:13 INFO - 292 INFO Wait tab event: load > 07:55:13 INFO - 293 INFO Console message: [JavaScript Error: "Error: > operation not possible on dead CPOW" {file: > "resource://gre/modules/RemoteAddonsParent.jsm" line: 568}] > ``` > > What this test does is: > 1) open a new tab, > 2) load 'http://example.com' in it, > 3) wait for the 'load' event to continue testing. > > What I'm curious about `Prefetcher.withPrefetching` in > RemoteAddonsParent.jsm is doing here that might interfere with the loading > process? > Does it have to do with the fact that I'm using the 'example.com' domain > that might be used by some channel for a remote addon? - disclaimer: wild, > unsubstantiated wild guess :) I don't know the test too well, but perhaps instead of using promiseTabLoadEvent, use BrowserTestUtils.loadURI, and BrowserTestUtils.browserLoaded. Both have been designed to work nicely cross-process, instead of using the addon shims (which having the parent listen for DOM events causes us to use). Example: yield BrowserTestUtils.loadURI(browser, "http://example.com"); yield BrowserTestUtils.browserLoaded(browser); Perhaps that'd make this go away?
Flags: needinfo?(mconley)
Cool! I'll try that next week. Thanks, Mike!
Flags: needinfo?(wmccloskey) → needinfo?(mdeboer)
Assignee: nobody → mdeboer
Status: NEW → ASSIGNED
Iteration: --- → 42.2 - Jul 27
Points: --- → 2
Flags: needinfo?(mdeboer)
Flags: qe-verify-
Flags: firefox-backlog+
Comment on attachment 8635930 [details] [diff] [review] Patch v1: use more robust e10s-friendly tab loading mechanism Review of attachment 8635930 [details] [diff] [review]: ----------------------------------------------------------------- Looks fine so r=Standard8. One thought though - should we be removing the use of promiseTabLoadEvent from our other tests & from head.js, with the intention of dropping the function from head.js completely?
Attachment #8635930 - Flags: review?(standard8) → review+
Good point! I was being too conservative here...
Attachment #8635930 - Attachment is obsolete: true
Attachment #8636547 - Flags: review?(standard8)
Comment on attachment 8636547 [details] [diff] [review] Patch v2: use more robust e10s-friendly tab loading mechanism Review of attachment 8636547 [details] [diff] [review]: ----------------------------------------------------------------- Great!
Attachment #8636547 - Flags: review?(standard8) → review+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: