Bug 167517

Summary: [WK2] LayoutTest gamepad/gamepad-visibility-1.html is a flaky failure
Product: WebKit Reporter: Ryan Haddad <ryanhaddad>
Component: New BugsAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: ap, beidson, joepeck, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   

Description Ryan Haddad 2017-01-27 11:02:08 PST
LayoutTest gamepad/gamepad-visibility-1.html is a flaky failure



--- /Volumes/Data/slave/elcapitan-release-tests-wk2/build/layout-test-results/gamepad/gamepad-visibility-1-expected.txt
+++ /Volumes/Data/slave/elcapitan-release-tests-wk2/build/layout-test-results/gamepad/gamepad-visibility-1-actual.txt
@@ -1,2 +1,2 @@
-No connect event seen in 20 run loop spins. Yay.
+Connect event seen! Should NOT have been seen
Comment 1 Ryan Haddad 2017-01-27 11:02:44 PST
This seems to be flaky on El Capitan Release WK2 and is showing up in EWS test runs from time to time.
Comment 2 Ryan Haddad 2017-01-27 11:04:34 PST
(In reply to comment #1)
> This seems to be flaky on El Capitan Release WK2 and is showing up in EWS
> test runs from time to time.

Comment 3 Alexey Proskuryakov 2017-01-30 14:41:00 PST
I'm also seeing this fail on EWS, making it slow.
Comment 4 Ryan Haddad 2017-01-31 18:18:50 PST
Marked test as flaky in http://trac.webkit.org/projects/webkit/changeset/211465
Comment 5 Joseph Pecoraro 2017-01-31 21:39:59 PST
I was able to reproduce this locally, when I run the test 10 times it typically fails the first time and passes all the rest:

  $ run-webkit-tests --iterations=10 --exit-after-n-failures=1 gamepad/gamepad-visibility-1.html

From the WebContentProcess side I see the gamepadconnected event dispatched via:

(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = step over
    frame #0: WebCore`WebCore::GamepadManager::makeGamepadVisible(this=0x000000011910eb08, platformGamepad=0x00007fcfd0e05910, navigatorSet=0x000000011910eb18, domWindowSet=0x000000011910eb68) at GamepadManager.cpp:159
    frame #1: WebCore`WebCore::GamepadManager::platformGamepadConnected(this=0x000000011910eb08, platformGamepad=0x00007fcfd0e05910) at GamepadManager.cpp:76
    frame #2: WebKit`WebKit::WebGamepadProvider::gamepadConnected(this=0x000000010f64eb10, gamepadData=0x00007fff542baea8) at WebGamepadProvider.cpp:84
    frame #3: WebKit`WebKit::WebProcess::gamepadConnected(this=0x00007fcfd1006400, gamepadData=0x00007fff542baea8) at WebProcess.cpp:1026
    frame #4: WebKit`void IPC::callMemberFunctionImpl<WebKit::WebProcess, void (WebKit::WebProcess::*)(WebKit::GamepadData const&), std::__1::tuple<WebKit::GamepadData>, 0ul>(object=0x00007fcfd1006400, function=40 70 ee 0e 01 00 00 00 00 00 00 00 00 00 00 00, args=0x00007fff542baea8, (null)=std::__1::index_sequence<0UL> @ 0x00007fff542badd0)(WebKit::GamepadData const&), std::__1::tuple<WebKit::GamepadData>&&, std::__1::integer_sequence<unsigned long, 0ul>) at HandleMessage.h:40

Is there something that should be preventing the platformGamepadConnected here?
Comment 6 Radar WebKit Bug Importer 2017-02-02 17:06:13 PST
Comment 7 Joseph Pecoraro 2017-02-02 17:50:46 PST
Retitling, this is not El Capitan or Release specific.