New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 811976 link

Starred by 8 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 10
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug

Blocked on:
issue 916368



Sign in to add a comment

webkit-patch rebaseline-cl fails to fetch layout test results

Project Member Reported by wangxianzhu@chromium.org, Feb 13 2018

Issue description

All try bots have results in https://chromium-review.googlesource.com/c/chromium/src/+/914251/5, but webkit-patch rebaseline-cl fails to fetch them:

2018-02-13 13:10:54,367 - Finished try jobs found for all try bots.
2018-02-13 13:10:54,596 - Failed to fetch results for "mac10.11_blink_rel".
2018-02-13 13:10:54,597 - Results URL: https://storage.googleapis.com/chromium-layout-test-archives/mac10_11_blink_rel/6074/layout-test-results/results.html
2018-02-13 13:10:54,739 - Failed to fetch results for "mac10.10_blink_rel".
2018-02-13 13:10:54,739 - Results URL: https://storage.googleapis.com/chromium-layout-test-archives/mac10_10_blink_rel/5924/layout-test-results/results.html
2018-02-13 13:10:54,877 - Failed to fetch results for "win7_blink_rel".
2018-02-13 13:10:54,878 - Results URL: https://storage.googleapis.com/chromium-layout-test-archives/win7_blink_rel/6255/layout-test-results/results.html
2018-02-13 13:10:55,008 - Failed to fetch results for "mac10.11_retina_blink_rel".
2018-02-13 13:10:55,008 - Results URL: https://storage.googleapis.com/chromium-layout-test-archives/mac10_11_retina_blink_rel/6014/layout-test-results/results.html
2018-02-13 13:10:55,151 - Failed to fetch results for "mac10.12_blink_rel".
2018-02-13 13:10:55,151 - Results URL: https://storage.googleapis.com/chromium-layout-test-archives/mac10_12_blink_rel/3787/layout-test-results/results.html
2018-02-13 13:10:55,293 - Failed to fetch results for "win10_blink_rel".
2018-02-13 13:10:55,294 - Results URL: https://storage.googleapis.com/chromium-layout-test-archives/win10_blink_rel/6244/layout-test-results/results.html
2018-02-13 13:10:55,433 - Failed to fetch results for "linux_trusty_blink_rel".
2018-02-13 13:10:55,433 - Results URL: https://storage.googleapis.com/chromium-layout-test-archives/linux_trusty_blink_rel/23626/layout-test-results/results.html
2018-02-13 13:10:55,433 - There are some builders with no results:
2018-02-13 13:10:55,434 -   linux_trusty_blink_rel
2018-02-13 13:10:55,434 -   mac10.10_blink_rel
2018-02-13 13:10:55,434 -   mac10.11_blink_rel
2018-02-13 13:10:55,434 -   mac10.11_retina_blink_rel
2018-02-13 13:10:55,434 -   mac10.12_blink_rel
2018-02-13 13:10:55,434 -   win10_blink_rel
2018-02-13 13:10:55,434 -   win7_blink_rel

I tried the above URLs, and they return 404.

However, the URLs in the bot results are different, e.g.

https://test-results.appspot.com/data/layout_results/win10_blink_rel/6244/layout-test-results/results.html

which does have result.

 
I tried to replace https://storage.googleapis.com/chromium-layout-test-archives with https://test-results.appspot.com/data/layout_results, and it still fails:

2018-02-13 13:23:47,514 - Finished try jobs found for all try bots.
2018-02-13 13:23:52,038 - Failed to fetch results for "mac10.11_blink_rel".
2018-02-13 13:23:52,039 - Results URL: https://test-results.appspot.com/data/layout_results/mac10_11_blink_rel/6074/layout-test-results/results.html
2018-02-13 13:23:58,132 - Failed to fetch results for "mac10.10_blink_rel".
2018-02-13 13:23:58,132 - Results URL: https://test-results.appspot.com/data/layout_results/mac10_10_blink_rel/5924/layout-test-results/results.html
2018-02-13 13:24:09,308 - Failed to fetch results for "win7_blink_rel".
2018-02-13 13:24:09,308 - Results URL: https://test-results.appspot.com/data/layout_results/win7_blink_rel/6255/layout-test-results/results.html
2018-02-13 13:24:12,680 - Failed to fetch results for "mac10.11_retina_blink_rel".
2018-02-13 13:24:12,681 - Results URL: https://test-results.appspot.com/data/layout_results/mac10_11_retina_blink_rel/6014/layout-test-results/results.html
2018-02-13 13:24:17,790 - Failed to fetch results for "mac10.12_blink_rel".
2018-02-13 13:24:17,791 - Results URL: https://test-results.appspot.com/data/layout_results/mac10_12_blink_rel/3787/layout-test-results/results.html
2018-02-13 13:24:24,250 - Failed to fetch results for "win10_blink_rel".
2018-02-13 13:24:24,251 - Results URL: https://test-results.appspot.com/data/layout_results/win10_blink_rel/6244/layout-test-results/results.html
2018-02-13 13:24:26,508 - Failed to fetch results for "linux_trusty_blink_rel".
2018-02-13 13:24:26,509 - Results URL: https://test-results.appspot.com/data/layout_results/linux_trusty_blink_rel/23626/layout-test-results/results.html
2018-02-13 13:24:26,509 - There are some builders with no results:
2018-02-13 13:24:26,509 -   linux_trusty_blink_rel
2018-02-13 13:24:26,509 -   mac10.10_blink_rel
2018-02-13 13:24:26,509 -   mac10.11_blink_rel
2018-02-13 13:24:26,509 -   mac10.11_retina_blink_rel
2018-02-13 13:24:26,510 -   mac10.12_blink_rel
2018-02-13 13:24:26,510 -   win10_blink_rel
2018-02-13 13:24:26,510 -   win7_blink_rel

while I can access these URLs successfully in browser.
Cc: martiniss@chromium.org
Summary: webkit-patch rebaseline-cl fails to fetch layout test results (was: webkk-patch rebaseline-cl fails to fetch results)
I've reproduced this, and confirmed that generally now those new test-results URLs seem to be correct, but even after updating the base URL in webkitpy/common/net/buildbot.py, rebaseline-cl still fails to fetch results.

Thought #1: the webkit-patch rebaseline-cl script run on workstations make the request, and that URL should be the right URL, but test-results.appspot.com is rejects these requests.

martiniss@: Do you have any ideas about why test-results might be returning 404 for requests to  https://test-results.appspot.com/data/layout_results/...?
That's very weird. I can click on these and see them just fine. Let me look around a bit.
Is there a command I can run to reproduce this locally? This really shouldn't be failing....

Where are you getting the logs from in #0 and #1? Is this running on a machine somewhere that could maybe be having network access issues?
Cc: robertma@chromium.org
This is running on developer workstations, and it's also running on https://ci.chromium.org/buildbot/chromium.infra.cron/wpt-importer/.

Reproducing this required making local modifications; I'll upload a CL to make these modifcations and then after that it may be easier to reproduce: https://chromium-review.googlesource.com/c/chromium/src/+/917404
I can access the URLs in #1 successfully in browser on the same machine. Curl and python urllib2.openurl() also succeed.
Cc: raphael....@intel.com
Components: Blink>Infra>Ecosystem
This is blocking WPT imports, test_importer.py is considering no tests need to be rebaselined even though this is not the case (https://ci.chromium.org/buildbot/chromium.infra.cron/wpt-importer/12565 for example).
I can backfill select builds into google storage if needed to unblock something. I wrote a small script to unzip the files and dump them back into google storage. I've done this for the URLs in the description and in https://ci.chromium.org/buildbot/chromium.infra.cron/wpt-importer/12565, and can do them for others as needed. The script is at http://shortn/_2Tbl23GZR8 if you want to use it. It requires write access to the appropriate google storage buckets.
I'm afraid this won't work for the imports, as IIUC one would need to upload the results immediately after the WPT importer the Blink trybots so it can fetch the results and rebaseline any tests that might need to be updated (plus I don't have access to the script URL or write access to GS).
Cc: ajuma@chromium.org
+ajuma who's on ecosystem-infra rotation duty today.
Status: Started (was: Assigned)
martiniss@ made a point in https://crrev.com/c/917404 that those .../results.html URLs are actually not what rebaseline-cl is trying to fetch.

If you run webkit-patch rebaseline-cl with the --verbose flag, it says that it gets the 404 when requesting LAST_CHANGE, e.g.
https://test-results.appspot.com/data/layout_results/linux_trusty_blink_rel/23626/layout-test-results/LAST_CHANGE

LAST_CHANGE is actually not strictly necessary, rebaselining should work without that. Updated https://crrev.com/c/917404.

Comment 12 by ajuma@chromium.org, Feb 14 2018

Cc: kereliuk@chromium.org
+kereliuk who's on ecosystem-infra rotation duty tomorrow.
Now submitting a CL for this; should verify behavior afterwards
The commit above fixes the 404 issue with LAST_CHANGE, but retry_summary.json is also 404'ing in fetch_retry_summary_json().

AFAICS, the test-results app is assuming that file is part of layout_test_results.zip (and ditto for LAST_CHANGE) [1] even though it is not. Either test-results needs to handle them appropriately or they should continue being fetched from GS.

[1] https://chromium.googlesource.com/infra/infra/+/0c02193907f48ad7430df8a03e6ce96ef56575d5/go/src/infra/appengine/test-results/frontend/zip.go#92
I agree with raphael. I've noticed another problem, which is that `webkit-patch rebaseline` also doesn't work, and fails when trying to load the latest test results, for example:

2018-02-22 11:32:02,315 - Received HTTP status 500 loading "https://test-results.appspot.com/data/layout_results/WebKit_Mac10.12/results/layout-test-results/full_results.json".  Retrying in 10 seconds...
https://test-results.appspot.com/data/layout_results/WebKit_Mac10.12/results/layout-test-results/full_results.json is an invalid URL, as far as I can tell. There's no buildnumber in it. 

The test results server shouldn't be serving a 500 though, it should be serving a 404. I'll fix that bug today.
Oh actually maybe it's a valid url? I'll have to look. But the tests results server doesn't seem to be finding the zip file, but I failed to check for that case in the code. 
In the google storage test results bucket, there was a "latest results" directory for every builder (just called "results"), and every time a build would upload results, it would also upload the results into the "latest results" folder.

This latest results folder was used for `webkit-patch rebaseline` and related rebaseline commands that pulled results for continuous builders.

This isn't necessarily the best way to do it -- it may be better to find out what the latest build number is and fetch results specifically for that build. But in any case, the rebaseline commands that use continuous builder results are also broken now.
Ok, i'll try to fix the server to make those responses work.
Ah, found the problem. https://test-results.appspot.com/data/layout_results/WebKit_Mac10_12/results/layout-test-results/full_results.json works fine. The server isn't translating the '.' in the URL to a '_'. I'll make a CL to do that.
Awesome, thanks martiniss@!
Project Member

Comment 23 by bugdroid1@chromium.org, Feb 23 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/c308184c70528cb57a0a693958e2cd17b277caf6

commit c308184c70528cb57a0a693958e2cd17b277caf6
Author: Stephen Martinis <martiniss@chromium.org>
Date: Fri Feb 23 07:47:47 2018

Test results zip: Translate period in builder name

The script which uploads results cleans up the builder name before
uploading. Change the zip handler to do the same string operations.
Taken from
https://crrev.com/9b0f726bbc02a1cc858b7c3aa9dd66df2020e904/scripts/slave/chromium/archive_layout_test_results.py#68

Bug:  811976 
Change-Id: I53e36e6ee2ca5378a0b260726de141936a5856b1
Reviewed-on: https://chromium-review.googlesource.com/932970
Reviewed-by: Sean McCullough <seanmccullough@chromium.org>
Commit-Queue: Stephen Martinis <martiniss@chromium.org>

[modify] https://crrev.com/c308184c70528cb57a0a693958e2cd17b277caf6/go/src/infra/appengine/test-results/frontend/zip_test.go
[modify] https://crrev.com/c308184c70528cb57a0a693958e2cd17b277caf6/go/src/infra/appengine/test-results/frontend/zip.go

Thanks - I've just used webkit-patch rebaseline worked :-)

(Doing an experimental rebaseline in
https://chromium-review.googlesource.com/#/c/chromium/src/+/929008)
This is broken for me:

2018-02-23 17:46:29,372 - Received HTTP status 500 loading "https://test-results.appspot.com/data/layout_results/linux_trusty_blink_rel/24383/layout-test-results/failing_results.json".  Retrying in 10 seconds...

The error is:

Exceeded soft private memory limit of 1024 MB with 1517 MB after servicing 2077 requests total


I will follow up on the memory problem at  issue #813803 .
After the fixes in webkitpy (base URL) and the result server, has the issue been completely resolved? Any other work left?
I haven't tested if LAST_CHANGE and retry_summary.json are working now, but these are the only things that come to mind. The main issues reported here all seem to have been fixed.
It seems neither LAST_CHANGE or retry_summary.json is working now.

They should probably be treated differently:
* LAST_CHANGE: as qyearsley@ said, revision is not really necessary. And there are better ways to get the info. We should modify webkitpy to stop relying on this file.
* retry_summary.json is, however, useful to rebaseline and should be fixed.  This file is uploaded separately to GS during "archive_retry_summary" (e.g. https://logs.chromium.org/v/?s=chromium%2Fbb%2Ftryserver.blink%2Flinux_trusty_blink_rel%2F24779%2F%2B%2Frecipes%2Fsteps%2Farchive_retry_summary%2F0%2Fstdout). There are two approaches I can think of:
1) Add a special case to the test-result server to serve this file, in which case we don't need to modify webkitpy.
2) Change webkitpy so that we download this file directly from GS (i.e. use the old base URL for this file) instead of going through the test-result server.

IIUC, ChOps would like to get rid of direct access to GS buckets, correct? If that's the case, 1) is perhaps the preferred approach. martiniss@, WDYT?
It seems that retry-summary still doesn't work.

1. Sync to ToT
2. git cl patch https://chromium-review.googlesource.com/c/chromium/src/+/943827
3. webkit-patch rebaseline-cl --patchset=7

2018-03-02 08:45:42,736 - Finished try jobs found for all try bots.
2018-03-02 08:45:55,388 - No retry summary available for "win7_blink_rel".
2018-03-02 08:45:56,019 - No retry summary available for "mac10.11_blink_rel".
2018-03-02 08:45:56,460 - No retry summary available for "mac10.10_blink_rel".
2018-03-02 08:45:57,111 - No retry summary available for "win10_blink_rel".
2018-03-02 08:45:57,789 - No retry summary available for "mac10.11_retina_blink_rel".
2018-03-02 08:45:58,254 - No retry summary available for "mac10.12_blink_rel".
2018-03-02 08:45:58,639 - No retry summary available for "linux_trusty_blink_rel".
2018-03-02 08:45:59,161 - Rebaselining paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown.html
2018-03-02 08:45:59,161 - Rebaselining paint/invalidation/forms/radio-focus-by-mouse-then-keydown.html
2018-03-02 08:45:59,162 - Rebaselining svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
2018-03-02 08:45:59,162 - Rebaselining svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml
2018-03-02 08:45:59,162 - Rebaselining svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml
2018-03-02 08:45:59,162 - Rebaselining svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml
2018-03-02 08:45:59,162 - Rebaselining transforms/bounding-rect-zoom.html

The rebaselines for paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown.html and paint/invalidation/forms/radio-focus-by-mouse-then-keydown.html are extraneous because they also fail without patch:
https://ci.chromium.org/buildbot/tryserver.blink/mac10.11_retina_blink_rel/6280

webkit_layout_tests on ATI GPU on Mac Retina (retry summary) webkit_layout_tests on ATI GPU on Mac Retina (retry summary)
 
failures:
svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
svg/zoom/page/zoom-svg-through-object-with-percentage-size.xhtml
svg/zoom/page/zoom-svg-through-object-with-absolute-size-2.xhtml
transforms/bounding-rect-zoom.html
svg/zoom/page/zoom-svg-through-object-with-absolute-size.xhtml
 
ignored:
paint/invalidation/forms/radio-focus-by-mouse-then-keydown.html
paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown.html

wangxianzhu@, you're right. See c#29 for possible solutions.

And if this is blocking something important, I can draft up a temporary fix using approach 2).
Sorry, I hadn't carefully read #c29 before posting my comment.

About #c30, however, after the command, I didn't see new baselines for the two tests. Seems like just a issue of message displaying?
Now I think #c32 is not as expected. It seems a bug because I even unable to explicitly rebaseline the two tests:

webkit-patch rebaseline-cl --patchset=7 paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown.html

2018-03-02 09:02:46,961 - Finished try jobs found for all try bots.
2018-03-02 09:03:01,121 - Rebaselining paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown.html
2018-03-02 09:03:15,527 - No test result for test paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown.html in build Build(builder_name=u'android_blink_rel', build_number=5645)

But nothing created. Will debug this and may file another bug.
Something's wrong. These two tests ought to be rebaselined, since the retry summary is unavailable. Regarding 33#, is that the full logs? Could you run with --verbose?
Re #c33: Found the reason: the two tests have already been rebaselined on ToT.
About #33-#35, I just found that the situation is not that simple. I thought the tests had already been rebaselined on ToT because the downloaded actual file is the same as my local expected file under platform/mac-retina. However, the two tests failed again on the bot, and webkit-patch rebaseline-cl still did nothing:

2018-03-05 14:15:58,519 - webkitpy.tool.commands.rebaseline: [DEBUG] Could not add file based off output ""
2018-03-05 14:15:58,828 - webkitpy.tool.commands.rebaseline: [ERROR] 2018-03-05 14:15:58,682 - webkitpy.common.system.log_utils: [DEBUG] Debug logging enabled.
2018-03-05 14:15:58,693 - webkitpy.tool.commands.rebaseline_test: [DEBUG] Retrieving source https://test-results.appspot.com/data/layout_results/mac10_11_retina_blink_rel/6307/layout-test-results/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-actual.png for target /usr/local/google/home/wangxianzhu/chrome/src/third_party/WebKit/LayoutTests/platform/mac-retina/paint/invalidation/forms/checkbox-focus-by-mouse-then-keydown-expected.png.

2018-03-05 14:16:00,696 - webkitpy.tool.commands.rebaseline: [ERROR] 2018-03-05 14:16:00,612 - webkitpy.common.system.log_utils: [DEBUG] Debug logging enabled.
2018-03-05 14:16:00,685 - webkitpy.common.checkout.baseline_optimizer: [DEBUG] Optimizing non-virtual fallback path.
2018-03-05 14:16:00,686 - webkitpy.common.checkout.baseline_optimizer: [DEBUG]   checkbox-focus-by-mouse-then-keydown-expected.png: (already optimal)
2018-03-05 14:16:00,687 - webkitpy.common.checkout.baseline_optimizer: [DEBUG]     mac: 1613c3
2018-03-05 14:16:00,687 - webkitpy.common.checkout.baseline_optimizer: [DEBUG]     mac-retina: a589d1
2018-03-05 14:16:00,687 - webkitpy.common.checkout.baseline_optimizer: [DEBUG]     win: fc3973

2018-03-05 14:16:00,696 - webkitpy.tool.commands.rebaseline: [DEBUG] Could not add file based off output ""
2018-03-05 14:16:01,989 - webkitpy.common.system.executive: [DEBUG] "git status -z --untracked-files=all" took 1.29s
2018-03-05 14:16:02,072 - webkitpy.common.system.executive: [DEBUG] "git add" took 0.08s

I downloaded the actual and expected files from test-results server, and found that:
- actual-on-bot != expected-on-bot
- actual-on-bot == platform/mac-retina/.../checkbox-focus-by-mouse-then-keydown-expected.png in repository
- expected-on-bot != platform/mac-retina/.../forms/checkbox-focus-by-mouse-then-keydown-expected.png in repository
- expected-on-bot == platform/mac/paint/.../checkbox-focus-by-mouse-then-keydown-expected.png in repository

Did the bot have a bad checkout or choose wrong expected file?

wangxianzhu@:

We have a serious problem...

First, Mac Retina bots are actually running 10.12 instead of 10.11 despite what their names suggest (issue 818524).
But the command we use to detect Retina doesn't work on 10.12, so these bots don't consider themselves Retina ( issue 818558 ).

As a result, mac-retina baselines aren't in use now at all.

The mismatch you are seeing is because the expected results on the Retina bot are actually mac{-mac10.12}/ baselines.

Lastly, the Mac Retina bot on the waterfall has been disconnected somehow for a month so we haven't noticed...
Filed a new issue for #37:  issue 819701 

Besides the issues with Mac Retina, is rebaseline-cl now broken in other ways?
Re#38: yes, see c#29. We need to fix (or get rid of) LAST_CHANGE, and retry_summary.json.
Labels: -Pri-1 Pri-2
This no longer looks like a P1.
Status: ava (was: Started)
Cc: qyears...@chromium.org
Owner: ----
Status: Available (was: ava)
Releasing since I'm not planning to work on this in the next several days.
Labels: -Pri-2 Pri-3
Downgrading to P3, nobody seems to be working on it right now and the remaining issues from c#29 aren't blocking anything.
Project Member

Comment 44 by bugdroid1@chromium.org, Dec 11

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

commit 3ee98b199995fef2c9272bd4bed2b9c8881d4364
Author: Robert Ma <robertma@chromium.org>
Date: Tue Dec 11 21:59:28 2018

[blinkpy] Get rid of LAST_CHANGE

This file does not seem to exist any more and new builds should always
have chromium_revision in their JSON results.

Bug:  811976 
Change-Id: If8c9a2d1d9a2e18f5171947990bf404aedc41b67
Reviewed-on: https://chromium-review.googlesource.com/c/1371072
Commit-Queue: Robert Ma <robertma@chromium.org>
Reviewed-by: Quinten Yearsley <qyearsley@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615679}
[modify] https://crrev.com/3ee98b199995fef2c9272bd4bed2b9c8881d4364/third_party/blink/tools/blinkpy/common/net/buildbot.py
[modify] https://crrev.com/3ee98b199995fef2c9272bd4bed2b9c8881d4364/third_party/blink/tools/blinkpy/common/net/web_test_results.py

Project Member

Comment 45 by bugdroid1@chromium.org, Dec 13

The following revision refers to this bug:
  https://chromium.googlesource.com/infra/infra/+/a2d1575d90d925331e858db3adde1450dea63787

commit a2d1575d90d925331e858db3adde1450dea63787
Author: Robert Ma <robertma@chromium.org>
Date: Thu Dec 13 19:03:30 2018

[go] Redirect retry summaries in test-results frontend

The Blink rebaseline-cl tool can benefit from the retry summary (to only
rebaseline the genuine failures caused by the CL). The feature has been
broken since the migration to the test-results app, because the retry
summary files are uploaded separately (outside of the zip).

This CL teaches test-results to redirect the retry summary files.

Bug:  811976 
Change-Id: Id6cfee1aa0888a6c30ab99b9487150bd445e6db3
Reviewed-on: https://chromium-review.googlesource.com/c/1371225
Reviewed-by: Stephen Martinis <martiniss@chromium.org>
Commit-Queue: Robert Ma <robertma@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19540}
[modify] https://crrev.com/a2d1575d90d925331e858db3adde1450dea63787/go/src/infra/appengine/test-results/frontend/zip_test.go
[modify] https://crrev.com/a2d1575d90d925331e858db3adde1450dea63787/go/src/infra/appengine/test-results/frontend/zip.go

Project Member

Comment 46 by bugdroid1@chromium.org, Dec 14

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

commit 2008b19d558504cba2f449113fd9ca382618c488
Author: Robert Ma <robertma@chromium.org>
Date: Fri Dec 14 19:49:38 2018

[blinkpy] Make use of retry_with_patch

https://crrev.com/c/1371225 not only fixed the retry_summary.json file,
but alsoe made the new retry_with_patch_summary.json file available.
This CL switches to retry_with_patch_summary.json to more robustly
ignore flaky/unrelated failures.

Bug:  811976 
Change-Id: Id87136a895d7c1d40cd2d4c0b6b9acdaeefdc617
Reviewed-on: https://chromium-review.googlesource.com/c/1378490
Reviewed-by: Quinten Yearsley <qyearsley@chromium.org>
Commit-Queue: Robert Ma <robertma@chromium.org>
Cr-Commit-Position: refs/heads/master@{#616796}
[modify] https://crrev.com/2008b19d558504cba2f449113fd9ca382618c488/third_party/blink/tools/blinkpy/common/net/buildbot.py

Status: Fixed (was: Available)
This is fully finally fixed. Woohoo!
 Issue 915801  has been merged into this issue.
Cc: -kereliuk@chromium.org
Labels: -Pri-3 Pri-1
Status: Started (was: Fixed)
Oops, two more problems:

1. Some bots (e.g. mac10.13-blink-rel) do note have the "archive_retry_summary" steps so the retry summary files are missing.
2. The urllib2 library in Python 2 does not handle 308 permanent redirect.

I'll fix #2 first, which will turn timeout (reported in  issue 915801 ) into 404, and 404 is safely ignored. Then I'll look into builder configurations to fix #1.
Cc: chrome-trooper-bugs@chromium.org
 Issue 916109  has been merged into this issue.
Cc: caryclark@google.com
Cc: -robertma@chromium.org
Owner: robertma@chromium.org
https://chromium-review.googlesource.com/c/chromium/src/+/1381834
Is there a workaround/a safe revert option/fix ETA?

I assume this is impacting a significant number of Blink CLs.
Re #53, sorry for the delay. The fix CL is in the CQ and will land momentarily. Then you'll need to rebase your local branch to get the new blinkpy.

Unfortunately this is caused by a change in the infra test-results app. The infra change was a bug fix and is working as intended, but it unfortunately exposes another bug in blinkpy. To revert it, we'd need to revert the CL and redeploy the app, which is a manual process that's also slow (besides, we'd need to reland & redeploy the CL eventually).

Sorry for the inconvenience.
Makes sense, thanks!
Project Member

Comment 56 by bugdroid1@chromium.org, Dec 18

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

commit e024e361807dea36761eb49bce996bbe71768087
Author: Robert Ma <robertma@chromium.org>
Date: Tue Dec 18 20:53:23 2018

[blinkpy] Handle 308 redirect

The standard urllib2 in Python 2 does not understand HTTP 308 (Permanent
Redirect, RFC 7538) which is used by the test-results AppEngine Go app.
This CL handles 308 (by faking it as 301) in common.net.web and changes
common.net.buildbot to use common.net.web.

Bug:  811976 
Change-Id: I7bce3f284f9d685921082763d721a8f4e58eba9d
Reviewed-on: https://chromium-review.googlesource.com/c/1381834
Commit-Queue: Robert Ma <robertma@chromium.org>
Reviewed-by: Quinten Yearsley <qyearsley@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617613}
[modify] https://crrev.com/e024e361807dea36761eb49bce996bbe71768087/third_party/blink/tools/blinkpy/common/net/buildbot.py
[modify] https://crrev.com/e024e361807dea36761eb49bce996bbe71768087/third_party/blink/tools/blinkpy/common/net/buildbot_unittest.py
[modify] https://crrev.com/e024e361807dea36761eb49bce996bbe71768087/third_party/blink/tools/blinkpy/common/net/web.py
[modify] https://crrev.com/e024e361807dea36761eb49bce996bbe71768087/third_party/blink/tools/blinkpy/common/net/web_mock.py

Blockedon: 916368
Labels: -Pri-1 Pri-3
Downgrade to P3 as the immediate problem is solved. Right now it's just the Mac bot that's missing the retry summary because of issue 916368.
Labels: -Pri-3 Pri-2
For my case (  crbug.com/916109  ) there's no change; rebaseline-cl still generates the 308 error as before. Do you have a workaround?
Same here for https://chromium-review.googlesource.com/c/chromium/src/+/1377519: rebased the local branch, re-uploaded, re-ran rebaseline-cl -- still getting 308/retry's.

third_party/blink/tools/blink_tool.py rebaseline-cl 
2018-12-19 12:30:05,178 - Finished try jobs found for all try bots.
2018-12-19 12:30:27,126 - Received HTTP status 308 loading "https://test-results.appspot.com/data/layout_results/win10-blink-rel/2426/retry_with_patch_summary.json".  Retrying in 10 seconds...
2018-12-19 12:30:37,350 - Received HTTP status 308 loading "https://test-results.appspot.com/data/layout_results/win10-blink-rel/2426/retry_with_patch_summary.json".  Retrying in 15.0 seconds...
2018-12-19 12:30:52,603 - Received HTTP status 308 loading "https://test-results.appspot.com/data/layout_results/win10-blink-rel/2426/retry_with_patch_summary.json".  Retrying in 22.5 seconds...
...
Project Member

Comment 61 by bugdroid1@chromium.org, Dec 19

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

commit 8587946c2e82d8fd9a488f1c758682c44aee2e7b
Author: Robert Ma <robertma@chromium.org>
Date: Wed Dec 19 17:44:44 2018

[blinkpy] Actually support 308

A return statement was missing in the earlier CL
(https://crrev.com/c/1381834). In addition, rename the inner handler
class to mark it as protected.

Bug:  811976 
Change-Id: If5e3cd4f92ffc3352182b051c3329b3c129d569a
Reviewed-on: https://chromium-review.googlesource.com/c/1384653
Reviewed-by: Ned Nguyen <nednguyen@google.com>
Commit-Queue: Robert Ma <robertma@chromium.org>
Cr-Commit-Position: refs/heads/master@{#617869}
[modify] https://crrev.com/8587946c2e82d8fd9a488f1c758682c44aee2e7b/third_party/blink/tools/blinkpy/common/net/web.py

Status: Fixed (was: Started)
Marking this as "fixed" as rebaseline-cl, including the use of retry summary, is now working on almost all platforms except Mac, which is tracked by issue 916368 and is not a problem in blinkpy.

Sign in to add a comment