Closed Bug 1333324 Opened 7 years ago Closed 7 years ago

Intermittent browser/base/content/test/general/browser_bug559991.js | uncaught exception - TypeError: aBrowser.currentURI is undefined at Thumbnails_capture@chrome://browser/content/browser-thumbnails.js:95:1

Categories

(Firefox :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Firefox 54
Tracking Status
firefox52 --- unaffected
firefox53 --- unaffected
firefox54 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: jaws)

References

Details

(Keywords: intermittent-failure, Whiteboard: [stockwell fixed])

Attachments

(1 file)

e10s only. Mostly Linux.

[task 2017-01-26T13:16:26.512086Z] 13:16:26     INFO - TEST-START | browser/base/content/test/general/browser_bug559991.js

[task 2017-01-26T13:16:27.173633Z] 13:16:27     INFO - TEST-INFO | started process screentopng

[task 2017-01-26T13:16:28.903295Z] 13:16:28     INFO - TEST-INFO | screentopng: exit 0

[task 2017-01-26T13:16:28.903577Z] 13:16:28     INFO - Buffered messages logged at 13:16:26

[task 2017-01-26T13:16:28.903733Z] 13:16:28     INFO - Wait tab event: load

[task 2017-01-26T13:16:28.906308Z] 13:16:28     INFO - Tab event received: load

[task 2017-01-26T13:16:28.908018Z] 13:16:28     INFO - Buffered messages finished

[task 2017-01-26T13:16:28.910648Z] 13:16:28     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/general/browser_bug559991.js | uncaught exception - TypeError: aBrowser.currentURI is undefined at Thumbnails_capture@chrome://browser/content/browser-thumbnails.js:95:1

[task 2017-01-26T13:16:28.912238Z] 13:16:28     INFO - Thumbnails_delayedCapture/timeout<@chrome://browser/content/browser-thumbnails.js:112:7

[task 2017-01-26T13:16:28.914742Z] 13:16:28     INFO - setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:625:12

[task 2017-01-26T13:16:28.917088Z] 13:16:28     INFO - Thumbnails_delayedCapture@chrome://browser/content/browser-thumbnails.js:110:19

[task 2017-01-26T13:16:28.921879Z] 13:16:28     INFO - Thumbnails_onStateChange@chrome://browser/content/browser-thumbnails.js:90:7

[task 2017-01-26T13:16:28.924767Z] 13:16:28     INFO - callListeners@chrome://browser/content/tabbrowser.xml:496:24

[task 2017-01-26T13:16:28.926234Z] 13:16:28     INFO - _callProgressListeners@chrome://browser/content/tabbrowser.xml:517:13

[task 2017-01-26T13:16:28.927954Z] 13:16:28     INFO - _callProgressListeners@chrome://browser/content/tabbrowser.xml:567:22

[task 2017-01-26T13:16:28.929677Z] 13:16:28     INFO - onStateChange@chrome://browser/content/tabbrowser.xml:750:15

[task 2017-01-26T13:16:28.933766Z] 13:16:28     INFO - _callProgressListeners@resource://gre/modules/RemoteWebProgress.jsm:174:11

[task 2017-01-26T13:16:28.935469Z] 13:16:28     INFO - receiveMessage@resource://gre/modules/RemoteWebProgress.jsm:235:7

[task 2017-01-26T13:16:28.937192Z] 13:16:28     INFO - permitUnload@chrome://global/content/bindings/remote-browser.xml:353:13

[task 2017-01-26T13:16:28.942234Z] 13:16:28     INFO - _beginRemoveTab@chrome://browser/content/tabbrowser.xml:2572:46

[task 2017-01-26T13:16:28.943681Z] 13:16:28     INFO - removeTab@chrome://browser/content/tabbrowser.xml:2510:18

[task 2017-01-26T13:16:28.945212Z] 13:16:28     INFO - onTabClose@chrome://mochitests/content/browser/browser/base/content/test/general/browser_bug555767.js:35:9

[task 2017-01-26T13:16:28.946553Z] 13:16:28     INFO - _beginRemoveTab@chrome://browser/content/tabbrowser.xml:2631:13

[task 2017-01-26T13:16:28.948351Z] 13:16:28     INFO - removeTab@chrome://browser/content/tabbrowser.xml:2510:18

[task 2017-01-26T13:16:28.950128Z] 13:16:28     INFO - handleCommand@chrome://browser/content/urlbarBindings.xml:468:21

[task 2017-01-26T13:16:28.952237Z] 13:16:28     INFO - anonymous@chrome://global/content/bindings/autocomplete.xml line 458 > Function:1:1

[task 2017-01-26T13:16:28.953822Z] 13:16:28     INFO - onTextEntered@chrome://global/content/bindings/autocomplete.xml:272:18

[task 2017-01-26T13:16:28.955755Z] 13:16:28     INFO - handleEnter@chrome://browser/content/urlbarBindings.xml:1155:22

[task 2017-01-26T13:16:28.959646Z] 13:16:28     INFO - handleKeyPress@chrome://global/content/bindings/autocomplete.xml:538:24

[task 2017-01-26T13:16:28.962258Z] 13:16:28     INFO - onKeyPress@chrome://browser/content/urlbarBindings.xml:222:18

[task 2017-01-26T13:16:28.963719Z] 13:16:28     INFO - onxblkeypress@chrome://global/content/bindings/autocomplete.xml:652:8

[task 2017-01-26T13:16:28.965178Z] 13:16:28     INFO - synthesizeKey@chrome://mochikit/content/tests/SimpleTest/EventUtils.js:789:7

[task 2017-01-26T13:16:28.966679Z] 13:16:28     INFO - @chrome://mochitests/content/browser/browser/base/content/test/general/browser_bug555767.js:52:7

[task 2017-01-26T13:16:28.968220Z] 13:16:28     INFO - TaskImpl_run@resource://gre/modules/Task.jsm:319:42

[task 2017-01-26T13:16:28.969970Z] 13:16:28     INFO - process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:917:23

[task 2017-01-26T13:16:28.971741Z] 13:16:28     INFO - walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:801:7

[task 2017-01-26T13:16:28.975949Z] 13:16:28     INFO - Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:734:11

[task 2017-01-26T13:16:28.977619Z] 13:16:28     INFO - schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:765:7

[task 2017-01-26T13:16:28.979190Z] 13:16:28     INFO - completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:702:7

[task 2017-01-26T13:16:28.980767Z] 13:16:28     INFO - promise callback*whenTabLoaded@chrome://mochitests/content/browser/browser/base/content/test/general/head.js:346:3

[task 2017-01-26T13:16:28.982231Z] 13:16:28     INFO - promiseTabLoaded@chrome://mochitests/content/browser/browser/base/content/test/general/head.js:351:3

[task 2017-01-26T13:16:28.983871Z] 13:16:28     INFO - @chrome://mochitests/content/browser/browser/base/content/test/general/browser_bug555767.js:13:13

[task 2017-01-26T13:16:28.985269Z] 13:16:28     INFO - TaskImpl_run@resource://gre/modules/Task.jsm:319:42

[task 2017-01-26T13:16:28.987000Z] 13:16:28     INFO - TaskImpl@resource://gre/modules/Task.jsm:277:3

[task 2017-01-26T13:16:28.989068Z] 13:16:28     INFO - asyncFunction@resource://gre/modules/Task.jsm:252:14

[task 2017-01-26T13:16:28.990852Z] 13:16:28     INFO - Task_spawn@resource://gre/modules/Task.jsm:166:12

[task 2017-01-26T13:16:28.992464Z] 13:16:28     INFO - TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:389:16

[task 2017-01-26T13:16:28.994160Z] 13:16:28     INFO - TaskImpl_run@resource://gre/modules/Task.jsm:327:15

[task 2017-01-26T13:16:28.995919Z] 13:16:28     INFO - TaskImpl@resource://gre/modules/Task.jsm:277:3

[task 2017-01-26T13:16:28.997706Z] 13:16:28     INFO - asyncFunction@resource://gre/modules/Task.jsm:252:14

[task 2017-01-26T13:16:29.002296Z] 13:16:28     INFO - Task_spawn@resource://gre/modules/Task.jsm:166:12

[task 2017-01-26T13:16:29.004202Z] 13:16:29     INFO - Tester_execTest@chrome://mochikit/content/browser-test.js:735:9

[task 2017-01-26T13:16:29.006059Z] 13:16:29     INFO - Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:655:7

[task 2017-01-26T13:16:29.008546Z] 13:16:29     INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:744:59

[task 2017-01-26T13:16:29.010364Z] 13:16:29     INFO - 

[task 2017-01-26T13:16:29.011679Z] 13:16:29     INFO - Stack trace:

[task 2017-01-26T13:16:29.013287Z] 13:16:29     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:simpletestOnerror:1583

[task 2017-01-26T13:16:29.015101Z] 13:16:29     INFO - JavaScript error: chrome://browser/content/browser-thumbnails.js, line 95: TypeError: aBrowser.currentURI is undefined

[task 2017-01-26T13:16:29.018339Z] 13:16:29     INFO - Console message: [JavaScript Error: "TypeError: aBrowser.currentURI is undefined" {file: "chrome://browser/content/browser-thumbnails.js" line: 95}]

[task 2017-01-26T13:16:29.022281Z] 13:16:29     INFO - Thumbnails_capture@chrome://browser/content/browser-thumbnails.js:95:1

[task 2017-01-26T13:16:29.023962Z] 13:16:29     INFO - Thumbnails_delayedCapture/timeout<@chrome://browser/content/browser-thumbnails.js:112:7

[task 2017-01-26T13:16:29.028658Z] 13:16:29     INFO - setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:625:12

[task 2017-01-26T13:16:29.030784Z] 13:16:29     INFO - Thumbnails_delayedCapture@chrome://browser/content/browser-thumbnails.js:110:19

[task 2017-01-26T13:16:29.032320Z] 13:16:29     INFO - Thumbnails_onStateChange@chrome://browser/content/browser-thumbnails.js:90:7

[task 2017-01-26T13:16:29.033703Z] 13:16:29     INFO - callListeners@chrome://browser/content/tabbrowser.xml:496:24

[task 2017-01-26T13:16:29.035165Z] 13:16:29     INFO - _callProgressListeners@chrome://browser/content/tabbrowser.xml:517:13

[task 2017-01-26T13:16:29.036587Z] 13:16:29     INFO - _callProgressListeners@chrome://browser/content/tabbrowser.xml:567:22

[task 2017-01-26T13:16:29.037982Z] 13:16:29     INFO - onStateChange@chrome://browser/content/tabbrowser.xml:750:15

[task 2017-01-26T13:16:29.039774Z] 13:16:29     INFO - _callProgressListeners@resource://gre/modules/RemoteWebProgress.jsm:174:11

[task 2017-01-26T13:16:29.041410Z] 13:16:29     INFO - receiveMessage@resource://gre/modules/RemoteWebProgress.jsm:235:7

[task 2017-01-26T13:16:29.043071Z] 13:16:29     INFO - permitUnload@chrome://global/content/bindings/remote-browser.xml:353:13

[task 2017-01-26T13:16:29.045335Z] 13:16:29     INFO - _beginRemoveTab@chrome://browser/content/tabbrowser.xml:2572:46

[task 2017-01-26T13:16:29.046780Z] 13:16:29     INFO - removeTab@chrome://browser/content/tabbrowser.xml:2510:18

[task 2017-01-26T13:16:29.048822Z] 13:16:29     INFO - onTabClose@chrome://mochitests/content/browser/browser/base/content/test/general/browser_bug555767.js:35:9

[task 2017-01-26T13:16:29.050918Z] 13:16:29     INFO - _beginRemoveTab@chrome://browser/content/tabbrowser.xml:2631:13

[task 2017-01-26T13:16:29.052778Z] 13:16:29     INFO - removeTab@chrome://browser/content/tabbrowser.xml:2510:18

[task 2017-01-26T13:16:29.054516Z] 13:16:29     INFO - handleCommand@chrome://browser/content/urlbarBindings.xml:468:21

[task 2017-01-26T13:16:29.057887Z] 13:16:29     INFO - anonymous@chrome://global/content/bindings/autocomplete.xml line 458 > Function:1:1

[task 2017-01-26T13:16:29.059444Z] 13:16:29     INFO - onTextEntered@chrome://global/content/bindings/autocomplete.xml:272:18

[task 2017-01-26T13:16:29.060863Z] 13:16:29     INFO - handleEnter@chrome://browser/content/urlbarBindings.xml:1155:22

[task 2017-01-26T13:16:29.062618Z] 13:16:29     INFO - handleKeyPress@chrome://global/content/bindings/autocomplete.xml:538:24

[task 2017-01-26T13:16:29.064707Z] 13:16:29     INFO - onKeyPress@chrome://browser/content/urlbarBindings.xml:222:18

[task 2017-01-26T13:16:29.066079Z] 13:16:29     INFO - onxblkeypress@chrome://global/content/bindings/autocomplete.xml:652:8

[task 2017-01-26T13:16:29.067859Z] 13:16:29     INFO - synthesizeKey@chrome://mochikit/content/tests/SimpleTest/EventUtils.js:789:7

[task 2017-01-26T13:16:29.071142Z] 13:16:29     INFO - @chrome://mochitests/content/browser/browser/base/content/test/general/browser_bug555767.js:52:7

[task 2017-01-26T13:16:29.073148Z] 13:16:29     INFO - TaskImpl_run@resource://gre/modules/Task.jsm:319:42

[task 2017-01-26T13:16:29.074652Z] 13:16:29     INFO - process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:917:23

[task 2017-01-26T13:16:29.076178Z] 13:16:29     INFO - walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:801:7

[task 2017-01-26T13:16:29.078959Z] 13:16:29     INFO - Promise*scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:734:11

[task 2017-01-26T13:16:29.080504Z] 13:16:29     INFO - schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:765:7

[task 2017-01-26T13:16:29.081983Z] 13:16:29     INFO - completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:702:7

[task 2017-01-26T13:16:29.083700Z] 13:16:29     INFO - promise callback*whenTabLoaded@chrome://mochitests/content/browser/browser/base/content/test/general/head.js:346:3

[task 2017-01-26T13:16:29.085338Z] 13:16:29     INFO - promiseTabLoaded@chrome://mochitests/content/browser/browser/base/content/test/general/head.js:351:3

[task 2017-01-26T13:16:29.087291Z] 13:16:29     INFO - @chrome://mochitests/content/browser/browser/base/content/test/general/browser_bug555767.js:13:13

[task 2017-01-26T13:16:29.089252Z] 13:16:29     INFO - TaskImpl_run@resource://gre/modules/Task.jsm:319:42

[task 2017-01-26T13:16:29.091011Z] 13:16:29     INFO - TaskImpl@resource://gre/modules/Task.jsm:277:3

[task 2017-01-26T13:16:29.092902Z] 13:16:29     INFO - asyncFunction@resource://gre/modules/Task.jsm:252:14

[task 2017-01-26T13:16:29.094827Z] 13:16:29     INFO - Task_spawn@resource://gre/modules/Task.jsm:166:12

[task 2017-01-26T13:16:29.098184Z] 13:16:29     INFO - TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:389:16

[task 2017-01-26T13:16:29.100334Z] 13:16:29     INFO - TaskImpl_run@resource://gre/modules/Task.jsm:327:15

[task 2017-01-26T13:16:29.101714Z] 13:16:29     INFO - TaskImpl@resource://gre/modules/Task.jsm:277:3

[task 2017-01-26T13:16:29.103192Z] 13:16:29     INFO - asyncFunction@resource://gre/modules/Task.jsm:252:14

[task 2017-01-26T13:16:29.104513Z] 13:16:29     INFO - Task_spawn@resource://gre/modules/Task.jsm:166:12

[task 2017-01-26T13:16:29.106929Z] 13:16:29     INFO - Tester_execTest@chrome://mochikit/content/browser-test.js:735:9

[task 2017-01-26T13:16:29.108534Z] 13:16:29     INFO - Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:655:7

[task 2017-01-26T13:16:29.110097Z] 13:16:29     INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:744:59

[task 2017-01-26T13:16:29.111856Z] 13:16:29     INFO - 

[task 2017-01-26T13:16:29.114377Z] 13:16:29     INFO - TEST-PASS | browser/base/content/test/general/browser_bug559991.js | applyPrefToSetting was called - 

[task 2017-01-26T13:16:29.118467Z] 13:16:29     INFO - MEMORY STAT | vsize 1459MB | residentFast 337MB | heapAllocated 130MB

[task 2017-01-26T13:16:29.120845Z] 13:16:29     INFO - TEST-OK | browser/base/content/test/general/browser_bug559991.js | took 982ms
See Also: → 1203848
this started 2 days ago, first instance on autoland, some retriggers point at a merge from inbound:
https://treeherder.mozilla.org/#/jobs?repo=autoland&filter-searchStr=linux%20browser-chrome-e10s%20pgo&tochange=ff6b0d4a62ec9e7509204a1ed85ac0b7890172ba&fromchange=9c8fc27b018c23da75a9529615b2d94282308da4&filter-resultStatus=testfailed&filter-resultStatus=busted&filter-resultStatus=exception&filter-resultStatus=retry&filter-resultStatus=usercancel&filter-resultStatus=running&filter-resultStatus=pending&filter-resultStatus=runnable (there are so many other errors, you have to click on each orange to see if it is the correct failure)

I am seeing about 1 failure in 10 runs on average, although it takes >10 runs to see the first failure.

:gbrown, any thoughts on how I could find the root cause?  I had originally thought multi-e10s, but I don't see this on inbound:
https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&filter-searchStr=linux%20pgo%20bc%20e10s&fromchange=0cdd083de64d2c7d9cf742ca15546a00e80ec989&tochange=c79165ae0d028c0eca5616fe9a497da7aeb0ace0
This doesn't seem to happen frequently/consistently enough to find the regressing change with a reasonable number of retriggers. I don't see any recent changesets that look suspicious. Maybe it was the merge??
:jaws, we should have asked you for input on this 2 weeks ago!  This is one of our top intermittent failures and well above our 30 times/week threshold to have us look at the failure.  Can you look at this bug this week or help find someone to look at it?  I would really to to have this resolved in the next 2 weeks (either fixed, greatly reduced, or disabled) to reduce the pain on try and the sheriffs.
Flags: needinfo?(jaws)
Assignee: nobody → jaws
Status: NEW → ASSIGNED
Flags: needinfo?(jaws)
Comment on attachment 8836911 [details]
Bug 1333324 - Check for a potentially null or undefined browser.currentURI in _capture since it runs off of a timeout and the browser may not have a webNavigation associated with it anymore.

https://reviewboard.mozilla.org/r/112222/#review113640

::: browser/base/content/browser-thumbnails.js:96
(Diff revision 1)
>    },
>  
>    _capture: function Thumbnails_capture(aBrowser) {
>      // Only capture about:newtab top sites.
> -    if (this._topSiteURLs.indexOf(aBrowser.currentURI.spec) == -1)
> +    if (!aBrowser.currentURI ||
> +        this._topSiteURLs.indexOf(aBrowser.currentURI.spec) == -1)

Is foo.indexOf(bar) == -1 a candidate for a scripted rewrite to !foo.includes(bar)?
Attachment #8836911 - Flags: review?(florian) → review+
(In reply to Florian Quèze [:florian] [:flo] from comment #19)
> Comment on attachment 8836911 [details]
> Bug 1333324 - Check for a potentially null or undefined browser.currentURI
> in _capture since it runs off of a timeout and the browser may not have a
> webNavigation associated with it anymore.
> 
> https://reviewboard.mozilla.org/r/112222/#review113640
> 
> ::: browser/base/content/browser-thumbnails.js:96
> (Diff revision 1)
> >    },
> >  
> >    _capture: function Thumbnails_capture(aBrowser) {
> >      // Only capture about:newtab top sites.
> > -    if (this._topSiteURLs.indexOf(aBrowser.currentURI.spec) == -1)
> > +    if (!aBrowser.currentURI ||
> > +        this._topSiteURLs.indexOf(aBrowser.currentURI.spec) == -1)
> 
> Is foo.indexOf(bar) == -1 a candidate for a scripted rewrite to
> !foo.includes(bar)?

Yeah it sure looks like it! Good idea :)
Pushed by jwein@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d01daa40baa5
Check for a potentially null or undefined browser.currentURI in _capture since it runs off of a timeout and the browser may not have a webNavigation associated with it anymore. r=florian
I filed bug 1339461 to implement the .includes change.
https://hg.mozilla.org/mozilla-central/rev/d01daa40baa5
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 54
Whiteboard: [stockwell fixed]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: