Closed Bug 1123936 Opened 10 years ago Closed 10 years ago

Intermittent browser_animation_actors_02.js | The animation is currently running - Got pending, expected running

Categories

(DevTools :: Inspector, defect)

defect
Not set
normal

Tracking

(firefox36 unaffected, firefox37 fixed, firefox38 fixed, firefox-esr31 unaffected)

RESOLVED FIXED
Firefox 38
Tracking Status
firefox36 --- unaffected
firefox37 --- fixed
firefox38 --- fixed
firefox-esr31 --- unaffected

People

(Reporter: RyanVM, Assigned: pbro)

Details

(Keywords: intermittent-failure)

Attachments

(2 files, 1 obsolete file)

15:20:22 INFO - 5474 INFO TEST-START | toolkit/devtools/server/tests/browser/browser_animation_actors_02.js 15:20:22 INFO - -*-*- UserCustomizations (parent): document created: http://test1.example.org/browser/toolkit/devtools/server/tests/browser/animation.html 15:20:22 INFO - -*-*- UserCustomizations (parent): _injectInWindow 15:20:22 INFO - -*-*- UserCustomizations (parent): principal status: 0 15:20:22 INFO - 5475 INFO checking window state 15:20:22 INFO - 5476 INFO Entering test 15:20:22 INFO - 5477 INFO Adding a new tab with URL: 'http://test1.example.org/browser/toolkit/devtools/server/tests/browser/animation.html' 15:20:22 INFO - 5478 INFO Waiting for event: 'load' on [object XULElement]. 15:20:22 INFO - 5479 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}] 15:20:22 INFO - 5480 INFO Got event: 'load' on [object XULElement]. 15:20:22 INFO - 5481 INFO URL 'http://test1.example.org/browser/toolkit/devtools/server/tests/browser/animation.html' loading complete 15:20:22 INFO - 5482 INFO TEST-PASS | toolkit/devtools/server/tests/browser/browser_animation_actors_02.js | 0 players were returned for the unanimated node 15:20:22 INFO - 5483 INFO TEST-PASS | toolkit/devtools/server/tests/browser/browser_animation_actors_02.js | One animation player was returned 15:20:22 INFO - 5484 INFO TEST-PASS | toolkit/devtools/server/tests/browser/browser_animation_actors_02.js | Two animation players were returned 15:20:22 INFO - 5485 INFO TEST-PASS | toolkit/devtools/server/tests/browser/browser_animation_actors_02.js | One animation player was returned for the transitioned node 15:20:22 INFO - 5486 INFO TEST-PASS | toolkit/devtools/server/tests/browser/browser_animation_actors_02.js | The player has an initialState 15:20:22 INFO - 5487 INFO TEST-PASS | toolkit/devtools/server/tests/browser/browser_animation_actors_02.js | The player has the getCurrentState method 15:20:22 INFO - 5488 INFO TEST-UNEXPECTED-FAIL | toolkit/devtools/server/tests/browser/browser_animation_actors_02.js | The animation is currently running - Got pending, expected running 15:20:22 INFO - Stack trace: 15:20:22 INFO - chrome://mochikit/content/browser-test.js:test_is:851 15:20:22 INFO - chrome://mochitests/content/browser/toolkit/devtools/server/tests/browser/browser_animation_actors_02.js:playersCanBePausedAndResumed:53 15:20:22 INFO - self-hosted:InterpretGeneratorResume:659 15:20:22 INFO - self-hosted:next:585 15:20:22 INFO - Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:870:23 15:20:22 INFO - this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:749:7 15:20:22 INFO - this.PromiseWalker.scheduleWalkerLoop/<@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:691:37 15:20:22 INFO - 5489 INFO TEST-PASS | toolkit/devtools/server/tests/browser/browser_animation_actors_02.js | The animation is now paused 15:20:22 INFO - 5490 INFO TEST-PASS | toolkit/devtools/server/tests/browser/browser_animation_actors_02.js | The animation is now running again 15:20:22 INFO - 5491 INFO Leaving test 15:20:23 INFO - 5492 INFO MEMORY STAT vsize after test: 795652096 15:20:23 INFO - 5493 INFO MEMORY STAT vsizeMaxContiguous after test: 439091200 15:20:23 INFO - 5494 INFO MEMORY STAT residentFast after test: 550662144 15:20:23 INFO - 5495 INFO MEMORY STAT heapAllocated after test: 241860134 15:20:23 INFO - 5496 INFO TEST-OK | toolkit/devtools/server/tests/browser/browser_animation_actors_02.js | took 293ms
Sending over to pbrosset
Assignee: nobody → pbrosset
Component: Developer Tools → Developer Tools: Inspector
That's an easy fix. Recently web animations have had a new thing whereby they go through a pending state before starting to run, and there's a ready promise that consumers can wait for in that case. This promise is already available on the AnimationPlayerActor, so it's just a matter of adding a step to the intermittent failing test to wait for this promise to resolve.
Some background for Brian: the test fails since bug 927349 landed. That bug made animations pass by a pending state shortly before starting, and also exposed a 'ready' promise on AnimationPlayer objects. The failing test assumed the animation was running no matter what. Since bug 1113091, I've exposed the ready promise on AnimationPlayerActor objects. So the test just has to wait until the front.ready promise resolves. Pending try push: https://treeherder.mozilla.org/#/jobs?repo=try&revision=1a3931b9c52f
Attachment #8552985 - Flags: review?(bgrinstead)
That's right, this intermittent made it to 37. I'll request uplift once it gets reviewed and lands on central. The try push is green so far.
Attachment #8552985 - Flags: review?(bgrinstead) → review+
Keywords: checkin-needed
Flags: in-testsuite+
Keywords: checkin-needed
Whiteboard: [fixed-in-fx-team]
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 38
Sorry, this is a bit of a mess. The patch in this bug was the right idea, but the fix was incorrect: yield player.ready instead of yield player.ready() So this doesn't make anything fail, and since the bug was intermittent to start with, we didn't realize that the patch didn't solve the issue right away. Also, I have actually fixed this issue for good on nightly since then (in bug 1122466 apparently). So this intermittent remains in Aurora. I don't know if it's a good idea to uplift bug 1122466 now. I'd rather just provide a new patch here just for Aurora (a patch that just adds the () parens after yield player.ready). Ryan, is that something I can do?
Flags: needinfo?(ryanvm)
If you're worried about uplifting bug 1122466, then a simple test-only fix sounds like a great idea :)
Flags: needinfo?(ryanvm)
/r/4097 - Bug 1123936 - Aurora-only fix for browser_animation_actors_02.js; r=me Pull down this commit: hg pull review -r a34c2a30cb9abe612254fabdd14e52e536b249bc
Attachment #8567139 - Flags: review?(pbrosset)
Attachment #8567139 - Flags: review?(pbrosset) → review+
Comment on attachment 8567139 [details] MozReview Request: bz://1123936/pbrosset https://reviewboard.mozilla.org/r/4095/#review3259 Ship It!
So, I've made an Aurora-only patch (since that particular change already exists on nightly). It's a test only change that will have absolutely no impacts except from fixing the intermittent on Aurora, so I've gone ahead and R+'d it myself. I hope that's ok. I think it is because that exact fix already exists on Nightly and has been R+'d there for some time.
Attachment #8567139 - Attachment is obsolete: true
Attachment #8619183 - Flags: review+
Product: Firefox → DevTools
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: