New issue
Advanced search Search tips

Issue 660097 link

Starred by 1 user

Issue metadata

Status: Fixed
Merged: issue 659059
Owner:
Closed: Nov 2016
Cc:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug



Sign in to add a comment

oilpan_gc_times.tough_animation_cases failing on Win 7 Perf

Project Member Reported by rnep...@chromium.org, Oct 27 2016

Issue description

Project Member

Comment 2 by 42576172...@developer.gserviceaccount.com, Oct 28 2016

Mergedinto: 659059
Status: Duplicate (was: Untriaged)

===== BISECT JOB RESULTS =====
Status: completed


===== SUSPECTED CL(s) =====
Subject : Don't apply clips to children of composited-scrolling elements for overlap testing.
Author  : chrishtr
Commit description:
  
However, only compare these unclipped rects with other unclipped rects. This
prevents excessive layer explosion outside of the composited-scrolling layer.

This requires storing unclipped absolute rects for every PaintLayer.

BUG= 652448 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://chromiumcodereview.appspot.com/2425873005
Cr-Commit-Position: refs/heads/master@{#426664}
Commit  : 0a78cbe13de10c5a1c951d753fd13d01c8b3488e
Date    : Fri Oct 21 00:56:33 2016


===== TESTED REVISIONS =====
Revision         Exit Code  Std Dev  N  Good?
chromium@426629  0          N/A      3  good
chromium@426655  0          N/A      3  good
chromium@426662  0          N/A      3  good
chromium@426663  0          N/A      3  good
chromium@426664  1          N/A      3  bad    <--
chromium@426665  1          N/A      3  bad
chromium@426668  1          N/A      3  bad
chromium@426681  1          N/A      3  bad

Bisect job ran on: win_perf_bisect
Bug ID: 660097

Test Command: src/tools/perf/run_benchmark -v --browser=release --output-format=chartjson --upload-results --pageset-repeat=1 --also-run-disabled-tests oilpan_gc_times.tough_animation_cases
Test Metric: oilpan_complete_sweep/oilpan_complete_sweep
Relative Change: Zero to non-zero
Score: 99.9

Buildbot stdio: http://build.chromium.org/p/tryserver.chromium.perf/builders/win_perf_bisect/builds/7025
Job details: https://chromeperf.appspot.com/buildbucket_job_status/8997627263096254400


Not what you expected? We'll investigate and get back to you!
  https://chromeperf.appspot.com/bad_bisect?try_job_id=5255314864078848

| O O | Visit http://www.chromium.org/developers/speed-infra/perf-bug-faq
|  X  | for more information addressing perf regression bugs. For feedback,
| / \ | file a bug with component Tests>AutoBisect.  Thank you!
Owner: chrishtr@chromium.org
Status: Assigned (was: Duplicate)
unduping since the other bug is a regression and not a failure.
Ping. Any update?
Still seeing bot failure due to this.  Chris, OK if we revert your patch to see if that indeed addresses the failures?
FYI looks like a stack overflow (infinite recursion?) in 002e6c5c 6ac198be 496136a0 49613738 003dd738 chrome_child!blink::CompositingRequirementsUpdater::updateRecursive, so the above bisect seems likely to me.


It appears to be crashing on mix_blend_mode_propagating_isolation.html.
This test repeatedly adds 100 elements to the page. There are no composited-scrolling
elements, and no overlap promotions going on. Therefore I'm not sure why this would
be crashing. Continuing to look further.
Cc: chrishtr@chromium.org
 Issue 660102  has been merged into this issue.
I am attempting to get the minidump from the builder. That is being tracked in
https://bugs.chromium.org/p/chromium/issues/detail?id=661302.

In the meantime I really do not think there is an infinite recursion, since that
should reproduce on all platforms and it does not. I think the most likely
explanation is a stack overflow specific to Windows 7. Going to upload a CL now
which may address this.
Project Member

Comment 10 by bugdroid1@chromium.org, Nov 1 2016

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

commit 1058ff73448a5ceaefc96e45d263057e17d01df7
Author: chrishtr <chrishtr@chromium.org>
Date: Tue Nov 01 22:50:19 2016

Return references to IntRects to save space in CompositingRequirementsUpdater.

BUG= 660097 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2469093002
Cr-Commit-Position: refs/heads/master@{#429142}

[modify] https://crrev.com/1058ff73448a5ceaefc96e45d263057e17d01df7/third_party/WebKit/Source/core/paint/PaintLayer.h

I confirmed that it is a stack overflow, and not an infinite recursion.
The recursion depth is 100, which is expected for mix_blend_mode_propagating_isolation.html. The minidump indicates a 10k stack
frame size per recursion; multiplying them gets to about 1MB, which is the default stack size on Win 7.
Cc: ericrk@chromium.org
Update: debugged further with ericrk. We observed that it reproduces locally
when running with the binary built by the builder for win 7 perf linked below. It's a 32-bit build, so maybe that has something to do with it. Trying now to make a similar build at ToT to reproduce.

We were unable to repro on windows 10 with the 32-bit official Canary build.

Binary is at:

https://storage.cloud.google.com/chrome-perf/Win%20Builder/full-build-win32_110a9812b3cc11b5c055ff5145f0a2514d73a0ec.zip
Project Member

Comment 14 by bugdroid1@chromium.org, Nov 4 2016

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

commit 3113a826ff6fcc0e2dcc5db52c937457a31bbc95
Author: ericrk <ericrk@chromium.org>
Date: Fri Nov 04 20:23:10 2016

Allocate OverlapMapContainers in vector rather than on stack with copy

Currently, when we call beginNewOverlapTestingContext(), we create a
new OverlapMapContainers object on the stack, and copy it into the
vector. This performs an unnecessary copy of a moderately sized object
(~2KB), as well as using up stack space, which can be problematic due
to aggressive inlining.

This change uses the Vector's grow function, rather than append. This
prevents the stack allocation and the copy.

R=chrishtr
BUG= 660097 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2475713002
Cr-Commit-Position: refs/heads/master@{#429999}

[modify] https://crrev.com/3113a826ff6fcc0e2dcc5db52c937457a31bbc95/third_party/WebKit/Source/core/layout/compositing/CompositingRequirementsUpdater.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment