New issue
Advanced search Search tips

Issue 751955 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: ----
Type: ----



Sign in to add a comment

external/wpt/webusb/idlharness.https.html is flaky

Project Member Reported by horo@chromium.org, Aug 3 2017

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Aug 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c290406185e0f2b4144c086cd6371c4ff3567b98

commit c290406185e0f2b4144c086cd6371c4ff3567b98
Author: Tsuyoshi Horo <horo@chromium.org>
Date: Thu Aug 03 05:50:54 2017

add external/wpt/webusb/idlharness.https.html to TestExpectations

TBR: reillyg@chromium.org
Bug:  751955 
Change-Id: Iac23c3c3df62e4dbccaaf80192297dbbb52a48e8
Reviewed-on: https://chromium-review.googlesource.com/599137
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491657}
[modify] https://crrev.com/c290406185e0f2b4144c086cd6371c4ff3567b98/third_party/WebKit/LayoutTests/TestExpectations

Cc: lunalu@chromium.org
Labels: OS-Chrome OS-Linux OS-Mac OS-Windows
Owner: reillyg@chromium.org
Status: Assigned (was: Available)
I am reverting the patch which I believe introduced this flakiness.

https://chromium-review.googlesource.com/c/601007
Cc: -lunalu@chromium.org loonyb...@chromium.org
Project Member

Comment 4 by bugdroid1@chromium.org, Aug 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/caae5e54baab982f717023669247004b6572b42f

commit caae5e54baab982f717023669247004b6572b42f
Author: Reilly Grant <reillyg@chromium.org>
Date: Thu Aug 03 22:45:37 2017

Revert "Dispatch interfacerequest event in a new microtask"

This reverts commit fe5c2f3d9c18a5c652b064d230ef3e8f1f9f903d.

Reason for revert: This appears to be causing flake in the WebUSB layout tests.

Original change's description:
> Dispatch interfacerequest event in a new microtask
> 
> This change modifies the MojoInterfaceInterceptor so that the
> 'interfacerequest' event, fired when a request for the intercepted
> interface is made, is dispatched in a new microtask instead of
> synchronously.
> 
> This has the benefit of not reentering JavaScript to execute event
> handlers synchronously which is both different from the usual case for
> binding interfaces that are provided by other processes and avoids the
> possibilty of attempting to dispatch this event to JavaScript from a
> scope where script is forbidden.
> 
> Change-Id: I08b8c25a04da047381a3786af08b62979ca7b837
> Reviewed-on: https://chromium-review.googlesource.com/594716
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Yuzhu Shen <yzshen@chromium.org>
> Commit-Queue: Reilly Grant <reillyg@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#491552}

TBR=dcheng@chromium.org,yzshen@chromium.org,reillyg@chromium.org

Change-Id: Ibc179e1313fceba9a6e8da37e5220ccb6aa7c204
Bug:  751955 
Reviewed-on: https://chromium-review.googlesource.com/601007
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491864}
[modify] https://crrev.com/caae5e54baab982f717023669247004b6572b42f/third_party/WebKit/LayoutTests/TestExpectations
[modify] https://crrev.com/caae5e54baab982f717023669247004b6572b42f/third_party/WebKit/LayoutTests/mojo/bind-interface.html
[modify] https://crrev.com/caae5e54baab982f717023669247004b6572b42f/third_party/WebKit/Source/core/mojo/test/MojoInterfaceInterceptor.cpp
[modify] https://crrev.com/caae5e54baab982f717023669247004b6572b42f/third_party/WebKit/Source/core/mojo/test/MojoInterfaceInterceptor.h

Status: Fixed (was: Assigned)
Seems to have stopped flaking :)
Project Member

Comment 6 by bugdroid1@chromium.org, Aug 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9dabe0bb73adc9d777a7e4449b10e80c5d4a879c

commit 9dabe0bb73adc9d777a7e4449b10e80c5d4a879c
Author: Reilly Grant <reillyg@chromium.org>
Date: Fri Aug 11 01:47:18 2017

Fix flake in webusb/idlnarness.https.html

This patch fixes two related issues that caused this test to flake as a
result of a change to MojoInterfaceInterceptor. First, the idlharness.js
test does not explicitly wait for the Chromium-specific polyfill
implementation of navigator.usb.test to be loaded before trying to use
it. This worked anyways because there were enough asynchronous tasks
executed before it was needed in order to give it time to load.

The issue that itself caused the flake was that the Promise returned by
navigator.usb.test.initialize() resolves before the pipes to connect the
renderer to the mock service are established. This introduces the
a race between this initialization and the first fake device being
added that may cause its 'connect' event to never be fired. An explicit
call to navigator.usb.getDevices() is added to ensure that the pipes are
set up before we consider the test API initialized.

Bug:  751955 
Change-Id: Ia874fe179b28bbeda0c987445be66dfd127e01cf
Reviewed-on: https://chromium-review.googlesource.com/610492
Reviewed-by: Vincent Scheib <scheib@chromium.org>
Commit-Queue: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#493639}
[modify] https://crrev.com/9dabe0bb73adc9d777a7e4449b10e80c5d4a879c/third_party/WebKit/LayoutTests/external/wpt/resources/chromium/webusb-test.js
[modify] https://crrev.com/9dabe0bb73adc9d777a7e4449b10e80c5d4a879c/third_party/WebKit/LayoutTests/external/wpt/webusb/idlharness.https.html

Sign in to add a comment