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

Issue 663701 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 1
Type: Bug-Regression

Blocking:
issue 666541



Sign in to add a comment

Regression: In supervised user, unwanted grey line is seen on ‘Week’ button in chrome://history.

Reported by vvishwak...@etouch.net, Nov 9 2016

Issue description

Version: 56.0.2914.0 (Official Build)a081fcfbc7471a6681142d49491b82f7b8402851-refs/heads/master@{#430837} (64-bit) 
OS: Mac (10.10.5, 10.11.4)

Precondition: Sign in to chrome.

What steps will reproduce the problem?
1) Launch chrome, go to ‘chrome://settings', from ‘People’ section add a Supervised user.
2) Switch to supervised user, go to ‘chrome://history' press Tab key till focus is on ‘All’ button.
3) Now press and hold right arrow key for a minute and then release the key.
4) Observe top side of  ‘Week’ button.

Unwanted grey line is seen on ‘Week’ button.

Unwanted grey line should not be seen on ‘Week’ button. 

This is a Regression issue broken in M-56, will soon update other info
Manual bisect:
Good build: 56.0.2900.0
Bad build: 56.0.2902.0

Note: Issue is not seen on Windows and Linux OS.

 
supervised_actual.mov
4.1 MB Download
supervised_expected.mov
4.4 MB Download
Labels: Needs-Bisect
Status: Untriaged (was: Unconfirmed)
Labels: -hasbisect -Needs-Bisect hasbisect-per-revision
Owner: ericrk@chromium.org
Status: Assigned (was: Untriaged)
Using the per-revision bisect providing the bisect results,
Good build: 56.0.2900.0 (Revision: 427219).
Bad build: 56.0.2902.0 (Revision: 427892).

You are probably looking for a change made after 427481 (known good), but no later than 427482 (first known bad).
CHANGELOG URL:
  https://chromium.googlesource.com/chromium/src/+log/26ce312cc8b3f53dc76df85e45c17bba93685fc3..43de8ce7588866b2ce0eefa9ccf9f570c22f1df7

@ericrk -- Could you please look into the issue, pardon me if it has nothing to do with your changes and if possible please assign it to concern owner.
Thank You.

Comment 4 by ericrk@chromium.org, Nov 10 2016

Status: Started (was: Assigned)
This is likely caused by my change. I'll investigate. Thanks for letting me know.

Comment 5 by ericrk@chromium.org, Nov 10 2016

This is an issue with Partial raster. Two possibilities:
- Blink is sending rects that are too small, causing content to not be correctly drawn-over.
- Skia is incorrectly rasterizing outside of the expected area.

I'll continue to investigate.

Comment 6 by ericrk@chromium.org, Nov 11 2016

Cc: senorblanco@chromium.org vmi...@chromium.org bsalomon@chromium.org
Components: -UI>Browser>Profiles -Services>SupervisedUser Internals>GPU>Rasterization
This looks like a Skia issue, where Skia draws outside of the expected bounds. I've attached an SKP which shows the issue.

When rasterized with GPU rasterization, the pixels above the middle button (pixel 777,3 for instance) is very slightly darkened. When rasterized with SW, this pixel is untouched (remains full white).

This would be fine (some variation between SW/GPU is OK), but it seems like, even when CC sets a clip on the canvas that excludes these darkened pixels, Skia continues to rasterize these pixels (outside the clip).

Will try to put together a more concise repro.
path_bleed.skp
4.8 KB Download

Comment 7 by ericrk@chromium.org, Nov 11 2016

Owner: senorblanco@chromium.org
I've created a DM test which shows this issue. See https://skia-review.googlesource.com/4700

In this case, I push a rectangular clip of (0,4) to (60, 5), so 4 to 5 in Y.

I then draw a path which encloses the rectangular space (4,4) to (59,5).

When run under GPU, we see that this path draws pixels in the third row, even though this row should be outside the clip.

Senorblanco@, can you take a look?
Some investigation: I can repro on Mac in SampleApp GPU mode, but it goes away with --msaa 4. So I think this must be the default path renderer (or possibly the distance field path renderer), not the tessellating one. My guess is that the original page has too few paths to cause a veto.

OTOH I couldn't hit a breakpoint in any of the path renderers yet, so I'm not sure which one is being called.

Comment 9 by ericrk@chromium.org, Nov 18 2016

Blocking: 666541
We've seen another case which looks like the same issue:  crbug.com/666541 .
Cc: ericrk@chromium.org schenney@chromium.org wkorman@chromium.org
 Issue 666541  has been merged into this issue.
Re #8, I checked and we're hitting the GrAADistanceFieldPathRenderer. senorblanco@, are you the right owner for that area?
Cc: jvanverth@chromium.org
Owner: ----
Status: Available (was: Started)
Thanks for checking. Jim or Brian, could you take a look?
Owner: bsalomon@chromium.org
Taking a look
The middle button in path_bleed.skp does look a bit excessively blurry. That is possibly related to the issue here.

In the past few months the GPU backend got a little bit laxer about the conditions under which we will ignore the clip, particularly rectangular clips. We now ignore the clip when the bounds of the projected shape being rendered are inside the rectangle even when then shape is antialiased and the clip is not. This means that the AA from the rendered shape may affect pixels that are border the non-antialiased clip.

This should normally be OK except that the DF path renderer seems to sometimes produce 2 pixels worth of AA around the edge of the path which causes bleed beyond what the clipping or partial raster code expects.

A workaround is for the distance field path renderer to outset its bounds by 2 instead of 1 while we investigate whether there is a bug in that code.
Project Member

Comment 16 by bugdroid1@chromium.org, Nov 21 2016

The following revision refers to this bug:
  https://skia.googlesource.com/skia.git/+/8d5f9cb5e7ea3d9ce77715a7f730f1c36222ae16

commit 8d5f9cb5e7ea3d9ce77715a7f730f1c36222ae16
Author: Brian Salomon <bsalomon@google.com>
Date: Mon Nov 21 15:51:09 2016

Add an extra pixel to the distance field path renderer bounds.

BUG= chromium:663701 
BUG= skia:5989 

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5086

Change-Id: Ie97f46b108f54c711c5928b11a9921be38356f8d
Reviewed-on: https://skia-review.googlesource.com/5086
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

[modify] https://crrev.com/8d5f9cb5e7ea3d9ce77715a7f730f1c36222ae16/src/gpu/batches/GrAADistanceFieldPathRenderer.cpp

Project Member

Comment 17 by bugdroid1@chromium.org, Nov 21 2016

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

commit 8185b210f4ed78c364b3f6f5506836e05e5b4e1f
Author: skia-deps-roller <skia-deps-roller@chromium.org>
Date: Mon Nov 21 21:19:44 2016

Roll src/third_party/skia/ 99bba9ea8..ab1c3a0a8 (12 commits).

https://skia.googlesource.com/skia.git/+log/99bba9ea8293..ab1c3a0a8802

$ git log 99bba9ea8..ab1c3a0a8 --date=short --no-merges --format='%ad %ae %s'
2016-11-21 egdaniel Fix include of GrGLSLCaps in SkGradientShader
2016-11-21 csmartdalton Revive geometry shaders
2016-11-21 bsalomon Merge GrGLSLShaderVar and GrShaderVar
2016-11-21 robertphillips Defer more renderTargetContexts in the GPU image filter paths - take 2
2016-11-21 mtklein Simplify shader paint alpha modulation.
2016-11-21 raftias Fixed issue with some A2B0 images being too dark
2016-11-21 herb Remove testing code for not fitting in the Footer.
2016-11-18 bsalomon Remove GrGLSLSampler type and subclasses
2016-11-21 herb Use ptr diff to encode function and padding.
2016-11-21 ethannicholas re-land of switched skslc from std::string to SkString
2016-11-21 brianosman VS script: Handle variation among configurations
2016-11-21 bsalomon Add an extra pixel to the distance field path renderer bounds.

BUG= 663701 

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.blink:linux_trusty_blink_rel
TBR=egdaniel@google.com

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

[modify] https://crrev.com/8185b210f4ed78c364b3f6f5506836e05e5b4e1f/DEPS

