New issue
Advanced search Search tips

Issue 782542 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Dec 6
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Layout test http/tests/websocket/cookie-document-to-ws.html is flaky

Project Member Reported by ricea@chromium.org, Nov 8 2017

Issue description

Reported flakiness rate 0.87%, more than twice the next-flakiest WebSocket test.

It's flaking on "big name" bots like linux_chromium_rel_ng.

In local tests with asan it failed 1/10000.

Dashboard link: https://test-results.appspot.com/dashboards/flakiness_dashboard.html#testType=webkit_layout_tests%20(with%20patch)&tests=http%2Ftests%2Fwebsocket%2Fcookie-document-to-ws.html

Output from failed run:
This is a testharness.js-based test.
FAIL Cookies set by document.cookie are sent in a WebSocket handshake assert_equals: expected (string) "test_1510117507907.0.5874205270927411=1" but got (undefined) undefined
Harness: the test ran to completion.

 

Comment 1 by ricea@chromium.org, Nov 8 2017

Components: Blink>Network>WebSockets
This test sets document.cookie and then verifies that a WebSocket connection started immediately afterwards picks up the cookie.

I suspect that mojoification turned this into a race between setting document.cookie on one channel and performing the WebSocket connect on another.

Comment 2 by ricea@chromium.org, Nov 8 2017

Confirmed the test passes 30000/30000 in 6921d2ea73b05a0ccb651f4e2d65169092191e08 (Aug 2016, before mojoification of WebSockets). There were some timeouts which I fixed by increasing the timeout to 60 seconds.

Comment 3 by ricea@chromium.org, Nov 8 2017

The test fails 3/10000 in 4a593833d44a457f177f99b2c907bd0f6ae397f7 (Oct 2016, after mojoification).

Comment 4 by ricea@chromium.org, Nov 9 2017

My bisect returned the unfortunate answer:

8f7a478791623f4af72be16da30817f6ff753175 is the first bad commit
commit 8f7a478791623f4af72be16da30817f6ff753175
Author: wfh <wfh@chromium.org>
Date:   Fri Aug 12 13:48:57 2016 -0700

    Add Win32k lockdown for PPAPI processes to finch testing parameters.
    
    BUG=579223
    
    Review-Url: https://codereview.chromium.org/2243953002
    Cr-Commit-Position: refs/heads/master@{#411761}


I think I probably should have done more than 30000 iterations per commit.

Comment 5 by ricea@chromium.org, Nov 9 2017

Cc: yhirano@chromium.org
Okay, I manually confirmed that 

commit fa18d502ca7285b4f9c5efad788e959c860ed9c6 (HEAD)
Author: darin <darin@chromium.org>
Date:   Fri Aug 12 12:49:27 2016 -0700

    Port WebSockets to Mojo IPC
    

is flaky and the previous CL (1cbe94865300052a06c16fa253cedf0e7490dcb8) is not.

+yhirano do you have any ideas how to make this deterministic?
https://chromium.googlesource.com/chromium/src/+/b5f10a9aa1ce4c81d26a6f53c6b533f8bae266c5

Recently SetCookie became synchronous so hopefully this flakiness will be gone, right?

Comment 7 by ricea@chromium.org, Nov 9 2017

Still flaky at ToT. I don't know why.

Comment 8 by ricea@chromium.org, Nov 9 2017

The command I ran was this:

blink/tools/run_layout_tests.sh --fully-parallel --iterations=30000 --time-out-ms=60000 --exit-after-n-failures=1 --no-show http/tests/websocket/cookie-document-to-ws.html
Status: Fixed (was: Assigned)
I ran the command in #8 again and this time it passed. Considering the issue fixed.

Sign in to add a comment