Issue metadata
Sign in to add a comment
|
http/tests/serviceworker/foreign-fetch-cors.html is flaky on windows bots |
||||||||||||||||||||||
Issue description
,
Jan 6 2017
mek@ could you take this? It looks like the test is just slow and sometimes times out.
,
Jan 6 2017
Yeah, I guess the "3x variance" guidance that's documented in SlowTests is no longer true (since mostly this test passes in less than 1 second, and the timeout is 6 seconds...)
,
Jan 6 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/349d304bdcd2747ab6ec7efb35b502180e53aecb commit 349d304bdcd2747ab6ec7efb35b502180e53aecb Author: mek <mek@chromium.org> Date: Fri Jan 06 23:54:42 2017 Mark foreign-fetch-basics and foreign-fetch-cors tests as slow on windows. Hopefully these tests are indeed just sometimes extra slow (at least a 6x slowdown). If not I'll have to do more digging to see why they sometimes timeout. BUG= 678498 BUG= 678496 Review-Url: https://codereview.chromium.org/2610923011 Cr-Commit-Position: refs/heads/master@{#442100} [modify] https://crrev.com/349d304bdcd2747ab6ec7efb35b502180e53aecb/third_party/WebKit/LayoutTests/SlowTests [modify] https://crrev.com/349d304bdcd2747ab6ec7efb35b502180e53aecb/third_party/WebKit/LayoutTests/TestExpectations
,
Jan 9 2017
So that seems to have mostly "fixed" it, although it does seem like a >15x slowdown on certain runs (usually finishes in 1-2 seconds, some runs take > 20 seconds, upto 29 seconds for one particular run) is not something that should really happen... Not sure what's going on... Looking at the access_log for a particularly bad run (https://build.chromium.org/p/chromium.webkit/builders/WebKit%20Win7/builds/49415/ with a 29 second virtual/mojo-loading/http/tests/serviceworker/foreign-fetch-cors.html) there for some reason just is a 28 second gap between any network fetches, which I can't really explain. At the same time http/tests/serviceworker/foreign-fetch-basics.html was also running (on a different worker), and that test simply timed out because of this 28 second stall (or in other words, something is causing two tests running on different workers, but at the same time, to stall for 28 seconds between 04:30:24 and 04:30:52). Any blink infra people have any ideas what could be causing stalls like this?
,
Jan 9 2017
Issue 678496 has been merged into this issue.
,
Jan 10 2017
The delays sound suspiciously close to ServiceWorkerVersion's 30 second timeout timer. Could it be related?
,
Jan 10 2017
I don't think that would be related. The 28 second stall was just the most extreme case I saw; most of the slow runs are anywhere in the 8-20 second range (while normal runs are 1-2 seconds).
,
Jan 11 2017
Looking at https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Win7/49415/layout-test-results/access_log.txt excerpt: 127.0.0.1 - - [09/Jan/2017:04:30:24 -0800] "GET /serviceworker/resources/foreign-fetch-cors-worker.js?%7B%7D HTTP/1.1" 200 1113 127.0.0.1 - - [09/Jan/2017:04:30:24 -0800] "GET /resources/get-host-info.js HTTP/1.1" 200 1096 127.0.0.1 - - [09/Jan/2017:04:30:52 -0800] "GET /serviceworker/resources/foreign-fetch-helper-iframe.html HTTP/1.1" 200 495 127.0.0.1 - - [09/Jan/2017:04:30:52 -0800] "GET /serviceworker/resources/fetch-access-control.php? HTTP/1.1" 200 525 127.0.0.1 - - [09/Jan/2017:04:30:52 -0800] "GET /serviceworker/resources/fetch-access-control.php? HTTP/1.1" 200 525 127.0.0.1 - - [09/Jan/2017:04:30:52 -0800] "GET /serviceworker/resources/fetch-access-control.php? HTTP/1.1" 200 525 127.0.0.1 - - [09/Jan/2017:04:30:52 -0800] "GET /serviceworker/resources/install-worker-helper.html HTTP/1.1" 200 832 127.0.0.1 - - [09/Jan/2017:04:30:52 -0800] "GET /serviceworker/resources/foreign-fetch-cors-worker.js?%7B%22origin%22%3A%22http%3A%2F%2F127.0.0.1%3A8000%22%7D HTTP/1.1" 200 1113 In the stdio for the test run: 04:30:22.116 2916 worker/0 http/tests/serviceworker/register-foreign-fetch-errors.html passed ... lots of time with no output from worker/0 ... 04:30:52.249 2916 "taskkill.exe /f /t /pid 4824" took 0.12s 04:30:52.249 2916 killed pid 4824 04:30:52.251 3816 [41792/44921] http/tests/serviceworker/foreign-fetch-basics.html failed unexpectedly (test timed out) 04:30:52.251 2916 worker/0 killing primary driver 04:30:52.251 2916 worker/0 killing secondary driver 04:30:52.251 2916 worker/0 http/tests/serviceworker/foreign-fetch-basics.html failed: 04:30:52.251 2916 worker/0 test timed out (Note, in this log it doesn't say when each test started, since we removed those lines (because of bug 673207 ). I don't have any good idea now of why there would be a stall like that - whatever it is, it's not very consistent. I don't know, but running that tests makes > 50 GET requests to the local apache server, so maybe at some point sometimes it's waiting for the apache process?
,
Jan 12 2017
Ah, this sounds like bug 431172 . IIRC the problem was Apache can't deal with too many concurrent connections, and cross-origin tests easily trigger the bug. I assume the switch to wptserve will stop the use of Apache?
,
Jan 12 2017
Hm, yep. The proposal to move to wptserve and stop the use of Apache is bug 347864. Updating that bug. mek@, OK to close this bug?
,
Jan 12 2017
Yeah, definitely seems like too many concurrent connections to Apache is the problem here. I guess closing this is okay, although it seems a bit weird, since the problem is still there, just more rare to cause timeouts now the tests are marked as slow... And there is actually work to be done to rewrite these tests to use python/wptserve rather than php. But then I suppose any such work is going to be part of bug 347864, so probably okay to mark this as WONTFIX for now.
,
Jan 13 2017
I'd expect us to upstream this test to WPT and have it run in imported/wpt so that wptserve would be used. That would probably happen before changing to wptserve everywhere (for both wpt and non-wpt tests).
,
Jan 13 2017
Yes, it's definitely on my radar to upstream these tests. But I'd rather not do that until we're actually running wpt tests on wptserve (I believe we're really really close to re-enabling that again at least).
,
Feb 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e09a722158af5e49f59381a50669a30003f3bbb5 commit e09a722158af5e49f59381a50669a30003f3bbb5 Author: mek <mek@chromium.org> Date: Mon Feb 13 22:59:25 2017 Upstream foreign fetch tests. BUG= 678498 BUG= 688116 Review-Url: https://codereview.chromium.org/2676733002 Cr-Commit-Position: refs/heads/master@{#450134} [modify] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/SlowTests [modify] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/MANIFEST.json [rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-basics.https.html [rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-cors.https.html [add] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-event.https.html [rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/foreign-fetch-workers.https.html [modify] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/fetch-access-control.py [rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-cors-worker.js [rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-event-worker.js [rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-helper-iframe.html [rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-helper-script.js [add] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-helper-worker.js [add] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-helpers.js [rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/foreign-fetch-worker.js [modify] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/get-host-info.sub.js [rename] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/install-worker-helper.html [add] https://crrev.com/e09a722158af5e49f59381a50669a30003f3bbb5/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/resources/reply-to-message.html [delete] https://crrev.com/95ca8e045eb12df12283d61f68caba1971ff0bff/third_party/WebKit/LayoutTests/external/wpt/service-workers/service-worker/service-worker-csp-script.https-expected.txt [delete] https://crrev.com/95ca8e045eb12df12283d61f68caba1971ff0bff/third_party/WebKit/LayoutTests/http/tests/serviceworker/foreign-fetch-event.html [delete] https://crrev.com/95ca8e045eb12df12283d61f68caba1971ff0bff/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/foreign-fetch-helper-worker.js [delete] https://crrev.com/95ca8e045eb12df12283d61f68caba1971ff0bff/third_party/WebKit/LayoutTests/http/tests/serviceworker/resources/foreign-fetch-helpers.js |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by bugdroid1@chromium.org
, Jan 6 2017