Perf bisects do not work for resource_sizes alerts |
||||||||||||||
Issue descriptionTake a look at alerts on this graph: https://chromeperf.appspot.com/report?sid=583a1190684356d6bf05c460ee88095add80c49e2de98a1bdc960662fe6afb2c&num_points=1500 All bisects fail with: ===== BISECT JOB RESULTS ===== Status: failed === Bisection aborted === The bisect was aborted because Bisect cannot identify a culprit: Testing the "good" revision failed: Test runs failed to produce output. Please contact the the team (see below) if you believe this is in error. ===== TESTED REVISIONS ===== Revision Mean Std Dev N Good? Bisect job ran on: android_nexus7_perf_bisect Bug ID: 678309 Test Command: src/tools/perf/run_benchmark -v --browser=android-chromium --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests --story-filter=normalized.apk.size resource_sizes (MonochromePublic.apk) Test Metric: MonochromePublic.apk_Specifics/normalized apk size Relative Change: None Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/android_nexus7_perf_bisect/builds/3575 Job details: https://chromeperf.appspot.com/buildbucket_job_status/8991373559416019520 From the email, I'd guess the problem is that the command being run is "run_benchmark" as opposed to resource_sizes.py (or on the bots, it's run through test_runner.py)
,
Jan 4 2017
,
Jan 5 2017
Not sure what I could do here... already has the right owner.
,
Jan 19 2017
,
Feb 3 2017
,
Feb 4 2017
,
Feb 14 2017
,
Feb 22 2017
,
Mar 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/0b892c73358a61652e8986572841387f26328666 commit 0b892c73358a61652e8986572841387f26328666 Author: catapult-deps-roller <catapult-deps-roller@chromium.org> Date: Wed Mar 15 19:51:57 2017 Roll src/third_party/catapult/ e9f547be0..4226576b1 (15 commits) https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/+log/e9f547be045d..4226576b1dc7 $ git log e9f547be0..4226576b1 --date=short --no-merges --format='%ad %ae %s' 2017-03-15 rnephew [Systrace][BattOr] Simplify BattOr options in systrace. 2017-03-15 simonhatch Dashboard - Make graph_revisions.AddRowsToCache faster. 2017-03-15 sunjian Replace History::pushState and Location::setHash with FrameLoader::updateForSameDocumentNavigation. 2017-03-15 nednguyen Revert of [Telemetry] Remove code that handle --browser=any (patchset #1 id:1 of https://codereview.chromium.org/2750463004/ ) 2017-03-14 benjhayden Delete "merged to" diagnostics. 2017-03-14 benjhayden Add tr-v-ui-histogram-set-controls. 2017-03-14 benjhayden Do not auto-open histograms in singular rows. 2017-03-14 sullivan Add 'AsDict' methods to benchmark health report entities. 2017-03-14 jessimb Brings the anomalies into Release Notes. 2017-03-14 simonhatch Was out of date and didn't work properly. Note that this still won't work until we roll the latest changes from staging to prod in the bisect recipe. 2017-03-14 benjhayden Add HistogramSetConfiguration MVC Model. 2017-03-14 benjhayden Refactor HistogramSetTableRow using a recursive iterator. 2017-03-14 benjhayden Move NullBrushingStateController to its own file. 2017-03-14 cwallez gpu_info: Remove some no longer collected values 2017-03-14 nednguyen [Telemetry] Remove code that handle --browser=any Created with: roll-dep src/third_party/catapult BUG= 678338 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, see: http://www.chromium.org/developers/tree-sheriffs/sheriff-details-chromium#TOC-Failures-due-to-DEPS-rolls CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.android:android_optional_gpu_tests_rel TBR=catapult-sheriff@chromium.org Review-Url: https://codereview.chromium.org/2749863005 Cr-Commit-Position: refs/heads/master@{#457175} [modify] https://crrev.com/0b892c73358a61652e8986572841387f26328666/DEPS
,
Mar 18 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/tools/build/+/55807bc812e28d83f30a2efbebc8ba113693eaae commit 55807bc812e28d83f30a2efbebc8ba113693eaae Author: Simon <simonhatch@chromium.org> Date: Sat Mar 18 02:46:21 2017 Push bisect changes to prod. TBR=dtu@chromium.org BUG= 678338 Change-Id: Ib48be18163d2e862e25a509d28ff985904a0fb15 Reviewed-on: https://chromium-review.googlesource.com/454922 Reviewed-by: Simon Hatch <simonhatch@chromium.org> Commit-Queue: Simon Hatch <simonhatch@chromium.org> [add] https://crrev.com/55807bc812e28d83f30a2efbebc8ba113693eaae/scripts/slave/recipe_modules/auto_bisect/example.expected/basic_resource_sizes_bisect.json [modify] https://crrev.com/55807bc812e28d83f30a2efbebc8ba113693eaae/scripts/slave/recipe_modules/bisect_tester/perf_test.py [modify] https://crrev.com/55807bc812e28d83f30a2efbebc8ba113693eaae/scripts/slave/recipe_modules/auto_bisect/example.expected/basic_linux_bisect.json [modify] https://crrev.com/55807bc812e28d83f30a2efbebc8ba113693eaae/scripts/slave/recipe_modules/auto_bisect/example.py
,
Mar 20 2017
,
Mar 20 2017
Certainly better, but not quite fixed yet. Now it seems bisects come back with "tests failed to produce values". E.g.: https://bugs.chromium.org/p/chromium/issues/detail?id=703121#c5
,
Mar 20 2017
Oops sorry, I had kicked off this one: https://build.chromium.org/p/tryserver.chromium.perf/builders/android_nexus5X_perf_bisect/builds/1365 And it seemed to have picked up the values, I'll look at why your bisect isn't working.
,
Mar 20 2017
Ok it looks like resource_sizes expects to be called with CWD=/src, will try to follow up with patch soon.
,
Mar 20 2017
Whoop! That shouldn't be the case. Looks like that was actually just broken a few weeks ago by: https://codereview.chromium.org/2706243013 Here's a fix: https://codereview.chromium.org/2761883002
,
Mar 20 2017
Awesome thanks :D I'll try another bisect once that lands.
,
Mar 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/5664563554b429cc617b0ea8ebdd77293852492e commit 5664563554b429cc617b0ea8ebdd77293852492e Author: agrieve <agrieve@chromium.org> Date: Mon Mar 20 20:12:40 2017 Fix resource_sizes.py breaking if CWD!=src BUG= 678338 Review-Url: https://codereview.chromium.org/2761883002 Cr-Commit-Position: refs/heads/master@{#458160} [modify] https://crrev.com/5664563554b429cc617b0ea8ebdd77293852492e/build/android/BUILD.gn [modify] https://crrev.com/5664563554b429cc617b0ea8ebdd77293852492e/build/android/resource_sizes.py
,
Mar 20 2017
We'll have to wait for a few revisions to pass before testing, otherwise bisect will sync to a revision with a broken resource_sizes.
,
Mar 21 2017
https://build.chromium.org/p/tryserver.chromium.perf/builders/android_nexus7_perf_bisect/builds/3793 Success! Was able to extract the proper values when bisecting on MonochromePublic.apk.
,
Mar 24 2017
Here's one that failed afterwards: https://bugs.chromium.org/p/chromium/issues/detail?id=704181 I'm guessing it failed because no single commit caused a jump beyond the alert threshold. Still though, it would be useful to get the test results from all of the commits within the roll that it tried. Do you know if those are stored anywhere?
,
Mar 24 2017
Looks like it tried to bisect the v8 roll but had some problems with the builds it got. Specifically, resource_sizes was failing with this error:
Traceback (most recent call last):
File "/b/c/b/android_nexus7_perf_bisect/src/build/android/resource_sizes.py", line 745, in <module>
sys.exit(main())
File "/b/c/b/android_nexus7_perf_bisect/src/build/android/resource_sizes.py", line 734, in main
PrintPakAnalysis(args.apk, args.min_pak_resource_size)
File "/b/c/b/android_nexus7_perf_bisect/src/build/android/resource_sizes.py", line 525, in PrintPakAnalysis
resource_id_name_map, resources_id_header_map = _AnnotatePakResources()
File "/b/c/b/android_nexus7_perf_bisect/src/build/android/resource_sizes.py", line 568, in _AnnotatePakResources
assert grit_headers, 'Failed to find grit headers in %s' % out_dir
So the way the bisect works is when it needs to bisect rolls like v8, it specifies some deps overrides and sends them over to a set of bisect builders (https://build.chromium.org/p/tryserver.chromium.perf/builders/android_perf_bisect_builder). Maybe they build slightly differently from the normal chromium perf builders (https://build.chromium.org/p/chromium.perf/builders/Android%20Builder)?
,
Mar 27 2017
Interesting... Looked at a couple random jobs, and it looks like they just build & upload the build result (which has a filter to exclude out/gen). So likely that's what caused it to fail. Another odd thing though, is that this one: https://bugs.chromium.org/p/chromium/issues/detail?id=705416 it claims to have succeeded, but then just blamed a roll rather than trying to drill in. I'm happy to just leave this as broken for a while longer, as I think a better fix would involve being more intelligent about how we look at pak file sizes: https://bugs.chromium.org/p/chromium/issues/detail?id=692706
,
Mar 27 2017
,
May 9 2017
,
Oct 4
We'll likely never add this to the recipe bisect, agrieve@ do you think you'd want this in Pinpoint at some point? Otherwise we can close this out.
,
Oct 5
,
Oct 9
This would be a nice-to-have to figure which commits within rolls cause regressions, but it's also something we can easily live without. |
||||||||||||||
►
Sign in to add a comment |
||||||||||||||
Comment 1 by simonhatch@chromium.org
, Jan 4 2017