Closed Bug 1383315 Opened 7 years ago Closed 5 years ago

Intermittent browser/base/content/test/tabcrashed/browser_noPermanentKey.js | uncaught exception - TypeError: WeakMap key must be an object, got undefined at init/<@chrome://browser/content/browser.js:6146:7

Categories

(Firefox :: Tabbed Browser, defect, P3)

defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox56 --- disabled
firefox57 --- disabled
firefox58 --- disabled
firefox59 --- disabled

People

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

References

(Blocks 1 open bug)

Details

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

Attachments

(3 files)

this picked up in frequency, primarily on linux32-debug (a few other data points on try and other branches):
https://brasstacks.mozilla.com/orangefactor/?display=Bug&bugid=1383315&startday=2017-08-17&endday=2017-08-24&tree=all

here is a log for linux32-debug:
https://treeherder.mozilla.org/logviewer.html#?repo=mozilla-inbound&job_id=125469843

and the related screenshot:
https://public-artifacts.taskcluster.net/NzhtWgq9TuK6nCfALZolTg/0/public/test_info//mozilla-test-fail-screenshot_1zMdqp.png

here some related lines from the log surrounding the failure[task 2017-08-24T09:25:30.644342Z] 09:25:30     INFO - TEST-START | browser/base/content/test/tabcrashed/browser_noPermanentKey.js
[task 2017-08-24T09:25:30.653496Z] 09:25:30     INFO - GECKO(1309) | ++DOCSHELL 0xd99c2400 == 2 [pid = 1516] [id = {8d089c0f-6ec7-4838-855e-10dd6f12fdfc}]
[task 2017-08-24T09:25:30.655556Z] 09:25:30     INFO - GECKO(1309) | ++DOMWINDOW == 4 (0xd99c2800) [pid = 1516] [serial = 4] [outer = (nil)]
[task 2017-08-24T09:25:30.660399Z] 09:25:30     INFO - GECKO(1309) | ++DOMWINDOW == 5 (0xd99c5c00) [pid = 1516] [serial = 5] [outer = 0xd99c2800]
[task 2017-08-24T09:25:30.662477Z] 09:25:30     INFO - GECKO(1309) | --DOMWINDOW == 10 (0xcc981000) [pid = 1309] [serial = 18] [outer = (nil)] [url = about:tabcrashed?e=tabcrashed&u=data%3Atext/html%2C%3Chtml%3E%3Cbody%3EA%2520regular%2C%2520everyday%2C%2520normal%2520page.&c=UTF-8&f=regular&d=%20]
[task 2017-08-24T09:25:30.666940Z] 09:25:30     INFO - TEST-INFO | started process screentopng
[task 2017-08-24T09:25:35.072865Z] 09:25:35     INFO - TEST-INFO | screentopng: exit 0
[task 2017-08-24T09:25:35.082948Z] 09:25:35     INFO - Buffered messages logged at 09:24:26
[task 2017-08-24T09:25:35.084118Z] 09:25:35     INFO - Entering test bound setup
[task 2017-08-24T09:25:35.085288Z] 09:25:35     INFO - Leaving test bound setup
[task 2017-08-24T09:25:35.086435Z] 09:25:35     INFO - Entering test bound test_without_dump
[task 2017-08-24T09:25:35.087622Z] 09:25:35     INFO - Buffered messages finished
[task 2017-08-24T09:25:35.093079Z] 09:25:35     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/tabcrashed/browser_noPermanentKey.js | uncaught exception - TypeError: WeakMap key must be an object, got undefined at init/<@chrome://browser/content/browser.js:6186:7
[task 2017-08-24T09:25:35.093331Z] 09:25:35     INFO - 
[task 2017-08-24T09:25:35.093555Z] 09:25:35     INFO - Stack trace:
[task 2017-08-24T09:25:35.094917Z] 09:25:35     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:simpletestOnerror:1652
[task 2017-08-24T09:25:35.100413Z] 09:25:35     INFO - GECKO(1309) | JavaScript error: chrome://browser/content/browser.js, line 6186: TypeError: WeakMap key must be an object, got undefined
[task 2017-08-24T09:25:35.102328Z] 09:25:35     INFO - GECKO(1309) | Et tu, Brute?
[task 2017-08-24T09:25:35.105077Z] 09:25:35     INFO - GECKO(1309) | XPCOM_MEM_BLOAT_LOG: /tmp/tmpdXfuow.mozrunner/runtests_leaks.log
[task 2017-08-24T09:25:35.110957Z] 09:25:35     INFO - GECKO(1309) | Writing to log: /tmp/tmpdXfuow.mozrunner/runtests_leaks_tab_pid1516.log
[task 2017-08-24T09:25:35.118220Z] 09:25:35     INFO - Console message: [JavaScript Error: "The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol." {file: "data:text/html,<html><body>A%20regular,%20everyday,%20normal%20page." line: 0}]
[task 2017-08-24T09:25:35.120412Z] 09:25:35     INFO - Console message: [JavaScript Error: "TypeError: WeakMap key must be an object, got undefined" {file: "chrome://browser/content/browser.js" line: 6186}]
[task 2017-08-24T09:25:35.124189Z] 09:25:35     INFO - init/<@chrome://browser/content/browser.js:6186:7
[task 2017-08-24T09:25:35.125737Z] 09:25:35     INFO - 
[task 2017-08-24T09:25:35.127590Z] 09:25:35     INFO - GECKO(1309) | ###!!! [Parent][MessageChannel] Error: (msgtype=0x150081,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv
[task 2017-08-24T09:25:35.132543Z] 09:25:35     INFO - GECKO(1309) | JavaScript error: resource:///modules/sessionstore/SessionStore.jsm, line 2132: TypeError: WeakSet value must be an object, got (void 0)
[task 2017-08-24T09:25:35.135557Z] 09:25:35     INFO - GECKO(1309) | ++DOCSHELL 0xce2a7000 == 5 [pid = 1309] [id = {b60dacd4-5ad8-4b47-ae20-72bfaf277995}]
[task 2017-08-24T09:25:35.138650Z] 09:25:35     INFO - GECKO(1309) | ++DOMWINDOW == 11 (0xce2a7c00) [pid = 1309] [serial = 21] [outer = (nil)]
[task 2017-08-24T09:25:35.142507Z] 09:25:35     INFO - GECKO(1309) | ++DOMWINDOW == 12 (0xce379400) [pid = 1309] [serial = 22] [outer = 0xce2a7c00]
[task 2017-08-24T09:25:35.146153Z] 09:25:35     INFO - Console message: [JavaScript Error: "remote browser crashed while on data:text/html,<html><body>A%20regular,%20everyday,%20normal%20page.
[task 2017-08-24T09:25:35.148783Z] 09:25:35     INFO - " {file: "chrome://mochikit/content/mochitest-e10s-utils.js" line: 8}]
[task 2017-08-24T09:25:35.153428Z] 09:25:35     INFO - e10s_init/<@chrome://mochikit/content/mochitest-e10s-utils.js:8:5
[task 2017-08-24T09:25:35.158670Z] 09:25:35     INFO - EventListener.handleEvent*EventTargetInterposition.methods.addEventListener@resource://gre/modules/RemoteAddonsParent.jsm:668:5
[task 2017-08-24T09:25:35.162452Z] 09:25:35     INFO - interposeProperty/desc.value@jar:file:///home/worker/workspace/build/application/firefox/omni.ja!/components/multiprocessShims.js:157:52
[task 2017-08-24T09:25:35.176367Z] 09:25:35     INFO - e10s_init@chrome://mochikit/content/mochitest-e10s-utils.js:6:3
[task 2017-08-24T09:25:35.178475Z] 09:25:35     INFO - testInit@chrome://mochikit/content/browser-test.js:101:5
[task 2017-08-24T09:25:35.180184Z] 09:25:35     INFO - setTimeout handler*@chrome://mochikit/content/browser-test.js:25:3
[task 2017-08-24T09:25:35.182759Z] 09:25:35     INFO - 
[task 2017-08-24T09:25:35.184835Z] 09:25:35     INFO - Console message: [JavaScript Error: "TypeError: WeakSet value must be an object, got (void 0)" {file: "resource:///modules/sessionstore/SessionStore.jsm" line: 2132}]
[task 2017-08-24T09:25:35.188004Z] 09:25:35     INFO - GECKO(1309) | ++DOMWINDOW == 13 (0xd2c2c400) [pid = 1309] [serial = 23] [outer = 0xce2a7c00]
[task 2017-08-24T09:25:35.191052Z] 09:25:35     INFO - GECKO(1309) | [Parent 1309] WARNING: waitpid failed pid:1516 errno:10: file /home/worker/workspace/build/src/ipc/chromium/src/base/process_util_posix.cc, line 276
[task 2017-08-24T09:25:35.193958Z] 09:25:35     INFO - GECKO(1309) | Crash cleaned up
[task 2017-08-24T09:25:35.195969Z] 09:25:35     INFO - GECKO(1309) | about:tabcrashed loaded and ready
[task 2017-08-24T09:25:35.198435Z] 09:25:35     INFO - Starting wait on crash-report-status
[task 2017-08-24T09:25:35.204488Z] 09:25:35     INFO - TEST-PASS | browser/base/content/test/tabcrashed/browser_noPermanentKey.js | Should be offering to submit a crash report. - true == true - 


::dao, I see you are the triage owner for the tabbed browser component (where this test lives)- can you help find someone to look into this test in the next week or two?
Flags: needinfo?(dao+bmo)
Whiteboard: [stockwell needswork]
(In reply to Joel Maher ( :jmaher) (UTC-5) from comment #7)
> ::dao, I see you are the triage owner for the tabbed browser component
> (where this test lives)- can you help find someone to look into this test in
> the next week or two?

Unlikely. We're all quite busy with photon work. We can disable the test for linux32-debug if that helps.
Flags: needinfo?(dao+bmo)
Comment on attachment 8900753 [details] [diff] [review]
disable test on linux32/debug

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

Yoink
Attachment #8900753 - Flags: review?(dao+bmo) → review+
Pushed by jmaher@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/98dc5d828a87
Disable browser/base/content/test/tabcrashed/browser_noPermanentKey.js for linux32/debug. r=mconley
https://hg.mozilla.org/mozilla-central/rev/98dc5d828a87
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 57
Assignee: nobody → jmaher
Assignee: jmaher → nobody
Keywords: leave-open
Whiteboard: [stockwell needswork] → [stockwell disabled]
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
I'd vote for disabling on Linux64 at this point too.
Flags: needinfo?(jmaher)
Flags: needinfo?(jmaher)
Attachment #8905436 - Flags: review?(gbrown)
Attachment #8905436 - Flags: review?(gbrown) → review+
Pushed by jmaher@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/665af6e7b934
Disable browser/base/content/test/tabcrashed/browser_noPermanentKey.js for linux 64/debug. r=gbrown
Priority: -- → P3
This was disabled 2 months ago on Linux Debug. On 23 October, this started failing again, now on the following configurations: Linux 32 & 64, both stylo enabled and disabled. Most of them occur on opt, but some of them are on pgo. 

This is a recent example of the log: 
https://treeherder.mozilla.org/logviewer.html#?repo=mozilla-inbound&job_id=140181741&lineNumber=4495 

And a snippet of the relevant log part:
[task 2017-10-27T12:59:10.571Z] 12:59:10     INFO - TEST-START | browser/base/content/test/tabcrashed/browser_noPermanentKey.js
[task 2017-10-27T12:59:10.911Z] 12:59:10     INFO - TEST-INFO | started process screentopng
[task 2017-10-27T12:59:11.455Z] 12:59:11     INFO - TEST-INFO | screentopng: exit 0
[task 2017-10-27T12:59:11.455Z] 12:59:11     INFO - Buffered messages logged at 12:59:10
[task 2017-10-27T12:59:11.465Z] 12:59:11     INFO - Entering test bound setup
[task 2017-10-27T12:59:11.465Z] 12:59:11     INFO - Leaving test bound setup
[task 2017-10-27T12:59:11.465Z] 12:59:11     INFO - Entering test bound test_without_dump
[task 2017-10-27T12:59:11.465Z] 12:59:11     INFO - Console message: [JavaScript Warning: "Use of nsIFile in content process is deprecated." {file: "resource://gre/modules/FileUtils.jsm" line: 174}]
[task 2017-10-27T12:59:11.465Z] 12:59:11     INFO - Buffered messages finished
[task 2017-10-27T12:59:11.466Z] 12:59:11     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/tabcrashed/browser_noPermanentKey.js | uncaught exception - TypeError: WeakMap key must be an object, got undefined at init/<@chrome://browser/content/browser.js:6228:7
[task 2017-10-27T12:59:11.468Z] 12:59:11     INFO - 
[task 2017-10-27T12:59:11.470Z] 12:59:11     INFO - Stack trace:
[task 2017-10-27T12:59:11.472Z] 12:59:11     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:simpletestOnerror:1652
[task 2017-10-27T12:59:11.474Z] 12:59:11     INFO - GECKO(2913) | JavaScript error: chrome://browser/content/browser.js, line 6228: TypeError: WeakMap key must be an object, got undefined
[task 2017-10-27T12:59:11.476Z] 12:59:11     INFO - Console message: [JavaScript Error: "TypeError: WeakMap key must be an object, got undefined" {file: "chrome://browser/content/browser.js" line: 6228}]
[task 2017-10-27T12:59:11.478Z] 12:59:11     INFO - init/<@chrome://browser/content/browser.js:6228:7
[task 2017-10-27T12:59:11.481Z] 12:59:11     INFO - 
[task 2017-10-27T12:59:11.482Z] 12:59:11     INFO - GECKO(2913) | Et tu, Brute?
[task 2017-10-27T12:59:11.483Z] 12:59:11     INFO - GECKO(2913) | XPCOM_MEM_BLOAT_LOG: /tmp/tmpaJHEN0.mozrunner/runtests_leaks.log
[task 2017-10-27T12:59:11.484Z] 12:59:11     INFO - GECKO(2913) | Writing to log: /tmp/tmpaJHEN0.mozrunner/runtests_leaks_tab_pid3127.log
[task 2017-10-27T12:59:11.486Z] 12:59:11     INFO - GECKO(2913) | [Parent 2913, Gecko_IOThread] WARNING: pipe error (136): Connection reset by peer: file /builds/worker/workspace/build/src/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 353
[task 2017-10-27T12:59:11.487Z] 12:59:11     INFO - GECKO(2913) | ###!!! [Parent][MessageChannel] Error: (msgtype=0x150084,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv
[task 2017-10-27T12:59:11.488Z] 12:59:11     INFO - GECKO(2913) | JavaScript error: resource:///modules/sessionstore/SessionStore.jsm, line 2182: TypeError: WeakSet value must be an object, got undefined
[task 2017-10-27T12:59:11.489Z] 12:59:11     INFO - Console message: [JavaScript Error: "remote browser crashed while on data:text/html,<html><body>A%20regular,%20everyday,%20normal%20page.
[task 2017-10-27T12:59:11.490Z] 12:59:11     INFO - " {file: "chrome://mochikit/content/mochitest-e10s-utils.js" line: 8}]
[task 2017-10-27T12:59:11.491Z] 12:59:11     INFO - e10s_init/<@chrome://mochikit/content/mochitest-e10s-utils.js:8:5
[task 2017-10-27T12:59:11.491Z] 12:59:11     INFO - EventListener.handleEvent*EventTargetInterposition.methods.addEventListener@resource://gre/modules/RemoteAddonsParent.jsm:673:5
[task 2017-10-27T12:59:11.492Z] 12:59:11     INFO - interposeProperty/desc.value@jar:file:///builds/worker/workspace/build/application/firefox/omni.ja!/components/multiprocessShims.js:157:52
[task 2017-10-27T12:59:11.493Z] 12:59:11     INFO - e10s_init@chrome://mochikit/content/mochitest-e10s-utils.js:6:3
[task 2017-10-27T12:59:11.494Z] 12:59:11     INFO - testInit@chrome://mochikit/content/browser-test.js:101:5
[task 2017-10-27T12:59:11.495Z] 12:59:11     INFO - setTimeout handler*@chrome://mochikit/content/browser-test.js:25:3
[task 2017-10-27T12:59:11.496Z] 12:59:11     INFO - 
[task 2017-10-27T12:59:11.497Z] 12:59:11     INFO - Console message: [JavaScript Error: "TypeError: WeakSet value must be an object, got undefined" {file: "resource:///modules/sessionstore/SessionStore.jsm" line: 2182}]
[task 2017-10-27T12:59:11.498Z] 12:59:11     INFO - GECKO(2913) | Crash cleaned up
[task 2017-10-27T12:59:11.499Z] 12:59:11     INFO - GECKO(2913) | about:tabcrashed loaded and ready
[task 2017-10-27T12:59:11.500Z] 12:59:11     INFO - Starting wait on crash-report-status


::dao, can you please take a look or should we just disable it on the affected platforms?
Flags: needinfo?(dao+bmo)
Whiteboard: [stockwell disabled] → [stockwell needswork]
I did some retriggers as this is new:
https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&filter-searchStr=linux%20x64%20stylo%20opt%20browser-chrome%20e10s&tochange=37db725b23082b69fdf4e3b08242e592a379b60e&fromchange=690d965f8ff718ef38eee0752c60785eea8d0537&selectedJob=139233691

I was suspicious this might be related to running the browser-chrome tests on a different aws type, but that was for linux only, not windows.

hopefully there is something to find the root cause and fix this- at the current failure rate we will probably be disabling this in 2 more weeks.
In the last 7 days there were 70 failures, but I see that they started to decrease from 4th of Nov.
as a note, yesterday was a weekend and we had a much lower number of pushes than on weekdays, so our volume typically goes down- I think the overall failure rate is still the same.
For this failure there were 99 failures on the last week.
:dao do you have any updates on this?
Pushed by jmaher@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/1c9e05cb8d41
Disable browser/base/content/test/tabcrashed/browser_noPermanentKey.js on linux for frequent failures. r=me, a=testonly
this has been disabled, please remember to enable it while working on a patch
Whiteboard: [stockwell disable-recommended] → [stockwell disabled]
Flags: needinfo?(dao+bmo)
Joel, this seems to permafail in my try runs for bug 1470280 where I'm bumping the process count.
Attachment #9015095 - Flags: review?(jmaher)
Assignee: nobody → erahm
Status: REOPENED → ASSIGNED
Blocks: 1470280
Comment on attachment 9015095 [details] [diff] [review]
Disable browser/base/content/test/tabcrashed/browser_noPermanentKey.js for mac and win

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

:erahm, this makes the test disabled everywhere, maybe :mconley for :felipe would know more since they originally wrote/reviewed it 15 months ago.  Maybe a temporary disable could be agreed upon while a fix is in the works.
Attachment #9015095 - Flags: review?(jmaher) → review?(mconley)
Blocks: 1497073
(In reply to Joel Maher ( :jmaher ) (UTC-4) from comment #51)
> Comment on attachment 9015095 [details] [diff] [review]
> Disable browser/base/content/test/tabcrashed/browser_noPermanentKey.js for
> mac and win
> 
> Review of attachment 9015095 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> :erahm, this makes the test disabled everywhere, maybe :mconley for :felipe
> would know more since they originally wrote/reviewed it 15 months ago. 
> Maybe a temporary disable could be agreed upon while a fix is in the works.

Sure I filed bug 1497073 to re-enable it when someone has time to look into it, I really don't want to block bug 1470280 on a known intermittent that's been progressively disabled over the last year and a half.
Comment on attachment 9015095 [details] [diff] [review]
Disable browser/base/content/test/tabcrashed/browser_noPermanentKey.js for mac and win

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

Sorry about our flake-y test!

::: browser/base/content/test/tabcrashed/browser.ini
@@ +6,4 @@
>  [browser_autoSubmitRequest.js]
>  [browser_clearEmail.js]
>  [browser_noPermanentKey.js]
> +skip-if = (os == "linux" || os == "win" || os == "mac") || verify # Bug 1383315

Might as well make this

skip-if = true

I guess.
Attachment #9015095 - Flags: review?(mconley) → review+
(In reply to Mike Conley (:mconley) (:⚙️) from comment #54)
> Comment on attachment 9015095 [details] [diff] [review]
> Disable browser/base/content/test/tabcrashed/browser_noPermanentKey.js for
> mac and win
> 
> Review of attachment 9015095 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> Sorry about our flake-y test!
> 
> ::: browser/base/content/test/tabcrashed/browser.ini
> @@ +6,4 @@
> >  [browser_autoSubmitRequest.js]
> >  [browser_clearEmail.js]
> >  [browser_noPermanentKey.js]
> > +skip-if = (os == "linux" || os == "win" || os == "mac") || verify # Bug 1383315
> 
> Might as well make this
> 
> skip-if = true
> 
> I guess.

Will do, on the plus side it's 100% reproducible now so hopefully it's easier to diagnose.
Pushed by erahm@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/27220a081734
Disable browser/base/content/test/tabcrashed/browser_noPermanentKey.js. r=mconley
Status: ASSIGNED → RESOLVED
Closed: 7 years ago5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.