Closed Bug 1489190 Opened 6 years ago Closed 4 years ago

Intermittent dom/html/test/test_fullscreen-api.html | Test timed out.

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla80
Tracking Status
firefox80 --- fixed

People

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

References

(Blocks 1 open bug, Regression)

Details

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

Attachments

(1 file)

Filed by: ccoroiu [at] mozilla.com

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

https://queue.taskcluster.net/v1/task/e6R78bjfRReo-4vf3dnmaw/runs/0/artifacts/public/logs/live_backing.log

14:57:04     INFO - TEST-PASS | dom/html/test/test_fullscreen-api.html | [selector] fullscreen0 should not match selector ":fullscreen" 
14:57:04     INFO - TEST-PASS | dom/html/test/test_fullscreen-api.html | [selector] The bounding rect of fullscreen0 should match its initial state 
14:57:04     INFO - TEST-PASS | dom/html/test/test_fullscreen-api.html | [selector] fullscreen1 should not match selector ":fullscreen" 
14:57:04     INFO - TEST-PASS | dom/html/test/test_fullscreen-api.html | [selector] The bounding rect of fullscreen1 should match its initial state 
14:57:04     INFO - TEST-PASS | dom/html/test/test_fullscreen-api.html | [selector] fullscreen2 should not match selector ":fullscreen" 
14:57:04     INFO - TEST-PASS | dom/html/test/test_fullscreen-api.html | [selector] The bounding rect of fullscreen2 should match its initial state 
14:57:04     INFO - Run test file_fullscreen-shadowdom.html
14:57:04     INFO - Buffered messages finished
14:57:04     INFO - TEST-UNEXPECTED-FAIL | dom/html/test/test_fullscreen-api.html | Test timed out. 
14:57:04     INFO -     reportError@SimpleTest/TestRunner.js:121:7
14:57:04     INFO -     TestRunner._checkForHangs@SimpleTest/TestRunner.js:142:7
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     setTimeout handler*TestRunner._checkForHangs@SimpleTest/TestRunner.js:163:5
14:57:04     INFO -     TestRunner.runTests/<@SimpleTest/TestRunner.js:381:9
14:57:04     INFO -     promise callback*TestRunner.runTests@SimpleTest/TestRunner.js:368:50
14:57:04     INFO -     RunSet.runtests@SimpleTest/setup.js:194:3
14:57:04     INFO -     RunSet.runall@SimpleTest/setup.js:173:5
14:57:04     INFO -     hookupTests@SimpleTest/setup.js:266:5
14:57:04     INFO - parseTestManifest@http://mochi.test:8888/manifestLibrary.js:36:5
14:57:04     INFO - getTestManifest/req.onload@http://mochi.test:8888/manifestLibrary.js:49:11
14:57:04     INFO - EventHandlerNonNull*getTestManifest@http://mochi.test:8888/manifestLibrary.js:45:3
14:57:04     INFO -     hookup@SimpleTest/setup.js:246:5
14:57:04     INFO - EventHandlerNonNull*@http://mochi.test:8888/tests?autorun=1&closeWhenDone=1&consoleLevel=INFO&manifestFile=tests.json&dumpOutputDirectory=c%3A%5Cusers%5Ctask_1536244086%5Cappdata%5Clocal%5Ctemp&cleanupCrashes=true:11:1
14:57:05     INFO - GECKO(9440) | MEMORY STAT | vsize 1581MB | vsizeMaxContiguous 132833033MB | residentFast 144MB | heapAllocated 18MB
14:57:05     INFO - TEST-OK | dom/html/test/test_fullscreen-api.html | took 322177ms
14:57:08     INFO - Error: Unable to restore focus, expect failures and timeouts.
Chris, any thoughts on this one?
Flags: needinfo?(cpearce)
See Also: → 1504062
This is a result of bug 1362774, and the test was disabled on linux opt/pgo. I'm investigating in bug 1504062.
Flags: needinfo?(cpearce)
Priority: -- → P5
Whiteboard: [stockwell needswork:owner]
Thanks for the update Gijs!
Whiteboard: [stockwell needswork:owner]
Priority: -- → P5
https://wiki.mozilla.org/Bug_Triage#Intermittent_Test_Failure_Cleanup
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INCOMPLETE
New occurrences: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=215882032&repo=mozilla-inbound&lineNumber=16523
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---
Component: DOM → DOM: Core & HTML
Status: REOPENED → RESOLVED
Closed: 6 years ago5 years ago
Resolution: --- → INCOMPLETE
Status: REOPENED → RESOLVED
Closed: 5 years ago4 years ago
Resolution: --- → INCOMPLETE
Status: RESOLVED → REOPENED
Resolution: INCOMPLETE → ---

Recent failures are from bug 1350875.
Xidorn can you take a look?

Flags: needinfo?(xidorn+moz)
Regressed by: 1350875
Whiteboard: [retriggered]
Keywords: regression

Will have a look. I think this is because bug 1350875 re-enabled that test. The test has been long disabled on Linux previously.

I think we are hitting a race condition that in certain case the fullscreen never happens and never gets rejected either. It's indeed problematic. I'm suspecting that this is related to fullscreen is requested shortly after exiting fullscreen, but that normally shouldn't be a problem, especially given that the fullscreenchange event of the exiting has been dispatched...

There is a race condition causing neither fullscreenchange nor fullscreenerror
to be dispatched for a requestFullscreen call in some cases, making the test
stuck. It can be triggered when the child process has exited fullscreen and
starts trying to request fullscreen again, but the parent process is still in
the process of exiting. This can happen when fullscreen is exited via erroneous
ways like detaching the fullscreen element from the document or navigating from
a fullscreen document.

This patch doesn't fix the underlying race condition, but instead changes the
test to avoid triggering it. The namespace checks in file_fullscreen-api removes
the fullscreen element to exit fullscreen, and repeats this process several
times, making it very likely to trigger the race condition, but there is no
reason it has to be done in this way, especially given that there is a test step
specifically checks this behavior.

We may still want to fix the underlying race condition at some point, but as it
can only be triggered via requesting fullscreen when exiting, it's unlikely to
be hit in normal use, so it's less important than making the test reliable.

Assignee: nobody → xidorn+moz
Pushed by mozilla@upsuper.org:
https://hg.mozilla.org/integration/autoland/rev/3c3e1e10767c
Use exitFullscreen to exit fullscreen in namespace tests. r=smaug
Blocks: 1215369
Flags: needinfo?(xidorn+moz)
See Also: → 1654512
Status: REOPENED → RESOLVED
Closed: 4 years ago4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla80
Has Regression Range: --- → yes
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: