Closed Bug 1150090 Opened 5 years ago Closed 5 years ago

Intermittent browser_animation_actors_11.js | The currentTime was updated to -2s

Categories

(DevTools :: Inspector, defect)

x86
Linux
defect
Not set

Tracking

(firefox38 unaffected, firefox39 fixed, firefox40 fixed, firefox-esr31 unaffected)

RESOLVED FIXED
Firefox 40
Tracking Status
firefox38 --- unaffected
firefox39 --- fixed
firefox40 --- fixed
firefox-esr31 --- unaffected

People

(Reporter: RyanVM, Assigned: pbro)

Details

(Keywords: intermittent-failure)

Attachments

(1 file, 1 obsolete file)

08:04:58 INFO - 820 INFO TEST-START | toolkit/devtools/server/tests/browser/browser_animation_actors_11.js
08:05:03 INFO - 821 INFO checking window state
08:05:03 INFO - 822 INFO Entering test
08:05:03 INFO - 823 INFO Adding a new tab with URL: 'http://test1.example.org/browser/toolkit/devtools/server/tests/browser/animation.html'
08:05:03 INFO - 824 INFO Waiting for event: 'load' on [object XULElement].
08:05:03 INFO - 825 INFO Console message: [JavaScript Error: "The character encoding of the HTML document was not declared. The document will render with garbled text in some browser configurations if the document contains characters from outside the US-ASCII range. The character encoding of the page must be declared in the document or in the transfer protocol." {file: "http://test1.example.org/browser/toolkit/devtools/server/tests/browser/animation.html" line: 0}]
08:05:03 INFO - 826 INFO Got event: 'load' on [object XULElement].
08:05:03 INFO - 827 INFO URL 'http://test1.example.org/browser/toolkit/devtools/server/tests/browser/animation.html' loading complete
08:05:03 INFO - 828 INFO Retrieve an animated node
08:05:03 INFO - 829 INFO Retrieve the animation player for the node
08:05:03 INFO - 830 INFO TEST-PASS | toolkit/devtools/server/tests/browser/browser_animation_actors_11.js | Player has the setCurrentTime method
08:05:03 INFO - 831 INFO Set the current time to currentTime + 5s
08:05:03 INFO - 832 INFO TEST-PASS | toolkit/devtools/server/tests/browser/browser_animation_actors_11.js | The currentTime was updated to +5s
08:05:03 INFO - 833 INFO Set the current time to currentTime - 2s
08:05:03 INFO - 834 INFO TEST-UNEXPECTED-FAIL | toolkit/devtools/server/tests/browser/browser_animation_actors_11.js | The currentTime was updated to -2s -
08:05:03 INFO - Stack trace:
08:05:03 INFO - chrome://mochitests/content/browser/toolkit/devtools/server/tests/browser/browser_animation_actors_11.js:null:44
08:05:03 INFO - self-hosted:next:625
08:05:03 INFO - Tester_execTest@chrome://mochikit/content/browser-test.js:736:9
08:05:03 INFO - Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:659:7
08:05:03 INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:752:59
08:05:03 INFO - [2517] WARNING: NS_ENSURE_TRUE(mMutable) failed: file /builds/slave/fx-team-lx-d-00000000000000000/build/src/netwerk/base/nsSimpleURI.cpp, line 264
08:05:03 INFO - [2517] WARNING: NS_ENSURE_SUCCESS(EnsureScriptEnvironment(), nullptr) failed with result 0x80040111: file /builds/slave/fx-team-lx-d-00000000000000000/build/src/docshell/base/nsDocShell.cpp, line 4597
08:05:03 INFO - 835 INFO Leaving test
08:05:03 INFO - 836 INFO MEMORY STAT vsize after test: 552230912
08:05:03 INFO - 837 INFO MEMORY STAT residentFast after test: 184479744
08:05:03 INFO - 838 INFO MEMORY STAT heapAllocated after test: 56945496
08:05:03 INFO - 839 INFO TEST-OK | toolkit/devtools/server/tests/browser/browser_animation_actors_11.js | took 5016ms
Flags: needinfo?(pbrosset)
This test can fail if the test VM is really slow:

1.  let state = yield player.getCurrentState();
2.  yield player.setCurrentTime(state.currentTime - 2000);
3.  let newState = yield player.getCurrentState();
4.  ok(newState.currentTime < state.currentTime, "The currentTime was updated to -2s");

Line 1 we get the current state of a given css animation and store it.
Line 2, we set the currentTime of the animation to be 2s in the past.
Line 3, we get the state again and store it.
Line 4, we check that the new state's currentTime is less than the previous state's currentTime.

Lines 1, 2 and 3 are all async.
If the test runs really really slow, then there's a chance that more than 2 seconds have passed between line 2 and 3.

We could either subtract more time, but that, eventually, could lead to intermittents too (far fewer though).
Or we could pause the animation before starting the test.
Assignee: nobody → pbrosset
Status: NEW → ASSIGNED
Flags: needinfo?(pbrosset)
/r/6523 - Bug 1150090 - Intermittent browser_animation_actors_11.js; r=bgrins

Pull down this commit:

hg pull -r 816c24dccf3bd6781a346839750c7f0273dbc72b https://reviewboard-hg.mozilla.org/gecko/
Attachment #8587231 - Flags: review?(bgrinstead)
Attachment #8587231 - Flags: review?(bgrinstead) → review+
Comment on attachment 8587231 [details]
MozReview Request: bz://1150090/pbrosset

https://reviewboard.mozilla.org/r/6521/#review5549

Ship It!
https://hg.mozilla.org/mozilla-central/rev/3a6dfc65f76b
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → Firefox 40
Attachment #8587231 - Attachment is obsolete: true
Attachment #8619944 - Flags: review+
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.