Status: Fixed (was: Available)
The drawing out of bounds issue has been fixed. Skia  bug 5989  has been filed to track further investigation of the distance field path renderer.
Cc: chrishtr@chromium.org
chrishtr@, between this issue and the other partial raster issue duped to it ( crbug.com/666541 ), do you think this is worth a merge to beta?
Agreed that we should try to merge to 55.
Labels: Merge-Request-55
Labels: M-55
Status: Assigned (was: Fixed)
Re-opening for merge request.

Comment 23 by dimu@chromium.org, Nov 22 2016

Labels: -Merge-Request-55 Merge-Review-55 Hotlist-Merge-Review
[Automated comment] DEPS changes referenced in bugdroid comments, needs manual review.
Before we approve merge to M55, Could you please confirm whether this change is baked/verified in Canary and safe to merge? Please note that M55 is very close to Stable launch and bar is VERY high, we take this change ONLY if it is critical and safe.
It is a very safe change for potentially bad rendering errors. However, it has not yet made it to Canary.
Cc: mmoss@chromium.org
Ok, please update the bug once it is baked/verified in Canary. Either I or mmoss@  will approve the merge then. If merge happens before 4:00 PM PT, Monday (11/28), then we can take it for next week beta/pre-stable release.
Cc: pbomm...@chromium.org
Labels: TE-Verified-M57 TE-Verified-57.0.2929.4
Verified this issue on Mac OS 10.12 using chrome latest canary M57-57.0.2929.4 by following steps mentioned in the original comment. Observed no grey lines on top of week button as expected as shown in below screenshot. Hence adding TE-Verified label.
663701.png
69.4 KB View Download
Labels: -Merge-Review-55 Merge-Approved-55
Approving merge to M55 branch 2883 based on comment #25 and comment #28. Please merge ASAP. If merge happens before 4:00 PM PT, Monday (11/28), then we can pick it up for desktop final build cut. Thank you.
Project Member

Comment 30 by bugdroid1@chromium.org, Nov 28 2016

Labels: merge-merged-m55
The following revision refers to this bug:
  https://skia.googlesource.com/skia.git/+/51161b59e0097ca535d5ce5bc5a4ab04c8765a39

commit 51161b59e0097ca535d5ce5bc5a4ab04c8765a39
Author: Brian Salomon <bsalomon@google.com>
Date: Mon Nov 28 15:48:45 2016

Add an extra pixel to the distance field path renderer bounds.

BUG= chromium:663701 
BUG= skia:5989 

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=5086

Change-Id: Ie97f46b108f54c711c5928b11a9921be38356f8d
Reviewed-on: https://skia-review.googlesource.com/5086
Reviewed-by: Jim Van Verth <jvanverth@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

Cherry-pick to M55

NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true

Change-Id: I3f8e5de782846447c6f809c3284c5081b5d7a283
Reviewed-on: https://skia-review.googlesource.com/5267
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

[modify] https://crrev.com/51161b59e0097ca535d5ce5bc5a4ab04c8765a39/src/gpu/batches/GrAADistanceFieldPathRenderer.cpp

Labels: -Merge-Approved-55 Merge-Request-56
This missed the boat for Skia's M56 branch so requesting a merge there as well.
bsalomon@ want to check if this has been cherry picked to Chrome M55.
Yes, it has been. It was cherry picked to Skia's M55 branch in the commit linked in comment #30. This Skia branch is pulled into M55 Chrome builds, so any build after it landed will have the fix.
Cc: bustamante@chromium.org
M56 is in beta now, cc'ing TPM.
Project Member

Comment 35 by sheriffbot@chromium.org, Dec 16 2016

Labels: -Merge-Request-56 Merge-Review-56
This bug requires manual review: DEPS changes referenced in bugdroid comments.
Please contact the milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), gkihumba@(cros), bustamante@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: ligim...@chromium.org
Labels: -Merge-Review-56 Merge-Approved-56
Approved for merge into M56
Labels: -Hotlist-Merge-Review -Merge-Approved-56 merge-merged-m56
I'm not sure why it didn't trigger a message but this was cherry-picked to Skia's M56 branch as b681e8cf20dddd6eb2354e57f6652b2b980fe0ad.
Status: Fixed (was: Assigned)

Sign in to add a comment