RESOLVED WONTFIX94242
media/track/track-cues-sorted-before-dispatch.html flakily times out on Linux
https://bugs.webkit.org/show_bug.cgi?id=94242
Summary media/track/track-cues-sorted-before-dispatch.html flakily times out on Linux
Anna Cavender
Reported 2012-08-16 12:59:15 PDT
track-cues-sorted-before-dispatch.html has been flakily timing out on Linux. http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=track-cues-sorted-before-dispatch My guess is that occasionally the line waitForEvent('ended', logEndTest); gets executed before the bodyLoaded() function at which point 'video' has not been defined and the event listener never gets attached and the test then never ends.
Attachments
Eric Carlson
Comment 1 2012-08-16 13:09:34 PDT
(In reply to comment #0) > track-cues-sorted-before-dispatch.html has been flakily timing out on Linux. > http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=track-cues-sorted-before-dispatch > > My guess is that occasionally the line > > waitForEvent('ended', logEndTest); > > gets executed before the bodyLoaded() function at which point 'video' has not been defined and the event listener never gets attached and the test then never ends. "waitForEvent('ended', logEndTest)" should *always* execute before bodyLoaded(), but it just registers an event handler so that should be fine. "video" is defined by code in video-test.js that is executed when it loads, so that should not be an issue here.
Anna Cavender
Comment 2 2012-08-16 13:16:53 PDT
(In reply to comment #1) > (In reply to comment #0) > > track-cues-sorted-before-dispatch.html has been flakily timing out on Linux. > > http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=track-cues-sorted-before-dispatch > > > > My guess is that occasionally the line > > > > waitForEvent('ended', logEndTest); > > > > gets executed before the bodyLoaded() function at which point 'video' has not been defined and the event listener never gets attached and the test then never ends. > > "waitForEvent('ended', logEndTest)" should *always* execute before bodyLoaded(), but it just registers an event handler so that should be fine. "video" is defined by code in video-test.js that is executed when it loads, so that should not be an issue here. Huh. Why then do we need to findMediaElement() in bodyLoaded()? Can't think of another reason why this test might timeout because it looks like it is guaranteed to end when the 'ended' event is fired. Any other guesses?
Eric Carlson
Comment 3 2012-08-16 13:28:15 PDT
(In reply to comment #2) > > Huh. Why then do we need to findMediaElement() in bodyLoaded()? > You are right, findMediaElement() is needed because of the placement of the include, but waitForEvent() succeeds because "mediaElement" is initialized to the document if the <video> element hasn't been created yet. > Can't think of another reason why this test might timeout because it looks like it is guaranteed to end when the 'ended' event is fired. Any other guesses? I haven't seen the results when the test fails so I can't be sure, but it will fail any of the events doesn't fire (track load, canplaythrough, ended), or if the media file takes too long to load. What does the failure look like?
Anna Cavender
Comment 4 2012-08-16 13:49:24 PDT
(In reply to comment #3) > (In reply to comment #2) > > > > Huh. Why then do we need to findMediaElement() in bodyLoaded()? > > > You are right, findMediaElement() is needed because of the placement of the include, but waitForEvent() succeeds because "mediaElement" is initialized to the document if the <video> element hasn't been created yet. > > > Can't think of another reason why this test might timeout because it looks like it is guaranteed to end when the 'ended' event is fired. Any other guesses? > > I haven't seen the results when the test fails so I can't be sure, but it will fail any of the events doesn't fire (track load, canplaythrough, ended), or if the media file takes too long to load. What does the failure look like? No clue. It fails infrequently enough that I haven't been able to repro it locally.
Peter Kasting
Comment 5 2013-03-22 12:03:36 PDT
No longer referenced
Note You need to log in before you can comment on or make changes to this bug.