Bug 173344

Summary: Flaky Test: media/media-source/media-source-unnecessary-seek-seeked.html
Product: WebKit Reporter: WebKit Commit Bot <commit-queue>
Component: MediaAssignee: WebKit Commit Bot <commit-queue>
Status: RESOLVED FIXED    
Severity: Normal CC: eric.carlson, jer.noble, jlewis3, lforschler
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 50856    
Attachments:
Description Flags
Archive of layout-test-results from webkit-cq-01
none
Patch none

Description WebKit Commit Bot 2017-06-13 17:18:49 PDT
This is an automatically generated bug from the commit-queue.
media/media-source/media-source-unnecessary-seek-seeked.html has been flaky on the commit-queue.

media/media-source/media-source-unnecessary-seek-seeked.html was authored by jer.noble@apple.com.
http://trac.webkit.org/browser/trunk/LayoutTests/media/media-source/media-source-unnecessary-seek-seeked.html

The commit-queue just saw media/media-source/media-source-unnecessary-seek-seeked.html flake (text diff) while processing attachment 312824 [details] on bug 173330.
Bot: webkit-cq-01  Port: <class 'webkitpy.common.config.ports.MacPort'>  Platform: Mac OS X 10.11.6

The bots will update this with information from each new failure.

If you believe this bug to be fixed or invalid, feel free to close.  The bots will re-open if the flake re-occurs.

If you would like to track this test fix with another bug, please close this bug as a duplicate.  The bots will follow the duplicate chain when making future comments.
Comment 1 WebKit Commit Bot 2017-06-13 17:18:51 PDT
Created attachment 312834 [details]
Archive of layout-test-results from webkit-cq-01
Comment 2 Jer Noble 2017-06-13 21:59:15 PDT
So the underlying cause of this failure is not new; but the recent change to delay firing the 'seeker' event until the frame at the seek destination is actually decoded makes this happen much more frequently.  It goes like this:

1. MSE client enqueues a bunch of data to be parsed and enqueued
2. In the background, the media engine begins decoding the first visible frame
3. MSE client calls seek(), which enqueues a task to do the seek
4. The first frame is decoded, which triggers a readyState change.
5. The readyState change sees that the seek flag is set, and per the spec, finishes seeking
6. The seek task finally fires.

Previous to this change, the ready state change in step 4 happens between step 2 and 3. After this change, it's much more likely that the ready state change in step 4 happens after the seek request in step 3.
Comment 3 Jer Noble 2017-06-13 22:51:12 PDT
Created attachment 312859 [details]
Patch
Comment 4 Matt Lewis 2017-06-14 09:51:13 PDT
*** Bug 173331 has been marked as a duplicate of this bug. ***
Comment 5 WebKit Commit Bot 2017-06-14 10:32:52 PDT
Comment on attachment 312859 [details]
Patch

Clearing flags on attachment: 312859

Committed r218268: <http://trac.webkit.org/changeset/218268>
Comment 6 WebKit Commit Bot 2017-06-14 10:32:53 PDT
All reviewed patches have been landed.  Closing bug.