Closed Bug 1618386 Opened 5 years ago Closed 4 years ago

Intermittent browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js | Test timed out - | Found a tab after previous test timed out: http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html -

Categories

(Core :: DOM: Core & HTML, defect, P2)

Unspecified
Linux
defect

Tracking

()

RESOLVED FIXED
85 Branch
Fission Milestone M6c
Tracking Status
firefox79 --- wontfix
firefox85 --- fixed

People

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

References

(Depends on 1 open bug, Regression)

Details

(Keywords: intermittent-failure, regression, Whiteboard: [retriggered][stockwell unknown])

Attachments

(3 files)

Filed by: btara [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=290660221&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/LJnxQerURmuir5EQnjc7dg/runs/0/artifacts/public/logs/live_backing.log


[task 2020-02-26T22:44:13.244Z] 22:44:13     INFO - TEST-START | browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js
[task 2020-02-26T22:44:13.300Z] 22:44:13     INFO - GECKO(1779) | [Child 2277: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (0x7fc71b093520) [pid = 2277] [serial = 1] [outer = (nil)] [url = https://example.com/]
[task 2020-02-26T22:44:13.301Z] 22:44:13     INFO - GECKO(1779) | [Child 2277: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 1 (0x7fc7009bd000) [pid = 2277] [serial = 3] [outer = (nil)] [url = https://example.com/]
[task 2020-02-26T22:44:13.302Z] 22:44:13     INFO - GECKO(1779) | [Child 2277: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (0x7fc7000be800) [pid = 2277] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2020-02-26T22:44:13.323Z] 22:44:13     INFO - GECKO(1779) | [Child 2277, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/workspace/build/src/xpcom/base/nsCycleCollector.cpp, line 3362
[task 2020-02-26T22:44:13.380Z] 22:44:13     INFO - GECKO(1779) | nsStringStats
[task 2020-02-26T22:44:13.380Z] 22:44:13     INFO - GECKO(1779) |  => mAllocCount:           8797
[task 2020-02-26T22:44:13.380Z] 22:44:13     INFO - GECKO(1779) |  => mReallocCount:            0
[task 2020-02-26T22:44:13.381Z] 22:44:13     INFO - GECKO(1779) |  => mFreeCount:            8797
[task 2020-02-26T22:44:13.381Z] 22:44:13     INFO - GECKO(1779) |  => mShareCount:           7622
[task 2020-02-26T22:44:13.382Z] 22:44:13     INFO - GECKO(1779) |  => mAdoptCount:            532
[task 2020-02-26T22:44:13.382Z] 22:44:13     INFO - GECKO(1779) |  => mAdoptFreeCount:        536
[task 2020-02-26T22:44:13.383Z] 22:44:13     INFO - GECKO(1779) |  => Process ID: 2277, Thread ID: 140493153281920
[task 2020-02-26T22:44:13.398Z] 22:44:13     INFO - GECKO(1779) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpajDLRk.mozrunner/runtests_leaks_tab_pid2304.log
[task 2020-02-26T22:44:13.496Z] 22:44:13     INFO - GECKO(1779) | [Child 2304, Main Thread] WARNING: No CID found when attempting to map contract ID: file /builds/worker/workspace/build/src/xpcom/components/nsComponentManager.cpp, line 721
[task 2020-02-26T22:44:13.632Z] 22:44:13     INFO - GECKO(1779) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2020-02-26T22:44:13.794Z] 22:44:13     INFO - GECKO(1779) | [Child 2304, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/workspace/build/src/dom/ipc/ContentChild.cpp, line 1825
[task 2020-02-26T22:44:13.814Z] 22:44:13     INFO - GECKO(1779) | [Child 2304: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f0badb1f800 == 1 [pid = 2304] [id = {d8a7eb4c-aecd-4071-886a-d4c7f05a2a4d}]
[task 2020-02-26T22:44:13.851Z] 22:44:13     INFO - GECKO(1779) | [Child 2304: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 1 (0x7f0bc8d93520) [pid = 2304] [serial = 1] [outer = (nil)]
[task 2020-02-26T22:44:13.851Z] 22:44:13     INFO - GECKO(1779) | [Child 2304, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/workspace/build/src/layout/base/nsPresContext.cpp, line 848
[task 2020-02-26T22:44:13.851Z] 22:44:13     INFO - GECKO(1779) | [Child 2304: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (0x7f0badd9bc00) [pid = 2304] [serial = 2] [outer = 0x7f0bc8d93520]
[task 2020-02-26T22:44:13.968Z] 22:44:13     INFO - GECKO(1779) | [Child 2304, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannel, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannel.cpp, line 64
[task 2020-02-26T22:44:13.992Z] 22:44:13     INFO - GECKO(1779) | [Child 2304: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 3 (0x7f0bb3c61400) [pid = 2304] [serial = 3] [outer = 0x7f0bc8d93520]
[task 2020-02-26T22:44:14.255Z] 22:44:14     INFO - GECKO(1779) | [Child 2304: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f0bae699000 == 2 [pid = 2304] [id = {bb1c1888-a12b-42da-92e6-59e3138fec2a}]
[task 2020-02-26T22:44:14.255Z] 22:44:14     INFO - GECKO(1779) | [Child 2304: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 4 (0x7f0bc8d936f0) [pid = 2304] [serial = 4] [outer = (nil)]
[task 2020-02-26T22:44:14.255Z] 22:44:14     INFO - GECKO(1779) | [Child 2304: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 5 (0x7f0bb3bb9800) [pid = 2304] [serial = 5] [outer = 0x7f0bc8d936f0]
[task 2020-02-26T22:44:14.316Z] 22:44:14     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f63b0acb800 == 6 [pid = 1779] [id = {a1002cba-3bdf-41a3-9a33-b95664534f4e}]
[task 2020-02-26T22:44:14.318Z] 22:44:14     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 11 (0x7f63acedb430) [pid = 1779] [serial = 12] [outer = (nil)]
[task 2020-02-26T22:44:14.319Z] 22:44:14     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 12 (0x7f63abe89400) [pid = 1779] [serial = 13] [outer = 0x7f63acedb430]
[task 2020-02-26T22:44:14.341Z] 22:44:14     INFO - GECKO(1779) | [Parent 1779, Main Thread] WARNING: Attempting to get a displayport from a content with no primary frame!: file /builds/worker/workspace/build/src/layout/base/nsLayoutUtils.cpp, line 791
[task 2020-02-26T22:44:14.499Z] 22:44:14     INFO - GECKO(1779) | [Child 2166: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f1e673eb800 == 0 [pid = 2166] [id = {ffc5964f-4f77-41cf-87dc-d8090873aeeb}] [url = about:blank]
[task 2020-02-26T22:44:14.635Z] 22:44:14     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f63b4a75000 == 7 [pid = 1779] [id = {934f80c2-7891-4c09-93e6-0650fd1c04d6}]
...
...
[task 2020-02-26T22:44:20.954Z] 22:44:20     INFO - GECKO(1779) | [Child 2419: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 3 (0x7f4130619c00) [pid = 2419] [serial = 3] [outer = 0x7f414b693520]
[task 2020-02-26T22:44:21.035Z] 22:44:21     INFO - GECKO(1779) | JavaScript error: , line 0: TypeError: Fullscreen request denied
[task 2020-02-26T22:44:21.373Z] 22:44:21     INFO - GECKO(1779) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpajDLRk.mozrunner/runtests_leaks_tab_pid2446.log
[task 2020-02-26T22:44:21.451Z] 22:44:21     INFO - GECKO(1779) | [Child 2446, Main Thread] WARNING: No CID found when attempting to map contract ID: file /builds/worker/workspace/build/src/xpcom/components/nsComponentManager.cpp, line 721
[task 2020-02-26T22:44:21.533Z] 22:44:21     INFO - GECKO(1779) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2020-02-26T22:44:21.634Z] 22:44:21     INFO - GECKO(1779) | [Child 2446, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/workspace/build/src/dom/ipc/ContentChild.cpp, line 1825
[task 2020-02-26T22:44:22.092Z] 22:44:22     INFO - GECKO(1779) | [Child 1991: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (0x7f678dc5e400) [pid = 1991] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2020-02-26T22:44:22.630Z] 22:44:22     INFO - GECKO(1779) | [Child 2166: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (0x7f1e6d139400) [pid = 2166] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2020-02-26T22:44:22.693Z] 22:44:22     INFO - GECKO(1779) | [Child 2364: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f85c31cd800 == 1 [pid = 2364] [id = {0db45169-25df-462b-bac2-d7de4e34e79e}] [url = ]
[task 2020-02-26T22:44:22.694Z] 22:44:22     INFO - GECKO(1779) | [Child 2364: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (0x7f85c28b6800) [pid = 2364] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2020-02-26T22:44:24.992Z] 22:44:24     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f63b0acb800 == 7 [pid = 1779] [id = {a1002cba-3bdf-41a3-9a33-b95664534f4e}] [url = chrome://browser/content/browser.xhtml]
[task 2020-02-26T22:44:25.414Z] 22:44:25     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 17 (0x7f63acedb600) [pid = 1779] [serial = 14] [outer = (nil)] [url = about:blank]
[task 2020-02-26T22:44:26.857Z] 22:44:26     INFO - GECKO(1779) | [Child 2391: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f4a598a4800 == 1 [pid = 2391] [id = {18c25b7a-e295-4f21-8183-0d4c3535f2fe}] [url = about:blank]
[task 2020-02-26T22:44:29.084Z] 22:44:29     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 16 (0x7f63acedb430) [pid = 1779] [serial = 12] [outer = (nil)] [url = chrome://browser/content/browser.xhtml]
[task 2020-02-26T22:44:29.422Z] 22:44:29     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 15 (0x7f63abe89400) [pid = 1779] [serial = 13] [outer = (nil)] [url = about:blank]
[task 2020-02-26T22:44:29.438Z] 22:44:29     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 14 (0x7f63adb83800) [pid = 1779] [serial = 15] [outer = (nil)] [url = about:blank]
[task 2020-02-26T22:44:30.942Z] 22:44:30     INFO - GECKO(1779) | [Child 2391: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 5 (0x7f4a58fadc00) [pid = 2391] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2020-02-26T22:44:30.943Z] 22:44:30     INFO - GECKO(1779) | [Child 2391: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 4 (0x7f4a5ed5b800) [pid = 2391] [serial = 5] [outer = (nil)] [url = about:blank]
[task 2020-02-26T22:44:30.964Z] 22:44:30     INFO - GECKO(1779) | [Child 2391: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 3 (0x7f4a73f936f0) [pid = 2391] [serial = 4] [outer = (nil)] [url = about:blank]
[task 2020-02-26T22:44:33.114Z] 22:44:33     INFO - GECKO(1779) | [Child 2419: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (0x7f413653f400) [pid = 2419] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2020-02-26T22:44:35.006Z] 22:44:35     INFO - GECKO(1779) | [Child 2391: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (0x7f4a5ed5fc00) [pid = 2391] [serial = 6] [outer = (nil)] [url = about:blank]
[task 2020-02-26T22:45:43.259Z] 22:45:43     INFO - TEST-INFO | started process screentopng
[task 2020-02-26T22:45:43.471Z] 22:45:43     INFO - TEST-INFO | screentopng: exit 0
[task 2020-02-26T22:45:43.472Z] 22:45:43     INFO - Buffered messages logged at 22:44:13
[task 2020-02-26T22:45:43.473Z] 22:45:43     INFO - Entering test bound setup
[task 2020-02-26T22:45:43.473Z] 22:45:43     INFO - Leaving test bound setup
[task 2020-02-26T22:45:43.474Z] 22:45:43     INFO - Entering test bound test_parentWindowFocus
[task 2020-02-26T22:45:43.475Z] 22:45:43     INFO - Buffered messages logged at 22:44:14
[task 2020-02-26T22:45:43.476Z] 22:45:43     INFO - Calling window.open()
[task 2020-02-26T22:45:43.476Z] 22:45:43     INFO - Buffered messages logged at 22:44:15
[task 2020-02-26T22:45:43.477Z] 22:45:43     INFO - re-focusing main window
[task 2020-02-26T22:45:43.478Z] 22:45:43     INFO - must wait for focus
[task 2020-02-26T22:45:43.484Z] 22:45:43     INFO - Entering full-screen
[task 2020-02-26T22:45:43.485Z] 22:45:43     INFO - Calling window.focus()
[task 2020-02-26T22:45:43.486Z] 22:45:43     INFO - Buffered messages logged at 22:44:16
[task 2020-02-26T22:45:43.487Z] 22:45:43     INFO - Console message: [JavaScript Warning: "Exited fullscreen because a window was focused." {file: "http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html" line: 0}]
[task 2020-02-26T22:45:43.488Z] 22:45:43     INFO - TEST-PASS | browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js | Should leave full-screen - 
[task 2020-02-26T22:45:43.488Z] 22:45:43     INFO - Leaving test bound test_parentWindowFocus
[task 2020-02-26T22:45:43.489Z] 22:45:43     INFO - Entering test bound test_iframeWindowFocus
[task 2020-02-26T22:45:43.490Z] 22:45:43     INFO - Buffered messages logged at 22:44:17
[task 2020-02-26T22:45:43.491Z] 22:45:43     INFO - Calling window.open()
[task 2020-02-26T22:45:43.492Z] 22:45:43     INFO - Buffered messages logged at 22:44:20
[task 2020-02-26T22:45:43.493Z] 22:45:43     INFO - re-focusing main window
[task 2020-02-26T22:45:43.494Z] 22:45:43     INFO - must wait for focus
[task 2020-02-26T22:45:43.498Z] 22:45:43     INFO - Entering full-screen
[task 2020-02-26T22:45:43.500Z] 22:45:43     INFO - Buffered messages logged at 22:44:21
[task 2020-02-26T22:45:43.501Z] 22:45:43     INFO - Console message: [JavaScript Warning: "Request for fullscreen was denied because requesting element is not in the currently focused tab." {file: "http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html" line: 0}]
[task 2020-02-26T22:45:43.502Z] 22:45:43     INFO - Console message: [JavaScript Error: "TypeError: Fullscreen request denied"]
[task 2020-02-26T22:45:43.503Z] 22:45:43     INFO - Buffered messages finished
[task 2020-02-26T22:45:43.504Z] 22:45:43     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js | Test timed out - 
[task 2020-02-26T22:45:43.505Z] 22:45:43     INFO - GECKO(1779) | MEMORY STAT | vsize 3329MB | residentFast 360MB | heapAllocated 108MB
[task 2020-02-26T22:45:43.506Z] 22:45:43     INFO - TEST-OK | browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js | took 90036ms
[task 2020-02-26T22:45:43.507Z] 22:45:43     INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-02-26T22:45:43.508Z] 22:45:43     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js | Found a tab after previous test timed out: http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html - 
[task 2020-02-26T22:45:43.509Z] 22:45:43     INFO - GECKO(1779) | [Child 2364, Main Thread] WARNING: NS_ENSURE_TRUE(aWindow) failed: file /builds/worker/workspace/build/src/dom/base/nsFocusManager.cpp, line 551
[task 2020-02-26T22:45:43.510Z] 22:45:43     INFO - GECKO(1779) | [Child 2446: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7fab3c61c800 == 1 [pid = 2446] [id = {8c2b68ac-b210-4167-904c-2f29e70740f3}]
[task 2020-02-26T22:45:43.512Z] 22:45:43     INFO - GECKO(1779) | [Child 2446: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 1 (0x7fab57893520) [pid = 2446] [serial = 1] [outer = (nil)]
[task 2020-02-26T22:45:43.513Z] 22:45:43     INFO - GECKO(1779) | [Child 2446, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/workspace/build/src/layout/base/nsPresContext.cpp, line 848
[task 2020-02-26T22:45:43.514Z] 22:45:43     INFO - GECKO(1779) | [Child 2446: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (0x7fab3c8b1000) [pid = 2446] [serial = 2] [outer = 0x7fab57893520]
[task 2020-02-26T22:45:43.516Z] 22:45:43     INFO - checking window state
[task 2020-02-26T22:45:43.517Z] 22:45:43     INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-02-26T22:45:43.518Z] 22:45:43     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js | Found a browser window after previous test timed out - 
[task 2020-02-26T22:45:43.584Z] 22:45:43     INFO - GECKO(1779) | [Parent 1779, Main Thread] WARNING: NS_ENSURE_TRUE(GetWrapper()) failed: file /builds/worker/workspace/build/src/dom/ipc/JSWindowActor.cpp, line 66
...
[task 2020-02-26T22:45:43.660Z] 22:45:43     INFO - TEST-START | browser/base/content/test/fullscreen/browser_fullscreen_window_open.js
[task 2020-02-26T22:45:43.717Z] 22:45:43     INFO - GECKO(1779) | [Parent 1779, Main Thread] WARNING: NS_ENSURE_TRUE(GetWrapper()) failed: file /builds/worker/workspace/build/src/dom/ipc/JSWindowActor.cpp, line 66
[task 2020-02-26T22:45:43.761Z] 22:45:43     INFO - GECKO(1779) | ###!!! [Parent][RunMessage] Error: Channel closing: too late to send/recv, messages will be lost
[task 2020-02-26T22:45:43.779Z] 22:45:43     INFO - GECKO(1779) | [Child 2391: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f4a590ee800 == 0 [pid = 2391] [id = {0db45169-25df-462b-bac2-d7de4e34e79e}] [url = https://example.org/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html]
[task 2020-02-26T22:45:43.915Z] 22:45:43     INFO - GECKO(1779) | [Child 2364: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f85c251f800 == 0 [pid = 2364] [id = {5f13689d-3158-4855-a140-7a6d921188ba}] [url = http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html]
[task 2020-02-26T22:45:43.936Z] 22:45:43     INFO - GECKO(1779) | [Child 2419: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f41307d1800 == 0 [pid = 2419] [id = {18c25b7a-e295-4f21-8183-0d4c3535f2fe}] [url = https://example.com/]
[task 2020-02-26T22:45:43.957Z] 22:45:43     INFO - GECKO(1779) | [Child 2391: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 1 (0x7f4a73f93520) [pid = 2391] [serial = 1] [outer = (nil)] [url = https://example.org/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html]
[task 2020-02-26T22:45:43.960Z] 22:45:43     INFO - GECKO(1779) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpajDLRk.mozrunner/runtests_leaks_tab_pid2470.log
[task 2020-02-26T22:45:43.969Z] 22:45:43     INFO - GECKO(1779) | [Child 2391: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (0x7f4a5eea2c00) [pid = 2391] [serial = 3] [outer = (nil)] [url = https://example.org/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html]
[task 2020-02-26T22:45:44.030Z] 22:45:44     INFO - GECKO(1779) | [Child 2391, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/workspace/build/src/xpcom/base/nsCycleCollector.cpp, line 3362
[task 2020-02-26T22:45:44.030Z] 22:45:44     INFO - GECKO(1779) | [Child 2364: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 1 (0x7f85dd893520) [pid = 2364] [serial = 1] [outer = (nil)] [url = http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html]
[task 2020-02-26T22:45:44.030Z] 22:45:44     INFO - GECKO(1779) | [Child 2364: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (0x7f85c2807c00) [pid = 2364] [serial = 3] [outer = (nil)] [url = http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html]
[task 2020-02-26T22:45:44.070Z] 22:45:44     INFO - GECKO(1779) | [Child 2364, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/workspace/build/src/xpcom/base/nsCycleCollector.cpp, line 3362
[task 2020-02-26T22:45:44.070Z] 22:45:44     INFO - GECKO(1779) | [Child 2419: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 1 (0x7f414b693520) [pid = 2419] [serial = 1] [outer = (nil)] [url = https://example.com/]
[task 2020-02-26T22:45:44.070Z] 22:45:44     INFO - GECKO(1779) | [Child 2419: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (0x7f4130619c00) [pid = 2419] [serial = 3] [outer = (nil)] [url = https://example.com/]
[task 2020-02-26T22:45:44.127Z] 22:45:44     INFO - GECKO(1779) | nsStringStats
[task 2020-02-26T22:45:44.127Z] 22:45:44     INFO - GECKO(1779) |  => mAllocCount:           8139
[task 2020-02-26T22:45:44.127Z] 22:45:44     INFO - GECKO(1779) |  => mReallocCount:            0
[task 2020-02-26T22:45:44.127Z] 22:45:44     INFO - GECKO(1779) |  => mFreeCount:            8139
[task 2020-02-26T22:45:44.127Z] 22:45:44     INFO - GECKO(1779) |  => mShareCount:           6232
[task 2020-02-26T22:45:44.127Z] 22:45:44     INFO - GECKO(1779) | nsStringStats
[task 2020-02-26T22:45:44.127Z] 22:45:44     INFO - GECKO(1779) |  => mAllocCount:           8218
[task 2020-02-26T22:45:44.127Z] 22:45:44     INFO - GECKO(1779) |  => mReallocCount:            0
[task 2020-02-26T22:45:44.127Z] 22:45:44     INFO - GECKO(1779) |  => mFreeCount:            8218
[task 2020-02-26T22:45:44.127Z] 22:45:44     INFO - GECKO(1779) |  => mShareCount:           5848
[task 2020-02-26T22:45:44.128Z] 22:45:44     INFO - GECKO(1779) |  => mAdoptCount:            379
[task 2020-02-26T22:45:44.128Z] 22:45:44     INFO - GECKO(1779) |  => mAdoptFreeCount:        387
[task 2020-02-26T22:45:44.128Z] 22:45:44     INFO - GECKO(1779) |  => Process ID: 2391, Thread ID: 139957773850496
[task 2020-02-26T22:45:44.128Z] 22:45:44     INFO - GECKO(1779) |  => mAdoptCount:            486
[task 2020-02-26T22:45:44.128Z] 22:45:44     INFO - GECKO(1779) |  => mAdoptFreeCount:        494
[task 2020-02-26T22:45:44.129Z] 22:45:44     INFO - GECKO(1779) |  => Process ID: 2364, Thread ID: 140212947834752
[task 2020-02-26T22:45:44.144Z] 22:45:44     INFO - GECKO(1779) | [Child 2419, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/workspace/build/src/xpcom/base/nsCycleCollector.cpp, line 3362
[task 2020-02-26T22:45:44.160Z] 22:45:44     INFO - GECKO(1779) | [Child 2470, Main Thread] WARNING: No CID found when attempting to map contract ID: file /builds/worker/workspace/build/src/xpcom/components/nsComponentManager.cpp, line 721
[task 2020-02-26T22:45:44.201Z] 22:45:44     INFO - GECKO(1779) | nsStringStats
[task 2020-02-26T22:45:44.201Z] 22:45:44     INFO - GECKO(1779) |  => mAllocCount:           9004
[task 2020-02-26T22:45:44.201Z] 22:45:44     INFO - GECKO(1779) |  => mReallocCount:            0
[task 2020-02-26T22:45:44.201Z] 22:45:44     INFO - GECKO(1779) |  => mFreeCount:            9004
[task 2020-02-26T22:45:44.201Z] 22:45:44     INFO - GECKO(1779) |  => mShareCount:           7663
[task 2020-02-26T22:45:44.201Z] 22:45:44     INFO - GECKO(1779) |  => mAdoptCount:            730
[task 2020-02-26T22:45:44.201Z] 22:45:44     INFO - GECKO(1779) |  => mAdoptFreeCount:        734
[task 2020-02-26T22:45:44.201Z] 22:45:44     INFO - GECKO(1779) |  => Process ID: 2419, Thread ID: 139918438926208
[task 2020-02-26T22:45:44.226Z] 22:45:44     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak --DOCSHELL 0x7f63b161e000 == 6 [pid = 1779] [id = {c1a80244-6994-461b-9937-0eaef2b21e0a}] [url = about:blank]
[task 2020-02-26T22:45:44.327Z] 22:45:44     INFO - GECKO(1779) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2020-02-26T22:45:44.485Z] 22:45:44     INFO - GECKO(1779) | [Child 2470, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/workspace/build/src/dom/ipc/ContentChild.cpp, line 1825
[task 2020-02-26T22:45:44.485Z] 22:45:44     INFO - GECKO(1779) | [Child 2470: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f075f1cd800 == 1 [pid = 2470] [id = {4c06e348-caad-4f41-bed8-285dbabea875}]
[task 2020-02-26T22:45:44.521Z] 22:45:44     INFO - GECKO(1779) | [Child 2470: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 1 (0x7f077a093520) [pid = 2470] [serial = 1] [outer = (nil)]
[task 2020-02-26T22:45:44.522Z] 22:45:44     INFO - GECKO(1779) | [Child 2470, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/workspace/build/src/layout/base/nsPresContext.cpp, line 848
[task 2020-02-26T22:45:44.522Z] 22:45:44     INFO - GECKO(1779) | [Child 2470: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (0x7f075f0bf800) [pid = 2470] [serial = 2] [outer = 0x7f077a093520]
[task 2020-02-26T22:45:44.920Z] 22:45:44     INFO - GECKO(1779) | [Child 2470, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannel, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannel.cpp, line 64
[task 2020-02-26T22:45:44.945Z] 22:45:44     INFO - GECKO(1779) | [Child 2470: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 3 (0x7f075f9bbc00) [pid = 2470] [serial = 3] [outer = 0x7f077a093520]
[task 2020-02-26T22:45:45.102Z] 22:45:45     INFO - GECKO(1779) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpajDLRk.mozrunner/runtests_leaks_tab_pid2493.log
[task 2020-02-26T22:45:45.211Z] 22:45:45     INFO - GECKO(1779) | [Child 2493, Main Thread] WARNING: No CID found when attempting to map contract ID: file /builds/worker/workspace/build/src/xpcom/components/nsComponentManager.cpp, line 721
[task 2020-02-26T22:45:45.313Z] 22:45:45     INFO - GECKO(1779) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2020-02-26T22:45:45.615Z] 22:45:45     INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-02-26T22:45:45.615Z] 22:45:45     INFO - Buffered messages logged at 22:45:43
[task 2020-02-26T22:45:45.615Z] 22:45:45     INFO - Entering test bound setup
[task 2020-02-26T22:45:45.615Z] 22:45:45     INFO - Leaving test bound setup
[task 2020-02-26T22:45:45.615Z] 22:45:45     INFO - Entering test bound test_parentWindowOpen
[task 2020-02-26T22:45:45.615Z] 22:45:45     INFO - Buffered messages logged at 22:45:45
[task 2020-02-26T22:45:45.615Z] 22:45:45     INFO - Entering full-screen
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - Calling window.open()
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - Buffered messages finished
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js | Uncaught exception received from previously timed out test - at chrome://mochitests/content/browser/browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js:28 - ReferenceError: info is not defined
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - Stack trace:
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - testWindowFocus/<@chrome://mochitests/content/browser/browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js:28:5
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - testExpectFullScreenExit@chrome://mochitests/content/browser/browser/base/content/test/fullscreen/head.js:57:13
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - testWindowFocus@chrome://mochitests/content/browser/browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js:27:9
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - async*test_iframeWindowFocus@chrome://mochitests/content/browser/browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js:51:10
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - Tester_execTest/<@chrome://mochikit/content/browser-test.js:1062:34
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - async*Tester_execTest@chrome://mochikit/content/browser-test.js:1097:11
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - nextTest/<@chrome://mochikit/content/browser-test.js:925:14
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:914:23
[task 2020-02-26T22:45:45.616Z] 22:45:45     INFO - GECKO(1779) | JavaScript error: chrome://mochitests/content/browser/browser/base/content/test/fullscreen/head.js, line 17: TypeError: can't access property "ownerGlobal", browser is null
[task 2020-02-26T22:45:45.617Z] 22:45:45     INFO - Console message: [JavaScript Error: "TypeError: can't access property "ownerGlobal", browser is null" {file: "chrome://mochitests/content/browser/browser/base/content/test/fullscreen/head.js" line: 17}]
[task 2020-02-26T22:45:45.617Z] 22:45:45     INFO - GECKO(1779) | [Child 2470: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f075f9cf000 == 2 [pid = 2470] [id = {3de47cdb-51ac-42a4-8cce-617bbd66e447}]
[task 2020-02-26T22:45:45.617Z] 22:45:45     INFO - GECKO(1779) | [Child 2470: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 4 (0x7f077a0936f0) [pid = 2470] [serial = 4] [outer = (nil)]
[task 2020-02-26T22:45:45.617Z] 22:45:45     INFO - GECKO(1779) | [Child 2470: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 5 (0x7f0764f68c00) [pid = 2470] [serial = 5] [outer = 0x7f077a0936f0]
[task 2020-02-26T22:45:45.672Z] 22:45:45     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f63aa30f000 == 7 [pid = 1779] [id = {feb78b65-50c0-4236-b780-e19036cffe29}]
[task 2020-02-26T22:45:45.672Z] 22:45:45     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 15 (0x7f63acedcd90) [pid = 1779] [serial = 20] [outer = (nil)]
[task 2020-02-26T22:45:45.672Z] 22:45:45     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 16 (0x7f63abe88000) [pid = 1779] [serial = 21] [outer = 0x7f63acedcd90]
[task 2020-02-26T22:45:45.692Z] 22:45:45     INFO - GECKO(1779) | [Parent 1779, Main Thread] WARNING: Attempting to get a displayport from a content with no primary frame!: file /builds/worker/workspace/build/src/layout/base/nsLayoutUtils.cpp, line 791
[task 2020-02-26T22:45:45.728Z] 22:45:45     INFO - GECKO(1779) | [Child 2493, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/workspace/build/src/dom/ipc/ContentChild.cpp, line 1825
[task 2020-02-26T22:45:45.972Z] 22:45:45     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7f63ad927000 == 8 [pid = 1779] [id = {de6501bb-07bd-43da-8b06-9fcbd0ca82d9}]
[task 2020-02-26T22:45:45.972Z] 22:45:45     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 17 (0x7f63acedd4d0) [pid = 1779] [serial = 22] [outer = (nil)]
[task 2020-02-26T22:45:46.088Z] 22:45:46     INFO - GECKO(1779) | [Parent 1779: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 18 (0x7f63adb81800) [pid = 1779] [serial = 23] [outer = 0x7f63acedd4d0]
[task 2020-02-26T22:45:46.204Z] 22:45:46     INFO - GECKO(1779) | [Child 2470: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 6 (0x7f0764f6d800) [pid = 2470] [serial = 6] [outer = 0x7f077a0936f0]
[task 2020-02-26T22:45:46.305Z] 22:45:46     INFO - GECKO(1779) | [Parent 1779, Main Thread] WARNING: Ignoring duplicate observer.: file /builds/worker/workspace/build/src/modules/libpref/Preferences.cpp, line 2692
[task 2020-02-26T22:45:46.547Z] 22:45:46     INFO - GECKO(1779) | [Child 2470, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannel, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannel.cpp, line 64
[task 2020-02-26T22:45:46.548Z] 22:45:46     INFO - GECKO(1779) | [Child 2470, Main Thread] WARNING: Trying to request nsIHttpChannel from DocumentChannel, this is likely broken: file /builds/worker/workspace/build/src/netwerk/ipc/DocumentChannel.cpp, line 64
[task 2020-02-26T22:45:46.549Z] 22:45:46     INFO - GECKO(1779) | [Child 2470, Main Thread] WARNING: NS_ENSURE_TRUE(request) failed: file /builds/worker/workspace/build/src/netwerk/base/nsLoadGroup.cpp, line 584
[task 2020-02-26T22:45:46.593Z] 22:45:46     INFO - GECKO(1779) | ### XPCOM_MEM_BLOAT_LOG defined -- logging bloat/leaks to /tmp/tmpajDLRk.mozrunner/runtests_leaks_tab_pid2525.log
[task 2020-02-26T22:45:46.729Z] 22:45:46     INFO - GECKO(1779) | [Child 2525, Main Thread] WARNING: No CID found when attempting to map contract ID: file /builds/worker/workspace/build/src/xpcom/components/nsComponentManager.cpp, line 721
[task 2020-02-26T22:45:46.838Z] 22:45:46     INFO - TEST-PASS | browser/base/content/test/fullscreen/browser_fullscreen_window_open.js | Should leave full-screen - 
[task 2020-02-26T22:45:46.939Z] 22:45:46     INFO - GECKO(1779) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2020-02-26T22:45:47.168Z] 22:45:47     INFO - GECKO(1779) | [Child 2525, Main Thread] WARNING: could not set real-time limit at process startup: file /builds/worker/workspace/build/src/dom/ipc/ContentChild.cpp, line 1825
[task 2020-02-26T22:45:47.176Z] 22:45:47     INFO - GECKO(1779) | [Child 2525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOCSHELL 0x7fb082b22800 == 1 [pid = 2525] [id = {3de47cdb-51ac-42a4-8cce-617bbd66e447}]
[task 2020-02-26T22:45:47.197Z] 22:45:47     INFO - GECKO(1779) | [Child 2525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 1 (0x7fb09de93520) [pid = 2525] [serial = 1] [outer = (nil)]
[task 2020-02-26T22:45:47.198Z] 22:45:47     INFO - GECKO(1779) | [Child 2525, Main Thread] WARNING: NS_ENSURE_TRUE(mPresShell) failed: file /builds/worker/workspace/build/src/layout/base/nsPresContext.cpp, line 848
[task 2020-02-26T22:45:47.199Z] 22:45:47     INFO - GECKO(1779) | [Child 2525: Main Thread]: I/DocShellAndDOMWindowLeak ++DOMWINDOW == 2 (0x7fb083768000) [pid = 2525] [serial = 2] [outer = 0x7fb09de93520]
[task 2020-02-26T22:45:47.234Z] 22:45:47     INFO - GECKO(1779) | [Parent 1779, Compositor] WARNING: Created child without a matching parent?: file /builds/worker/workspace/build/src/gfx/layers/ipc/ContentCompositorBridgeParent.cpp, line 110
[task 2020-02-26T22:45:47.235Z] 22:45:47     INFO - GECKO(1779) | [Child 2525, Main Thread] WARNING: failed to allocate layer transaction: file /builds/worker/workspace/build/src/dom/ipc/BrowserChild.cpp, line 2803
[task 2020-02-26T22:45:47.235Z] 22:45:47     INFO - GECKO(1779) | [Child 2525, Main Thread] WARNING: Fallback to BasicLayerManager: file /builds/worker/workspace/build/src/dom/ipc/BrowserChild.cpp, line 2755
[task 2020-02-26T22:45:47.337Z] 22:45:47     INFO - Not taking screenshot here: see the one that was previously logged
[task 2020-02-26T22:45:47.338Z] 22:45:47     INFO - TEST-UNEXPECTED-FAIL | browser/base/content/test/fullscreen/browser_fullscreen_window_open.js | A promise chain failed to handle a rejection: can't access property "ownerGlobal", browser is null - stack: waitForFullScreenState/<@chrome://mochitests/content/browser/browser/base/content/test/fullscreen/head.js:17:5
[task 2020-02-26T22:45:47.338Z] 22:45:47     INFO - waitForFullScreenState@chrome://mochitests/content/browser/browser/base/content/test/fullscreen/head.js:5:10
[task 2020-02-26T22:45:47.338Z] 22:45:47     INFO - testExpectFullScreenExit@chrome://mochitests/content/browser/browser/base/content/test/fullscreen/head.js:54:41
[task 2020-02-26T22:45:47.339Z] 22:45:47     INFO - testWindowFocus@chrome://mochitests/content/browser/browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js:27:9
[task 2020-02-26T22:45:47.339Z] 22:45:47     INFO - async*test_iframeWindowFocus@chrome://mochitests/content/browser/browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js:51:10
[task 2020-02-26T22:45:47.339Z] 22:45:47     INFO - Tester_execTest/<@chrome://mochikit/content/browser-test.js:1062:34
[task 2020-02-26T22:45:47.339Z] 22:45:47     INFO - async*Tester_execTest@chrome://mochikit/content/browser-test.js:1097:11
[task 2020-02-26T22:45:47.340Z] 22:45:47     INFO - nextTest/<@chrome://mochikit/content/browser-test.js:925:14
[task 2020-02-26T22:45:47.340Z] 22:45:47     INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:914:23
[task 2020-02-26T22:45:47.341Z] 22:45:47     INFO - Rejection date: Wed Feb 26 2020 22:45:45 GMT+0000 (Coordinated Universal Time) - false == true - JS frame :: resource://testing-common/PromiseTestUtils.jsm :: assertNoUncaughtRejections :: line 265
[task 2020-02-26T22:45:47.341Z] 22:45:47     INFO - Stack trace:
[task 2020-02-26T22:45:47.341Z] 22:45:47     INFO - resource://testing-common/PromiseTestUtils.jsm:assertNoUncaughtRejections:265
[task 2020-02-26T22:45:47.341Z] 22:45:47     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest/<:1093
[task 2020-02-26T22:45:47.342Z] 22:45:47     INFO - chrome://mochikit/content/browser-test.js:Tester_execTest:1097
[task 2020-02-26T22:45:47.342Z] 22:45:47     INFO - chrome://mochikit/content/browser-test.js:nextTest/<:925
[task 2020-02-26T22:45:47.342Z] 22:45:47     INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<:914
[task 2020-02-26T22:45:47.342Z] 22:45:47     INFO - Leaving test bound test_parentWindowOpen
...
Has Regression Range: --- → yes
Keywords: regression

I believe this is an alternative manifestation of bug 1611355.

Flags: needinfo?(hsivonen)
See Also: → 1611355

This intermittent test failure doesn't need to block Fission MVP unless it becomes more frequent.

Fission Milestone: --- → Future
Whiteboard: [retriggered] → [retriggered][stockwell needswork:owner]

Henri are you working on this?

Flags: needinfo?(hsivonen)

I am in the sense that I expect this to be fixed by the fix for bug 1614268, and I'm working on the (transitive) blockers of that bug. (It might make sense to disable this test for now.)

Flags: needinfo?(hsivonen)
Assignee: nobody → apavel
Status: NEW → ASSIGNED
Keywords: leave-open
Whiteboard: [retriggered][stockwell needswork:owner] → [retriggered][stockwell disabled]

Andrew, as an fyi, this got disabled on linux fission.

Flags: needinfo?(continuation)
Pushed by apavel@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b6887c96688f temporary disable browser_fullscreen_window_focus.js on linux fission r=hsivonen

Since this test was failing often enough to get disabled, I'll track it for Fission's M4.1 mochitest milestone.

Fission Milestone: Future → M4.1
Flags: needinfo?(continuation)

(In reply to Arthur Iakab [arthur_iakab] from comment #13)

https://hg.mozilla.org/mozilla-central/rev/b6887c96688f

Andreea, I think there is a typo in your browser.ini code change:

skip-if = debug && (os == 'mac' && ( fission && os == "linux" && os_version == "18.04")) # Bug 1568570, 1618386

You probably mean (os == 'mac' || ... instead of (os == 'mac' && .... os can't be both 'mac' and 'linux'. :)

Flags: needinfo?(apavel)

Thanks for noticing. Please see the attached patch.

Flags: needinfo?(apavel)
Summary: Intermittent Fission browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js | Test timed out - | Found a tab after previous test timed out: http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html - → Intermittent browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js | Test timed out - | Found a tab after previous test timed out: http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html -

I can... but it seems that this test has already been disabled for macOS debug? Does it make sense to just disable it for release as well?

Looks like someone has opened another issue bug 1638499 for this, so cleaning my ni? here.

Depends on: 1638499
Flags: needinfo?(xidorn+moz)

This bug failed 44 times in the last 7 days. Occurs on macosx1014-64-shippable, linux1804-64-shippable and linux1804-64 on opt.

Recent log:
https://treeherder.mozilla.org/logviewer.html#?job_id=302889790&repo=autoland

Occurrences dropped when bug 1638499 got disabled.

Tentatively reassigning this bug to Alphan because Hsin-Yi says he will work on this Fission test bug after he finishes Fission YouTube bug 1620341.

Assignee: apavel → alchen
Component: General → DOM: Core & HTML
Priority: P5 → P2
Product: Firefox → Core

I tried to enable this test on all platforms.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=e0e13c86129e8439357dd2ebfd636aac85e9de93&selectedTaskRun=Ib7zQlVJTZCYTdOfgkhy2A.0

We can see the failures on OSX debug/opt and Linux debug/opt with fission enable.
They all failed due to the same reason as bug 1568570.
We disabled the test on OSX debug when introducing this test.

I think the problem is caused by the timing of popup.
https://searchfox.org/mozilla-central/rev/0e09b9191c02097034e46b193930f91c45b7885d/browser/base/content/test/fullscreen/browser_fullscreen_window_focus.js#20

(In reply to Alphan Chen [:alchen] from comment #40)

We can see the failures on OSX debug/opt and Linux debug/opt with fission enable.
They all failed due to the same reason as bug 1568570.
We disabled the test on OSX debug when introducing this test.

This test is currently disabled for all OSX debug/opt and Fission Linux debug. To make the sheriffs lives easier, perhaps we should also disable this test on Fission Linux opt until we have a fix? The recent intermittent failures in comment 38 and comment 39 are all Linux opt.

https://searchfox.org/mozilla-central/rev/0e09b9191c02097034e46b193930f91c45b7885d/browser/base/content/test/fullscreen/browser.ini#18-19

[browser_fullscreen_window_focus.js]
skip-if = os == 'mac' || (debug && fission && os == "linux" && os_version == "18.04") # Bug 1568570, 1618386
Depends on: 1568570
OS: Unspecified → Linux

Summarize what I found recently.

First, I enabled the test on all platforms and simplify the test.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=1cada551a63844c61c52ca41f00a60caaa54469c
We can get the same result as I said before.
Found failures on OSX, Fission Linux.
The logs are all the same. ("Request for fullscreen was denied because requesting element is not in the currently focused tab.")
The message is from Document::FullscreenElementReadyCheck().
https://searchfox.org/mozilla-central/rev/2c1092dc68c63f7bad6da6a03c5883a5ab5ff2ca/dom/base/Document.cpp#13650

Second, I add some logs for classifying the reason for the failures.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=85b971b1bc9a4838f601a99c36b5a39523a52845
When the failures happen, IsInActiveTab() is false.
However, there are not caused by the same reason.
(Mac) docshell said it is not active from "docshell->GetIsActive()"
https://searchfox.org/mozilla-central/rev/2c1092dc68c63f7bad6da6a03c5883a5ab5ff2ca/dom/base/Document.cpp#13516
(Linux with fission) There is no ActiveBrowsingContext from "nsFocusManager->GetActiveBrowsingContext()".
https://searchfox.org/mozilla-central/rev/2c1092dc68c63f7bad6da6a03c5883a5ab5ff2ca/dom/base/Document.cpp#13554

(In reply to Alphan Chen [:alchen] from comment #43)

(Mac) docshell said it is not active from "docshell->GetIsActive()"
https://searchfox.org/mozilla-central/rev/2c1092dc68c63f7bad6da6a03c5883a5ab5ff2ca/dom/base/Document.cpp#13516

For this failure, I found we can eliminate the failure on OSX by setting preference( "full-screen-api.transition-duration.enter" and ".leave") before the tests. (OS X 10.14 debug 99 times and OS X 10.14 Shippable opt 83 times.)
However, it won't fix the failures on fission Linux.

(Detail explaining)
I double-check the preferences we have in other fullscreen tests.
The problem won't happen again when adding the preference of "full-screen-api.transition-duration".
https://treeherder.mozilla.org/#/jobs?repo=try&revision=ad2291722c28e282a9e6dc50cf8e6aab48c64c9a
OS X 10.14 debug 43 times and OS X 10.14 Shippable opt 35 times.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=bfe701bbc2c78d17a163ab60fb0dd4760818388f
OS X 10.14 debug 32 times and OS X 10.14 Shippable opt 37 times.

The preference only affects on FullscreenTransitionDuration
.IsSuppressed(). So I trigger another try to make sure the result.
https://treeherder.mozilla.org/#/jobs?repo=try&revision=f3d20c73dd7366894affd12652acf0f3601400cf
OS X 10.14 debug 24 times and OS X 10.14 Shippable opt 11 times.

I think we can discuss this more in bug 1568570.

(In reply to Alphan Chen [:alchen] from comment #43)

(Linux with fission) There is no ActiveBrowsingContext from "nsFocusManager->GetActiveBrowsingContext()".
https://searchfox.org/mozilla-central/rev/2c1092dc68c63f7bad6da6a03c5883a5ab5ff2ca/dom/base/Document.cpp#13554

In this case, the docshell said it is active.
However, the activeBrowsingContext from nsFocusManager is null.

Hi Henri, does this make sense to you?
In the test, we will wait until "docShell.isActive && content.document.hasFocus()" is true before requesting fullscreen.
Is there any check we should add before requesting fullscreen to prevent this problem?

Flags: needinfo?(hsivonen)

(In reply to Alphan Chen [:alchen] from comment #45)

(In reply to Alphan Chen [:alchen] from comment #43)

(Linux with fission) There is no ActiveBrowsingContext from "nsFocusManager->GetActiveBrowsingContext()".
https://searchfox.org/mozilla-central/rev/2c1092dc68c63f7bad6da6a03c5883a5ab5ff2ca/dom/base/Document.cpp#13554

In this case, the docshell said it is active.
However, the activeBrowsingContext from nsFocusManager is null.

Hi Henri, does this make sense to you?

I assume it takes a while for IPC to catch up with the window having become the frontmost one? Can that apply given the test?

In the test, we will wait until "docShell.isActive && content.document.hasFocus()" is true before requesting fullscreen.
Is there any check we should add before requesting fullscreen to prevent this problem?

I suggest adding && Services.focus.activeBrowsingContext to the condition and seeing if that helps.

Flags: needinfo?(hsivonen)

Hsin-Yi recommends moving this bug to Fission's M6 Nightly milestone. The test failure appears to be caused by a focus message race condition that will need more investigation.

Fission Milestone: M4.1 → M6b

Here is a description of the mochitest.

  1. Open a tab. (browser/browser/base/content/test/fullscreen/open_and_focus_helper.html)
  2. Calling window.open(). It sends a message("open") to the tab which is opened in the step 1. The tab will open a new window called popup.
  3. Re-focusing main window by "await waitForFocus()".
  4. Entering full-screen by "await changeFullscreen()".
  5. Calling window.focus(). It will send a message("focus") to the tab which is opened in the first step. The tab will call "popup.focus()".
  6. Then we expect to exit from the fullscreen.

The failure happens in step 4.
The Service.focus.activeBrowsingContext is null or wrong when the failure happens.

(In reply to Henri Sivonen (:hsivonen) from comment #46)

I assume it takes a while for IPC to catch up with the window having become the frontmost one? Can that apply given the test?
I suggest adding && Services.focus.activeBrowsingContext to the condition and seeing if that helps.

I still see failures after adding "&& Service.focus.activeBrowsingContext" to the condition.
After investigation, I found there are unexpected behaviors that overwrite the expected "activeBrowsingContext".
I will summarize the finding in the next comment.

Here is the normal behaviour.

Here is a description of the mochitest.

  1. Open a tab. (browser/browser/base/content/test/fullscreen/open_and_focus_helper.html)

0:05.47 GECKO(30550) nsFocusManager.cpp::Focus() call ActivateRemoteFrameIfNeeded()
0:05.47 GECKO(30550) nsFocusManager.cpp::ActivateRemoteFrameIfNeeded() Remote browser activated 0x7f652afd1800
0:05.47 GECKO(30550) @BrowserParent::Activate(), SetTopLevelWebFocus(this) and call SendActivate()
0:05.51 GECKO(30550) @BrowserChild.cpp::RecvActivate()call mWebBrowser->FocusActivate()
0:05.51 GECKO(30550) nsWebBrowser::FocusActivate() 0x7f09bdce2a00 about:blank
0:05.51 GECKO(30550) call fm->WindowRaised(window)
0:05.51 GECKO(30550) @nsFocusManager(0x7f09bead93a0)::WindowRaised Window 0x7f09bdcb37a0 Raised [Currently: (nil) (nil)]
0:05.52 GECKO(30550) @nsFocusManager::WindowRaised before return Window 0x7f09bdcb37a0 Raised [Currently: (nil) 0x7f09bdcb37a0] activeBC(0x7f09bdce5c00) parent process?0

In the end of step1, the activeBC of nsFocusManager(0x7f09bead93a0) is 0x7f09bdce5c00. (the new opened tab)

  1. Calling window.open(). It sends a message("open") to the tab which is opened in the step 1. The tab will open a new window called popup.

0:06.09 GECKO(30550) nsFocusManager.cpp::Focus() call ActivateRemoteFrameIfNeeded()
0:06.09 GECKO(30550) nsFocusManager.cpp::ActivateRemoteFrameIfNeeded() Remote browser activated 0x7f652afd8800
0:06.09 GECKO(30550) @BrowserParent.cpp::Activate(), SetTopLevelWebFocus(this) and call SendActivate()
0:06.10 GECKO(30550) @BrowserChild.cpp::RecvActivate()call mWebBrowser->FocusActivate()
0:06.10 GECKO(30550) nsWebBrowser::FocusActivate() 0x7f09bdce3aa0 about:blank
0:06.10 GECKO(30550) call fm->WindowRaised(window)
0:06.10 GECKO(30550) nsFocusManager(0x7f09bead93a0)::WindowRaised Window 0x7f09bdcb3cb0 Raised [Currently: (nil) (nil)] parent process?0
0:06.10 GECKO(30550) nsFocusManager::WindowRaised before return Window 0x7f09bdcb3cb0 Raised [Currently: (nil) 0x7f09bdcb3cb0] activeBC(0x7f09bab7b000) parent process?0

In the end of step2, the activeBC of nsFocusManager(0x7f09bead93a0) is 0x7f09bdce5c00. (popup)

  1. Re-focusing main window by "await waitForFocus()".

0:06.12 GECKO(30550) @BrowserParent.cpp::Activate(), SetTopLevelWebFocus(this) and call SendActivate()
0:06.13 GECKO(30550) @BrowserChild.cpp Enter BrowserChild::RecvActivate()call mWebBrowser->FocusActivate()
0:06.13 GECKO(30550) nsWebBrowser::FocusActivate() 0x7f09bdce2a00 http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html
0:06.13 GECKO(30550) call fm->WindowRaised(window)
0:06.13 GECKO(30550) nsWebBrowser::FocusActivate() 0x7f09bdce2a00 http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html
0:06.13 GECKO(30550) call fm->WindowRaised(window)
0:06.13 GECKO(30550) nsFocusManager(0x7f09bead93a0)::WindowRaised Window 0x7f09bdcb37a0 Raised [Currently: (nil) (nil)] parent process?0
0:06.13 GECKO(30550) nsFocusManager::WindowRaised Raised Window: http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html
0:06.13 GECKO(30550) nsFocusManager::WindowRaised before return Window 0x7f09bdcb37a0 Raised [Currently: (nil) 0x7f09bdcb37a0] activeBC(0x7f09bdce5c00) parent process?0

In the end of step3, the activeBC of nsFocusManager(0x7f09bead93a0) is 0x7f09bdce5c00. (http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html)

  1. Entering full-screen by "await changeFullscreen()".

We request fullscreen from the tab that we opened in the first step.
At that time, Service.focus.activeBrowsingContext is what we expect("0x7f09bdce5c00").

One of the unexpected behaviour.

Here is a description of the mochitest.

  1. Open a tab. (browser/browser/base/content/test/fullscreen/open_and_focus_helper.html)

0:10.78 GECKO(27754) nsFocusManager.cpp 2490::Focus() call ActivateRemoteFrameIfNeeded()
0:10.78 GECKO(27754) nsFocusManager.cpp 2328::ActivateRemoteFrameIfNeeded() Remote browser activated 0x7f047bf03000
0:10.78 GECKO(27754) @BrowserParent.cpp Enter BrowserParent::Activate(), SetTopLevelWebFocus(this) and call SendActivate()
0:10.82 GECKO(27754) @BrowserChild.cpp Enter BrowserChild::RecvActivate()call mWebBrowser->FocusActivate()
0:10.82 GECKO(27754) nsWebBrowser::FocusActivate() 0x7f4366a1c7a0 about:blank
0:10.82 GECKO(27754) call fm->WindowRaised(window)
0:10.82 GECKO(27754) nsFocusManager(0x7f434f0d9310):663::WindowRaised Window 0x7f434e2b67a0 Raised [Currently: (nil) (nil)] parent process?0
0:10.82 GECKO(27754) nsFocusManager::WindowRaised Raised Window: about:blank
0:10.82 GECKO(27754) nsFocusManager::WindowRaised before return Window 0x7f434e2b67a0 Raised [Currently: (nil) 0x7f434e2b67a0] activeBC(0x7f434e2da800) parent process?0

In the end of step1, the activeBC of nsFocusManager(0x7f434f0d9310) is 0x7f434e2da800. (the new opened tab)

  1. Calling window.open(). It sends a message("open") to the tab which is opened in the step 1. The tab will open a new window called popup.

0:11.44 GECKO(27754) nsFocusManager.cpp 2490::Focus() call ActivateRemoteFrameIfNeeded()
0:11.44 GECKO(27754) nsFocusManager.cpp 2328::ActivateRemoteFrameIfNeeded() Remote browser activated 0x7f047ca47800
0:11.44 GECKO(27754) @BrowserParent.cpp Enter BrowserParent::Activate(), SetTopLevelWebFocus(this) and call SendActivate()

There is no BrowserChild::RecvActivate() call in the step 2!!!!!!
So we don't have chance to set activeBrowsingContext as the browsingContext of popup.

  1. Re-focusing main window by "await waitForFocus()".

0:11.45 GECKO(27754) nsFocusManager.cpp 2490::Focus() call ActivateRemoteFrameIfNeeded()
0:11.45 GECKO(27754) nsFocusManager.cpp 2328::ActivateRemoteFrameIfNeeded() Remote browser activated 0x7f047bf03000
0:11.45 GECKO(27754) @BrowserParent.cpp Enter BrowserParent::Activate(), SetTopLevelWebFocus(this) and call SendActivate()
0:11.45 GECKO(27754) @BrowserChild.cpp Enter BrowserChild::RecvActivate()call mWebBrowser->FocusActivate()
0:11.45 GECKO(27754) nsWebBrowser::FocusActivate() 0x7f4366a1c7a0 http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html
0:11.45 GECKO(27754) call fm->WindowRaised(window)
0:11.45 GECKO(27754) nsFocusManager(0x7f434f0d9310):663::WindowRaised Window 0x7f434e2b67a0 Raised [Currently: (nil) (nil)] parent process?0
0:11.45 GECKO(27754) nsFocusManager::WindowRaised Raised Window: http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html
0:11.45 GECKO(27754) nsFocusManager::WindowRaised before return Window 0x7f434e2b67a0 Raised [Currently: (nil) 0x7f434e2b67a0] activeBC(0x7f434e2da800) parent process?0

In the end of step3, the activeBC of nsFocusManager(0x7f434f0d9310) is 0x7f434e2da800. (http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html)

  1. Entering full-screen by "await changeFullscreen()".

In step 4, there is "BrowserChild::RecvActivate()" call.
It is weird that there is no "BrowserParent->SendActivate()" in step 3 or step 4.
But we do have "BrowserParent->SendActivate()" in the end of step 2.

[4-1]
In the call of BrowserChild::RecvActivate(), we call nsFocusManager::WindowRaised().
The nsFocusManager(0x7fd3d90d9310) is different from the previous(0x7f434f0d9310).
i. Call SetActiveBrowsingContextInContent() in nsFocusManager::WindowRaised()
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/base/nsFocusManager.cpp#712
ii. Call "contentChild->SendSetActiveBrowsingContext(aContext)" in SetActiveBrowsingContextInContent()
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/base/nsFocusManager.cpp#4642
iii. ContentParent::RecvSetActiveBrowsingContext().
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/ipc/ContentParent.cpp#6534
iv. ContentChild::RecvSetActiveBrowsingContext().
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/ipc/ContentChild.cpp#3797
v. In the end, we set mActiveBrowsingContextInContent of previous nsFocusManager(0x7f434f0d9310) and mActiveBrowsingContextInContentSetFromOtherProcess.
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/base/nsFocusManager.cpp#4683

In step v, we overwrite the mActiveBrowsingContextInContent of nsFocusManager(0x7f434f0d9310) to new BC(0x7f434b176800).

0:11.47 GECKO(27754) ContentChild.cpp 3789::RecvSetActiveBrowsingContext-call fm->SetActiveBrowsingContextFromOtherProcess(0x7f434b176800)
0:11.47 GECKO(27754) nsFocusManager(0x7f434f0d9310).cpp 4779 ::SetActiveBrowsingContextFromOtherProcess = aContext(0x7f434b176800), mActiveBrowsingContextInContentSetFromOtherProcess=true

[4-2]
After "BrowserChild::RecvActivate()" call, we get "BrowserChild::RecvDeactivate()".
It just reverse the previous "BrowserChild::RecvActivate()".
I. Call SetActiveBrowsingContextInContent(nullptr) in nsFocusManager::WindowLowered().
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/base/nsFocusManager.cpp#830
II. Call contentChild->SendUnsetActiveBrowsingContext(mActiveBrowsingContextInContent) in SetActiveBrowsingContextInContent()
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/base/nsFocusManager.cpp#4657
III. ContentParent::RecvUnsetActiveBrowsingContext()
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/ipc/ContentParent.cpp#6558
IV. ContentChild::RecvUnsetActiveBrowsingContext()
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/ipc/ContentChild.cpp#3824
V. nsFocusManager::UnsetActiveBrowsingContextFromOtherProcess
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/base/nsFocusManager.cpp#4691

In step V, we set the mActiveBrowsingContextInContent of previous nsFocusManager(0x7f434f0d9310) as nullptr.
0:11.48 GECKO(27754) nsFocusManager(0x7f434f0d9310).cpp::UnsetActiveBrowsingContextFromOtherProcess. Set mActiveBrowsingContextInContent=nullptr. due to mActiveBrowsingContextInContent= aContext(0x7f434b176800),

[4-3]
Then we use "Document::FullscreenElementReadyCheck" before request fullscreen.
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/base/Document.cpp#13644
In this case, the mActiveBrowsingContextInContent of nsFocusManager(0x7f434f0d9310) is null.
The bc that we expected is the same as what we have in the end of step 3.

0:11.56 GECKO(27754) Document.cpp IsInActiveTab() fm(0x7f434f0d9310) bc->Top()=0x7f434e2da800

As bug 1618386 comment 51, the mActiveBrowsingContextInContent we get from nsFocusManager is null.
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/base/Document.cpp#13549

There are other possibilities.
If we request fullscreen before [4-2 in comment 51], Document::IsInActiveTab return false due to ActiveBrowsingContextInContent is wrong.
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/base/Document.cpp#13552

I think it is also possible that we request fullscreen before [4-1 and 4-2 in comment 51].
In this case, "Document::FullscreenElementReadyCheck" return true.

Based on my experiments, I find the same symptom[2 in comment 51] when meeting the failure.

  1. Calling window.open(). It sends a message("open") to the tab which is opened in the step 1. The tab will open a new window called popup.

0:11.44 GECKO(27754) nsFocusManager.cpp 2490::Focus() call ActivateRemoteFrameIfNeeded()
0:11.44 GECKO(27754) nsFocusManager.cpp 2328::ActivateRemoteFrameIfNeeded() Remote browser activated 0x7f047ca47800
0:11.44 GECKO(27754) @BrowserParent.cpp Enter BrowserParent::Activate(), SetTopLevelWebFocus(this) and call SendActivate()

There is no BrowserChild::RecvActivate() call in the step 2!!!!!!
So we don't have chance to set activeBrowsingContext as the browsingContext of popup.

I trigger a try with a workaround for the problem I mentioned in comment 51.
From result, there is no failure until now.
https://treeherder.mozilla.org/#/jobs?repo=try&selectedTaskRun=QYKOlNxiSImSSepl258XEA.0&revision=1c27bbdd2e8e1cdf3ff44be97c0f35400f9fdb04

The workaround is just not do "contentChild->SendSetActiveBrowsingContext(aContext)" in SetActiveBrowsingContextInContent().
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/base/nsFocusManager.cpp#4642
Then we can prevent the mActiveBrowsingContextInContent overwriting of [4-1 in comment 51].
And the mActiveBrowsingContextInContent won't reset due to "mActiveBrowsingContextInContent != aContext" in [4-2 in comment 51]
https://searchfox.org/mozilla-central/rev/a87a1c3b543475276e6d57a7a80cb02f3e42b6ed/dom/base/nsFocusManager.cpp#4691

From my view, I think we can use a new added variable to record activeBC from other process and add some logic in GetFocusedBrowsingContext() and other related functions to fix this problem.

For the real fix, we should know why there are other "nsFocusManager::WindowRaised()" and "nsFocusManager::WindowLowered()" in step 4 before requesting fullscreen.

  1. Entering full-screen by "await changeFullscreen()".

Since the calls are from "BrowserChild::RecvActivate()" and ""BrowserChild::RecvDeactivate()", I think there is a possibility that these two calls are sent before the following. Due to the wrong order, we reset the activeBC.

  1. Re-focusing main window by "await waitForFocus()".
    0:11.45 GECKO(27754) nsFocusManager.cpp 2490::Focus() call ActivateRemoteFrameIfNeeded()
    0:11.45 GECKO(27754) nsFocusManager.cpp 2328::ActivateRemoteFrameIfNeeded() Remote browser activated 0x7f047bf03000
    0:11.45 GECKO(27754) @BrowserParent.cpp Enter BrowserParent::Activate(), SetTopLevelWebFocus(this) and call SendActivate()
    0:11.45 GECKO(27754) @BrowserChild.cpp Enter BrowserChild::RecvActivate()call mWebBrowser->FocusActivate()
    0:11.45 GECKO(27754) nsWebBrowser::FocusActivate() 0x7f4366a1c7a0 http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html
    0:11.45 GECKO(27754) call fm->WindowRaised(window)
    0:11.45 GECKO(27754) nsFocusManager(0x7f434f0d9310):663::WindowRaised Window 0x7f434e2b67a0 Raised [Currently: (nil) (nil)] parent process?0
    0:11.45 GECKO(27754) nsFocusManager::WindowRaised Raised Window: http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html
    0:11.45 GECKO(27754) nsFocusManager::WindowRaised before return Window 0x7f434e2b67a0 Raised [Currently: (nil) 0x7f434e2b67a0] activeBC(0x7f434e2da800) parent process?0

In the end of step3, the activeBC of nsFocusManager(0x7f434f0d9310) is 0x7f434e2da800. (http://example.com/browser/browser/base/content/test/fullscreen/open_and_focus_helper.html)

Do you have any idea about unexpected behaviors that overwrite the expected "activeBrowsingContext"?

Flags: needinfo?(hsivonen)

Do you have any idea about unexpected behaviors that overwrite the expected "activeBrowsingContext"?

Unfortunately, I don't have specific ideas of what's going on here. Sorry. Two thoughts:

  1. A pre-existing questionable behavior was fixed by the introduction of mActiveBrowsingContextInContentSetFromOtherProcess in nsFocusManager. Perhaps there are more issues in the same area.
  2. Do all the relevant IPC messages get sent through the same actor? (I'd be very surprised if postMessage went via a different actor than all the focus stuff, but it would be prudent to check.)
Flags: needinfo?(hsivonen)

(In reply to Henri Sivonen (:hsivonen) (not reading bugmail until 2020-08-03) from comment #56)

Do you have any idea about unexpected behaviors that overwrite the expected "activeBrowsingContext"?

Unfortunately, I don't have specific ideas of what's going on here. Sorry. Two thoughts:

  1. A pre-existing questionable behavior was fixed by the introduction of mActiveBrowsingContextInContentSetFromOtherProcess in nsFocusManager. Perhaps there are more issues in the same area.

Yes, I think the reason for this bug is similar to what :tnikkel found in bug 1616373.

See Also: → 1616373

Unassigning Alphan from this as this reveals deeper focus problem and he has other Fission task on his plate. Will need further investigation and plan discussion with Henri on focus area.

Assignee: alchen → nobody
Status: ASSIGNED → NEW

Henri, need your thoughts on fixing this.

Flags: needinfo?(hsivonen)

Henri says it's less likely for users to run into this, so moving to M6c.

Fission Milestone: M6b → M6c

Update:

There have been 20 failures within the last 7 days, all of them on Linux 18.04 x64 shippable opt.

Recent failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=315547154&repo=mozilla-central&lineNumber=2484

Whiteboard: [retriggered][stockwell disabled] → [retriggered][stockwell needswork:owner]

Assigning to Henri to debug this further.

Assignee: nobody → hsivonen
Status: NEW → ASSIGNED
Flags: needinfo?(hsivonen)

AFAICT, when this fails, a native window gets unfocused and another native window gets focused. In the unfocused native window, every content process gets a broadcast of deactivation. This in turn causes a broadcast back of unsetting the active browsing context. In the native window that gets focused, every content process gets a broadcast of activation. This in turn causes a broadcast back of setting the active browsing context.

In the process where things go wrong, not only do these broadcasts arrive too late relative to what that process itself is doing, but they also arrive out of order relative to each other.

The most obvious thing is that the design can deal with focus moving from one browsing context to another at a time, but it's really bad at dealing with these native window-level events causing a flurry of activity at one. Even worse when it's not about switching from another app to Firefox or from Firefox to another app but when switching between two native windows inside Firefox.

I don't yet have a good idea of how to fix this. One idea would be to make the parent process assign some kind of sequence number to changes triggered from there, but passing those sequence numbers through the whole chain of calls and IPC is a pretty big change.

Another idea worth pursuing is detecting the case of a native window switch between two Firefox windows and suppressing the active browsing context unsetting broadcasts in that case. (Not sure how to do that concretely.) That doesn't fix the issue of the native window focus broadcast also arriving late.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=e10acf789bb865abf8caeb98dcdc11458e0576a1

At this point, I'm not actually sure if there are remaining failures or if in some cases the test just runs extremely slowly in a debug build or in a debug build in rr.

I do see a failure in PrivateBrowsingUtils.jsm where the JS expect a non-null docshell but the docshell can be null. I'm not sure if it's something I broke or something I unmasked. When I try to paper over it in JS, the test appears to get stuck in the full-screen mode.

At present, I think it would make sense to land what I now have sooner than later, because what I have so far may unbreak other test cases.

(In reply to Henri Sivonen (:hsivonen) from comment #82)

https://treeherder.mozilla.org/#/jobs?repo=try&revision=e10acf789bb865abf8caeb98dcdc11458e0576a1

Sigh. Pretty much everything goes orange.

With the latest patch the situation starts to look OK-ish, but now there is a failure with

can't access property "QueryInterface", aWindow.docShell is null - stack: pbu_privacyContextFromWindow@resource://gre/modules/PrivateBrowsingUtils.jsm:54:5

Depends on: 1674993
Depends on: 1676616
Attachment #9184224 - Attachment description: Bug 1618386 - Add sequence numbers to filter out stale active browsing context updates. → Bug 1618386 - Add action ids to filter out stale active browsing context updates.
Pushed by hsivonen@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d66f803de161 Add action ids to filter out stale active browsing context updates. r=nika
Keywords: leave-open
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch
See Also: → 1677899
See Also: → 1698036
Regressions: 1733301
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: