Intermittent [tier2] GECKO(1115) | Assertion failure: IsWindowProxy(obj), at /builds/worker/workspace/build/src/js/src/vm/Compartment.cpp:247
Categories
(Core :: JavaScript Engine, defect, P3)
Tracking
()
Fission Milestone | M6 |
People
(Reporter: intermittent-bug-filer, Assigned: mccr8)
References
Details
(Keywords: intermittent-failure)
Attachments
(2 files)
Filed by: nerli [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=281582578&repo=mozilla-central
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/LQoO9xzrR8ezROtOZI5pDA/runs/0/artifacts/public/logs/live_backing.log
[task 2019-12-17T18:11:05.788Z] 18:11:05 INFO - TEST-START | devtools/client/webconsole/test/browser/browser_webconsole_block_mixedcontent_securityerrors.js
[task 2019-12-17T18:11:05.933Z] 18:11:05 INFO - GECKO(1115) | [Child 1987: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f32638d2800 == 0 [pid = 1987] [id = {1dc04f68-a72e-4a76-a711-57c911ce8d06}] [url = http://example.com/browser/devtools/client/webconsole/test/browser/test-batching.html]
[task 2019-12-17T18:11:06.094Z] 18:11:06 INFO - GECKO(1115) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpeALGdu.mozrunner/runtests_leaks_tab_pid2013.log
[task 2019-12-17T18:11:06.135Z] 18:11:06 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: No CID found when attempting to map contract ID: file /builds/worker/workspace/build/src/xpcom/components/nsComponentManager.cpp, line 727
[task 2019-12-17T18:11:06.191Z] 18:11:06 INFO - GECKO(1115) | [Child 1987: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 1 (0x7f32648dbf20) [pid = 1987] [serial = 1] [outer = (nil)] [url = http://example.com/browser/devtools/client/webconsole/test/browser/test-batching.html]
[task 2019-12-17T18:11:06.192Z] 18:11:06 INFO - GECKO(1115) | [Child 1987: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (0x7f326347b400) [pid = 1987] [serial = 3] [outer = (nil)] [url = http://example.com/browser/devtools/client/webconsole/test/browser/test-batching.html]
[task 2019-12-17T18:11:06.235Z] 18:11:06 INFO - GECKO(1115) | [Child 1987, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/workspace/build/src/xpcom/base/nsCycleCollector.cpp, line 3361
[task 2019-12-17T18:11:06.318Z] 18:11:06 INFO - GECKO(1115) | nsStringStats
[task 2019-12-17T18:11:06.319Z] 18:11:06 INFO - GECKO(1115) | => mAllocCount: 14006
[task 2019-12-17T18:11:06.320Z] 18:11:06 INFO - GECKO(1115) | => mReallocCount: 0
[task 2019-12-17T18:11:06.321Z] 18:11:06 INFO - GECKO(1115) | => mFreeCount: 14006
[task 2019-12-17T18:11:06.322Z] 18:11:06 INFO - GECKO(1115) | => mShareCount: 12245
[task 2019-12-17T18:11:06.323Z] 18:11:06 INFO - GECKO(1115) | => mAdoptCount: 696
[task 2019-12-17T18:11:06.323Z] 18:11:06 INFO - GECKO(1115) | => mAdoptFreeCount: 700
[task 2019-12-17T18:11:06.324Z] 18:11:06 INFO - GECKO(1115) | => Process ID: 1987, Thread ID: 139854856202048
[task 2019-12-17T18:11:06.339Z] 18:11:06 INFO - GECKO(1115) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2019-12-17T18:11:06.380Z] 18:11:06 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 23 (0x7fee128f03e0) [pid = 1115] [serial = 773] [outer = (nil)] [url = chrome://devtools/content/webconsole/index.html]
[task 2019-12-17T18:11:06.380Z] 18:11:06 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7fee1374b800 == 8 [pid = 1115] [id = {80104327-ad42-4ef5-a84e-18767004a3ad}] [url = chrome://devtools/content/webconsole/index.html]
[task 2019-12-17T18:11:06.382Z] 18:11:06 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7fee12561800 == 7 [pid = 1115] [id = {79747750-956b-48ca-877c-a2b7f4c0a750}] [url = chrome://devtools/content/webconsole/index.html]
[task 2019-12-17T18:11:06.529Z] 18:11:06 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/workspace/build/src/dom/ipc/ContentChild.cpp, line 1819
[task 2019-12-17T18:11:06.535Z] 18:11:06 INFO - GECKO(1115) | [Child 2013: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7fb5f97d2800 == 1 [pid = 2013] [id = {f19f5feb-9003-4bb7-b4e1-897999a9c3e4}]
[task 2019-12-17T18:11:06.586Z] 18:11:06 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 22 (0x7fee128f0020) [pid = 1115] [serial = 769] [outer = (nil)] [url = about:devtools-toolbox]
[task 2019-12-17T18:11:06.586Z] 18:11:06 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 21 (0x7fee06439b60) [pid = 1115] [serial = 767] [outer = (nil)] [url = chrome://devtools/content/webconsole/index.html]
[task 2019-12-17T18:11:06.587Z] 18:11:06 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 20 (0x7fee064395c0) [pid = 1115] [serial = 763] [outer = (nil)] [url = about:devtools-toolbox]
[task 2019-12-17T18:11:06.664Z] 18:11:06 INFO - GECKO(1115) | [Child 2013: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 1 (0x7fb5fa6b2f20) [pid = 2013] [serial = 1] [outer = (nil)]
[task 2019-12-17T18:11:06.664Z] 18:11:06 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/workspace/build/src/layout/base/nsPresContext.cpp, line 848
[task 2019-12-17T18:11:06.665Z] 18:11:06 INFO - GECKO(1115) | [Child 2013: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (0x7fb5f9371400) [pid = 2013] [serial = 2] [outer = 0x7fb5fa6b2f20]
[task 2019-12-17T18:11:06.827Z] 18:11:06 INFO - GECKO(1115) | [Parent 1115, Main Thread] WARNING: we only accept nsIURI interface type, patch welcome: file /builds/worker/workspace/build/src/dom/ipc/PropertyBagUtils.cpp, line 112
[task 2019-12-17T18:11:06.829Z] 18:11:06 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannelChild, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannelChild.cpp, line 63
[task 2019-12-17T18:11:06.865Z] 18:11:06 INFO - GECKO(1115) | [Child 2013: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 3 (0x7fb5f937c800) [pid = 2013] [serial = 3] [outer = 0x7fb5fa6b2f20]
[task 2019-12-17T18:11:06.886Z] 18:11:06 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x805E0006: file /builds/worker/workspace/build/src/dom/security/nsContentSecurityManager.cpp, line 906
[task 2019-12-17T18:11:06.887Z] 18:11:06 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/workspace/build/src/netwerk/protocol/http/HttpChannelChild.cpp, line 2434
[task 2019-12-17T18:11:06.984Z] 18:11:06 INFO - GECKO(1115) | [Child 2013: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7fb5f93cd000 == 2 [pid = 2013] [id = {0d378f38-bfd6-499c-97b1-04ca9c9653e3}]
[task 2019-12-17T18:11:06.984Z] 18:11:06 INFO - GECKO(1115) | [Child 2013: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 4 (0x7fb5fa6b2020) [pid = 2013] [serial = 4] [outer = (nil)]
[task 2019-12-17T18:11:06.984Z] 18:11:06 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x805E0006: file /builds/worker/workspace/build/src/dom/security/nsContentSecurityManager.cpp, line 906
[task 2019-12-17T18:11:06.984Z] 18:11:06 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/workspace/build/src/netwerk/protocol/http/HttpChannelChild.cpp, line 2434
[task 2019-12-17T18:11:06.984Z] 18:11:06 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x805E0006: file /builds/worker/workspace/build/src/dom/security/nsContentSecurityManager.cpp, line 906
[task 2019-12-17T18:11:06.984Z] 18:11:06 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x805E0006: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannelChild.cpp, line 119
[task 2019-12-17T18:11:06.984Z] 18:11:06 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x805E0006: file /builds/worker/workspace/build/src/docshell/base/nsDocShell.cpp, line 10269
[task 2019-12-17T18:11:06.984Z] 18:11:06 INFO - GECKO(1115) | [Child 2013: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 5 (0x7fb5fa4d4800) [pid = 2013] [serial = 5] [outer = 0x7fb5fa6b2020]
[task 2019-12-17T18:11:06.999Z] 18:11:06 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x805E0006: file /builds/worker/workspace/build/src/dom/base/nsFrameLoader.cpp, line 665
[task 2019-12-17T18:11:07.226Z] 18:11:07 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7fee12570000 == 8 [pid = 1115] [id = {3288e534-df1b-4614-95f3-d1cae9b5a8a0}]
[task 2019-12-17T18:11:07.226Z] 18:11:07 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 21 (0x7fee06439b60) [pid = 1115] [serial = 781] [outer = (nil)]
[task 2019-12-17T18:11:07.233Z] 18:11:07 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 22 (0x7fee12864c00) [pid = 1115] [serial = 782] [outer = 0x7fee06439b60]
[task 2019-12-17T18:11:07.255Z] 18:11:07 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 23 (0x7fee12866400) [pid = 1115] [serial = 783] [outer = 0x7fee06439b60]
[task 2019-12-17T18:11:07.303Z] 18:11:07 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 24 (0x7fee1ba93c00) [pid = 1115] [serial = 784] [outer = 0x7fee06439b60]
[task 2019-12-17T18:11:07.424Z] 18:11:07 INFO - GECKO(1115) | [Parent 1115, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file /builds/worker/workspace/build/src/dom/base/nsContentUtils.cpp, line 3719
[task 2019-12-17T18:11:07.706Z] 18:11:07 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7fee1255d000 == 9 [pid = 1115] [id = {49d2b077-85a8-47b0-8f53-b52152f3a2c6}]
[task 2019-12-17T18:11:07.707Z] 18:11:07 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 25 (0x7fee0643ae20) [pid = 1115] [serial = 785] [outer = (nil)]
[task 2019-12-17T18:11:07.707Z] 18:11:07 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 26 (0x7fee1b398000) [pid = 1115] [serial = 786] [outer = 0x7fee0643ae20]
[task 2019-12-17T18:11:08.067Z] 18:11:08 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7fee12564800 == 8 [pid = 1115] [id = {488991f2-e47f-46bd-9453-0ff7746fa3c3}] [url = about:devtools-toolbox]
[task 2019-12-17T18:11:08.345Z] 18:11:08 INFO - GECKO(1115) | [Parent 1115, Main Thread] WARNING: NS_ENSURE_SUCCESS(rv, nullptr) failed with result 0x804B000A: file /builds/worker/workspace/build/src/extensions/permissions/nsPermission.cpp, line 45
[task 2019-12-17T18:11:08.346Z] 18:11:08 INFO - GECKO(1115) | [Parent 1115, Main Thread] WARNING: '!principal', file /builds/worker/workspace/build/src/netwerk/cookie/CookieSettings.cpp, line 132
[task 2019-12-17T18:11:08.347Z] 18:11:08 INFO - GECKO(1115) | [Parent 1115, Main Thread] WARNING: 'NS_FAILED(rv)', file /builds/worker/workspace/build/src/toolkit/components/antitracking/StorageAccess.cpp, line 33
[task 2019-12-17T18:11:09.271Z] 18:11:09 INFO - GECKO(1115) | [Parent 1115, Main Thread] WARNING: we only accept nsIURI interface type, patch welcome: file /builds/worker/workspace/build/src/dom/ipc/PropertyBagUtils.cpp, line 112
[task 2019-12-17T18:11:09.272Z] 18:11:09 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannelChild, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannelChild.cpp, line 63
[task 2019-12-17T18:11:09.272Z] 18:11:09 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannelChild, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannelChild.cpp, line 63
[task 2019-12-17T18:11:09.288Z] 18:11:09 INFO - GECKO(1115) | [Child 2013: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 6 (0x7fb5fa642000) [pid = 2013] [serial = 6] [outer = 0x7fb5fa6b2f20]
[task 2019-12-17T18:11:09.289Z] 18:11:09 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: Page was shift reloaded, skipping ServiceWorker control: file /builds/worker/workspace/build/src/dom/base/Document.cpp, line 6821
[task 2019-12-17T18:11:09.636Z] 18:11:09 INFO - GECKO(1115) | [Child 2013: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7fb5f6c03800 == 3 [pid = 2013] [id = {efe7bf67-9ee8-4260-aaa1-1faf570a5a07}]
[task 2019-12-17T18:11:09.636Z] 18:11:09 INFO - GECKO(1115) | [Child 2013: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 7 (0x7fb5fa6b3a60) [pid = 2013] [serial = 7] [outer = (nil)]
[task 2019-12-17T18:11:09.644Z] 18:11:09 INFO - GECKO(1115) | [Child 2013: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 8 (0x7fb5fa649400) [pid = 2013] [serial = 8] [outer = 0x7fb5fa6b3a60]
[task 2019-12-17T18:11:10.034Z] 18:11:10 INFO - GECKO(1115) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpeALGdu.mozrunner/runtests_leaks_tab_pid2045.log
[task 2019-12-17T18:11:10.055Z] 18:11:10 INFO - GECKO(1115) | [Child 2045, Main Thread] WARNING: No CID found when attempting to map contract ID: file /builds/worker/workspace/build/src/xpcom/components/nsComponentManager.cpp, line 727
[task 2019-12-17T18:11:10.198Z] 18:11:10 INFO - GECKO(1115) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2019-12-17T18:11:10.218Z] 18:11:10 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannelChild, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannelChild.cpp, line 63
[task 2019-12-17T18:11:10.219Z] 18:11:10 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannelChild, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannelChild.cpp, line 63
[task 2019-12-17T18:11:10.219Z] 18:11:10 INFO - GECKO(1115) | [Child 2013, Main Thread] WARNING: NS_ENSURE_TRUE(request) failed: file /builds/worker/workspace/build/src/netwerk/base/nsLoadGroup.cpp, line 574
[task 2019-12-17T18:11:10.294Z] 18:11:10 INFO - GECKO(1115) | Assertion failure: IsWindowProxy(obj), at /builds/worker/workspace/build/src/js/src/vm/Compartment.cpp:247
[task 2019-12-17T18:11:10.398Z] 18:11:10 INFO - GECKO(1115) | [Child 2045, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/workspace/build/src/dom/ipc/ContentChild.cpp, line 1819
[task 2019-12-17T18:11:10.418Z] 18:11:10 INFO - GECKO(1115) | [Child 2045: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f4962fcf000 == 1 [pid = 2045] [id = {efe7bf67-9ee8-4260-aaa1-1faf570a5a07}]
[task 2019-12-17T18:11:10.480Z] 18:11:10 INFO - GECKO(1115) | [Child 2045: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 1 (0x7f4962e84f20) [pid = 2045] [serial = 1] [outer = (nil)]
[task 2019-12-17T18:11:10.483Z] 18:11:10 INFO - GECKO(1115) | [Child 2045, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/workspace/build/src/layout/base/nsPresContext.cpp, line 848
[task 2019-12-17T18:11:10.484Z] 18:11:10 INFO - GECKO(1115) | [Child 2045: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (0x7f4962a6e400) [pid = 2045] [serial = 2] [outer = 0x7f4962e84f20]
[task 2019-12-17T18:11:13.178Z] 18:11:13 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 25 (0x7fee12558800) [pid = 1115] [serial = 776] [outer = (nil)] [url = about:blank]
[task 2019-12-17T18:11:13.178Z] 18:11:13 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 24 (0x7fee1254b800) [pid = 1115] [serial = 777] [outer = (nil)] [url = about:blank]
[task 2019-12-17T18:11:13.178Z] 18:11:13 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 23 (0x7fee1ba8d800) [pid = 1115] [serial = 772] [outer = (nil)] [url = about:devtools-toolbox]
[task 2019-12-17T18:11:13.178Z] 18:11:13 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 22 (0x7fee1b39ec00) [pid = 1115] [serial = 774] [outer = (nil)] [url = about:blank]
[task 2019-12-17T18:11:13.178Z] 18:11:13 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 21 (0x7fee1283dc00) [pid = 1115] [serial = 768] [outer = (nil)] [url = about:blank]
[task 2019-12-17T18:11:13.178Z] 18:11:13 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 20 (0x7fee1283f400) [pid = 1115] [serial = 766] [outer = (nil)] [url = about:devtools-toolbox]
[task 2019-12-17T18:11:14.048Z] 18:11:14 INFO - GECKO(1115) | [Child 1237: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f85a3684800 == 0 [pid = 1237] [id = {54f6bfe9-68d5-4c2a-825a-684e3851c052}] [url = about:blank]
[task 2019-12-17T18:11:14.728Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][MessageChannel] Error: (msgtype=0xB7000A,name=PWindowGlobal::Msg_RawMessage) Channel error: cannot send/recv
[task 2019-12-17T18:11:14.729Z] 18:11:14 INFO - GECKO(1115) | console.warn: "IGNORED REDUX ACTION:" ({type:"AUTOCOMPLETE_CLEAR"})
[task 2019-12-17T18:11:14.736Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][MessageChannel] Error: (msgtype=0x1E0059,name=PBrowser::Msg_UpdateEffects) Channel error: cannot send/recv
[task 2019-12-17T18:11:14.737Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][MessageChannel] Error: (msgtype=0x1E0053,name=PBrowser::Msg_FlushTabState) Channel error: cannot send/recv
[task 2019-12-17T18:11:14.737Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][MessageChannel] Error: (msgtype=0x1E0097,name=PBrowser::Msg_Destroy) Channel error: cannot send/recv
[task 2019-12-17T18:11:14.740Z] 18:11:14 INFO - GECKO(1115) | [Parent 1115, Main Thread] WARNING: '!inner', file /builds/worker/workspace/build/src/dom/ipc/JSWindowActorService.cpp, line 181
[task 2019-12-17T18:11:14.743Z] 18:11:14 INFO - GECKO(1115) | [Parent 1115, Main Thread] WARNING: '!contentChild', file /builds/worker/workspace/build/src/dom/base/ContentBlockingLog.cpp, line 133
[task 2019-12-17T18:11:14.752Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv
[task 2019-12-17T18:11:14.753Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv
[task 2019-12-17T18:11:14.753Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv
[task 2019-12-17T18:11:14.754Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv
[task 2019-12-17T18:11:14.754Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv
[task 2019-12-17T18:11:14.754Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv
[task 2019-12-17T18:11:14.754Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv
[task 2019-12-17T18:11:14.754Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv
[task 2019-12-17T18:11:14.755Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv
[task 2019-12-17T18:11:14.755Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv
[task 2019-12-17T18:11:14.755Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][RunMessage] Error: Channel error: cannot send/recv
[task 2019-12-17T18:11:14.759Z] 18:11:14 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 19 (0x7fee128f0200) [pid = 1115] [serial = 775] [outer = (nil)] [url = about:devtools-toolbox]
[task 2019-12-17T18:11:14.759Z] 18:11:14 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7fee12570800 == 7 [pid = 1115] [id = {6b4a0002-3291-491e-ae5c-997814c4a6e3}] [url = chrome://devtools/content/webconsole/index.html]
[task 2019-12-17T18:11:14.759Z] 18:11:14 INFO - GECKO(1115) | [Parent 1115: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 18 (0x7fee13705100) [pid = 1115] [serial = 779] [outer = (nil)] [url = chrome://devtools/content/webconsole/index.html]
[task 2019-12-17T18:11:14.840Z] 18:11:14 INFO - GECKO(1115) | [Parent 1115, Main Thread] WARNING: we only accept nsIURI interface type, patch welcome: file /builds/worker/workspace/build/src/dom/ipc/PropertyBagUtils.cpp, line 112
[task 2019-12-17T18:11:14.842Z] 18:11:14 INFO - GECKO(1115) | [Child 2045, Main Thread] WARNING: 'self->mIsBeingDestroyed', file /builds/worker/workspace/build/src/docshell/base/nsDocShell.cpp, line 12781
[task 2019-12-17T18:11:14.878Z] 18:11:14 INFO - GECKO(1115) | ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2019-12-17T18:11:14.879Z] 18:11:14 INFO - GECKO(1115) | [Child 2045: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f4962fcf000 == 0 [pid = 2045] [id = {efe7bf67-9ee8-4260-aaa1-1faf570a5a07}] [url = about:blank]
[task 2019-12-17T18:11:14.915Z] 18:11:14 INFO - GECKO(1115) | [Parent 1115, Cache2 I/O] WARNING: 'NS_FAILED(aResult)', file /builds/worker/workspace/build/src/netwerk/cache2/CacheFile.cpp, line 651
[task 2019-12-17T18:11:14.974Z] 18:11:14 INFO - GECKO(1115) | MEMORY STAT | vsize 3555MB | residentFast 607MB | heapAllocated 221MB
Comment 1•6 years ago
|
||
Could this be a regression from Bug1596830?
https://hg.mozilla.org/mozilla-central/rev/e55179e9926b
Comment 2•6 years ago
|
||
No, I don't think that's related. It only added some assertions to the GC.
Assignee | ||
Comment 3•6 years ago
|
||
This might be some kind of issue with the JS debugger not dealing with remote window proxies. I'm not sure what might have changed recently that would set that off.
Comment 4•6 years ago
|
||
We call ToWindowProxyIfWindow
on a Window
object (IsWindow
returns true). Then we unwrap that (to handle CCWs) and check for dead wrappers. After that we expect the object to be a WindowProxy
but it isn't...
This happens I think because we call unsafeDereference()
on a Debugger.Object
wrapper for a global/window?
![]() |
||
Comment 5•6 years ago
|
||
After that we expect the object to be a WindowProxy but it isn't...
Hmm. I think at this point the object could be a remote windowproxy instead of a normal WindowProxy there.
I've tried to reproduce this today on the revision in question (930ad6def3c7) and haven't managed to yet.
I'm going to see whether I can get it in Pernosco, perhaps.
![]() |
||
Comment 6•6 years ago
|
||
OK, with some help from Kyle I got this in Pernosco. https://pernos.co/debug/1Stv_5P3ZP-Z8mQz4iYkDg/index.html#f{m[B3Yv,Eg0/_,t[AjQ,CYE_,f{e[B3Yv,EgnW_,s{afxmNrgAA,bASE,oHaExqg,uHY04Kg___ for a debugging session with some notes attached.
And yes, we are trying to unsafeDereference()
a Debugger.Object
for different-compartment Window
, which is not the active window in its browsing context, and the active window is in another process. So when we to ToWindowProxyIfWindow
on it we get a RemoteOuterWindowProxy
and that fails the IsWindowProxy
assert.
I guess we should do the following:
- Audit all callsites of
ToWindowProxyIfWindow
to make sure they're OK with getting aRemoteOuterWindowProxy
. - Audit the downstream
wrap
code in particular to make sure it's ok with getting aRemoteOuterWindowProxy
. - Write a testcase. I'm not sure whether there's a non-debugger way to get here; it's not common for Gecko code to be storing a
Window
to start with, much less to then try to wrap it into a different compartment. Web IDL APIs that are supposed to return aWindowProxy
return the browsing context, not annsGlobalWindowInner
, so can't reach this state.
Assignee | ||
Updated•6 years ago
|
![]() |
||
Comment 7•6 years ago
|
||
I just checked the uses of ToWindowProxyIfWindow
in dom/ and they are fine.
Comment hidden (Intermittent Failures Robot) |
Updated•5 years ago
|
Updated•5 years ago
|
Comment hidden (Intermittent Failures Robot) |
Comment 10•5 years ago
|
||
(In reply to Boris Zbarsky [:bzbarsky, bz on IRC] from comment #6)
- Audit all callsites of
ToWindowProxyIfWindow
to make sure they're OK with getting aRemoteOuterWindowProxy
.- Audit the downstream
wrap
code in particular to make sure it's ok with getting aRemoteOuterWindowProxy
.
Andrew, can you please audit the WindowProxy functions bz suggested in comment 6 (or recommend someone else)?
kmag suspects this is debugger bug, possibly related to transplanted windows wrapped in debugger objects.
Nika suggests this bug block Fission Nightly (M6).
![]() |
||
Comment 11•5 years ago
|
||
kmag suspects this is debugger bug, possibly related to transplanted windows wrapped in debugger objects.
There's not need to "suspect" that. You can just explicitly see it in the Pernosco trace linked in comment 6. Or could when it still existed...
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 13•5 years ago
|
||
Sure, I can add this onto my list of things to do.
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment hidden (Intermittent Failures Robot) |
Comment 17•5 years ago
|
||
This is almost permafailing on mochitest with fission devtools jobs: https://treeherder.mozilla.org/#/jobs?repo=mozilla-central&searchStr=linux%2C18.04%2Cx64%2Cdebug%2Cmochitests%2Cwith%2Cfission%2Cenabled%2Ctest-linux1804-64%2Fdebug-mochitest-devtools-chrome-fis-e10s-2%2Cm-fis%28dt2%29&fromchange=e84a0546e6e2e1f7a7b5912c86e3e3cab311555c&tochange=ca97340e64722330f45043b3fa8a819ad7c59835&selectedJob=288783858
Recent failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=288904361&repo=mozilla-central
Andrew, could you take a look over it? Thank you.
Assignee | ||
Comment 18•5 years ago
|
||
Sure, I'll look. You could try disabling devtools/client/webconsole/test/browser/browser_webconsole_warning_group_multiples.js under Fission in the meanwhile. The failures look like they are happening with that test.
Assignee | ||
Comment 19•5 years ago
|
||
Looks like it might actually be happening during devtools/client/webconsole/test/browser/browser_webconsole_block_mixedcontent_securityerrors.js? I'm not sure. I haven't been able to reproduce it locally yet.
Comment 20•5 years ago
|
||
(In reply to Andrew McCreight [:mccr8] from comment #19)
Looks like it might actually be happening during devtools/client/webconsole/test/browser/browser_webconsole_block_mixedcontent_securityerrors.js? I'm not sure. I haven't been able to reproduce it locally yet.
Looked in ~20 failure logs, might be more, and assertion occurs in browser_webconsole_block_mixedcontent_securityerrors.js
Comment 21•5 years ago
|
||
Updated•5 years ago
|
Comment 22•5 years ago
|
||
Comment 23•5 years ago
|
||
bugherder |
Comment 24•5 years ago
|
||
browser_webconsole_block_mixedcontent_securityerrors.js was only disabled on fission here so re-opening.
Comment hidden (Intermittent Failures Robot) |
Assignee | ||
Comment 26•5 years ago
|
||
I'm trying to understand what is going wrong here. Boris's comment 6 about how we should audit call sites for ToWindowProxyIfWindow sounds reasonable to me, but I don't understand how it helps us with this particular crash.
Maybe what is happening here is that we have an outer window O with an inner window I. This means that O is the window proxy of I. Then we navigate O to some other origin that causes it to be moved out of process. This makes us do a brain transplant on O, so that O is now a remote outer window, which means that the window proxy field of I is now a remote window. That seems like it doesn't make much sense. I think that normally this doesn't matter because nobody has a direct reference to an inner window, but apparently these debugger objects do.
Would we have nuked the realm of I on a navigation that didn't make us change processes? That would make js::AllowNewWrapper() return false. It looks like we do call FreeInnerObjects() on the old inner in SetNewDocument(), which would nuke the old inner eventually (if it isn't being bfcached).
Maybe js::AllowNewWrapper() should detect the case where an inner window has a remote window proxy as its "outer". That seems bad.
![]() |
||
Comment 27•5 years ago
|
||
which means that the window proxy field of I is now a remote window.
Yep.
That seems like it doesn't make much sense.
I think our options are to either make sure this does not happen or to make consumers deal with it. The latter is where auditing ToWindowProxyIfWindow
callsites comes in.
Would we have nuked the realm of I on a navigation that didn't make us change processes?
Generally no. Also, if I
is bfcached, then when we go back we're going to re-brain-transplant and end up with a real WindowProxy there again, right? Modulo whatever the fission/bfcache interaction is.
which would nuke the old inner eventually
Where?
Assignee | ||
Comment 28•5 years ago
|
||
(In reply to Boris Zbarsky [:bzbarsky, bz on IRC] from comment #27)
I think our options are to either make sure this does not happen or to make consumers deal with it. The latter is where auditing
ToWindowProxyIfWindow
callsites comes in.
Ah, I see. It just feels kind of bogus to call a function that purports to return the window proxy for an inner, but in effect returns a window proxy for some other inner. I wouldn't be surprised if there's some weird behavior in the debugger here in the non-Fission case, but maybe it just doesn't cause issues.
Would we have nuked the realm of I on a navigation that didn't make us change processes?
Generally no. Also, if
I
is bfcached, then when we go back we're going to re-brain-transplant and end up with a real WindowProxy there again, right? Modulo whatever the fission/bfcache interaction is.
It does seem like we would, in the window destroyed event, at least in the non-BFcached case. But that doesn't happen synchronously, in any event, so we can't rely on it.
which would nuke the old inner eventually
Where?
WindowDestroyedEvent::Run().
![]() |
||
Comment 29•5 years ago
|
||
WindowDestroyedEvent::Run().
Ah, yes. That still wouldn't nuke content->content references into the old window, which could still call functions from it, etc, right?
Assignee | ||
Comment 30•5 years ago
|
||
(In reply to Boris Zbarsky [:bzbarsky, bz on IRC] from comment #29)
Ah, yes. That still wouldn't nuke content->content references into the old window, which could still call functions from it, etc, right?
For this specific case, I don't believe that matters. Nuking the realm sets the nukedIncomingWrappers flag, which means js::AllowNewWrapper() will fail and getNonWrapperObjectForCurrentCompartment() will return a dead proxy object instead of a window proxy. I guess that doesn't help the other users of ToWindowProxyIfWindow() if they don't call AllowNewWrapper.
Assignee | ||
Comment 31•5 years ago
|
||
I spent probably too much time trying to get my head around how inner(outer(i)) != i
but I guess that's okay enough.
I think the fix for this immediate issue is just to weaken the assert to accept either a window proxy or a remote window proxy.
I've started auditing the other call sites, but I haven't finished yet. For a lot of them, it seems like something weird and wrongish will happen if they get a remote window proxy, but not really any more wrong than if it had happened in the non-Fission case and they just got an outer for some other inner.
Comment 32•5 years ago
|
||
FWIW, there seems to be another failure mode for this
hitting this assert
Assignee | ||
Comment 33•5 years ago
|
||
That's on file as bug 1588284. I don't know if it is related to this or not, but it is certainly suspicious that it is in the same test.
Assignee | ||
Comment 34•5 years ago
|
||
I started thinking about how to test this. Bug 1223372 added a chrome test test_windowProxyDeadWrapper.html, but it doesn't seem to actually hit the code that the patch in that bug added any more. The original STR from that bug, running devtools/shared/webconsole/test/chrome/, does seem to hit it at least.
Assignee | ||
Comment 35•5 years ago
|
||
I figured out a way to trip the assertion, though it is pretty horrible. I modified file_postMessage_parent.html, which is the page loaded in the iframe in the Fission transplant test browser_windowProxy_transplant.js. I used SpecialPowers to listen for "inner-window-nuked" (which should happen after we've navigated the iframe out of process), and then run SpecialPowers.Cu.getGlobalForObject({});
. That snippet of code, which is taken from test_windowProxyDeadWrapper.html, grabs the global of an object in the current window, then wraps it, which ends up in the scenario Boris outlined in comment 6 and triggers the assert.
Assignee | ||
Comment 36•5 years ago
|
||
I audited callers of ToWindowProxyIfWindow(). Boris said the DOM uses are okay.
- JavaScriptShared::findObjectById(): If you have a CPOW target object with an Xray waiver, it calls ToWindowProxyIfWindow() on it, then wraps it. I guess that's okay.
- ScriptedCallerGlobal: This is a testing function used for JIT tests. It looks like it won't crash if we return a remote window proxy, but the result surely can't qualify as a "scripted caller global". The tests involved don't seem to do any kind of navigation, Fission or otherwise, so maybe that's okay. (The result is probably not really valid in either case.)
- ObjectGlobal and FirstGlobalInCompartment: These look like the same basic situation as ScriptedCallerGlobal.
- ValueToWindowProxyIfWindow: used to forward to the proxy in Proxy::get and Proxy::set. I'd guess that this will throw an error if the receiver is an inner that has an "outer" that is remote, but that's probably what we want to have happen.
- NewGlobal in the shell: This gets passed a freshly created global, so no issues there.
- dom_get_global in the shell: Similar issues as ScriptedCallerGlobal above.
- Other caller in Compartment::getNonWrapperObjectForCurrentCompartment(): won't immediately fail at least. called by wrap and rewrap.
- GlobalObject::maybeResolveGlobalThis(): This will try to call js::DefineDataProperty on the remote window proxy. Which I think/hope should fail and throw some kind of exception? Probably similar behavior to the non-Fission case?
- js::SetPrototype(): This is trying to prevent "cyclical prototype chains" by checking if the outer is on the proto chain(?). I'm not sure if it ever can be, but feels reasonable in either case.
- js::GetThisValue(): "this" can end up as a remote window proxy, but I guess that's okay.
- nsXPCComponents_Utils::GetGlobalForObject: Just passed back to JS, so okay I guess.
- Callers of Compartment::getNonWrapperObjectForCurrentCompartment(): wrap, rewrap. rewrap looked okay.
- Callers of wrap(): Seemed okay. One of the callers is JS_WrapObject(), which has over 1000 callers, mostly in bindings code. I spot checked a few of them, and they looked okay.
Assignee | ||
Comment 37•5 years ago
|
||
If we try to wrap an inner whose outer has navigated out of process,
then we'll get a remote window proxy, not a window proxy.
This was happening during the JS devtools test
browser_webconsole_block_mixedcontent_securityerrors.js
Updated•5 years ago
|
![]() |
||
Comment 38•5 years ago
|
||
I'm not sure if it ever can be [re proto chains]
It can't be in a cyclic one, because window and windowproxy and remotewindowproxy all have immutable prototypes.
As long as the rest of the wrap()
algorithm is ok with having a remotewindowproxy here, sounds like things are fine.
Comment 39•5 years ago
|
||
Comment 40•5 years ago
|
||
bugherder |
Assignee | ||
Comment 41•5 years ago
|
||
This is a Fission-only issue (and just an assert) so no need to backport.
Description
•