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

Issue 875650 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 6
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Black pixels in images show up as green (#02FF08)

Reported by redsan...@gmail.com, Aug 19

Issue description

Chrome Version       : Version 70.0.3521.2 (Official Build) dev (64-bit)
OS                   : Linux Mint 19 AKA Ubuntu 18.04
Linux                : Linux 4.15.0-32-generic #35-Ubuntu SMP Fri Aug 10 x86_64 GNU/Linux
URLs (if applicable) : https://en.wikipedia.org/wiki/Trademark#Usage
Other browsers tested: Firefox 61, Chrome 69
  Add OK or FAIL, along with the version, after other browsers where you
have tested this issue:
    Firefox: OK 61.0.1 
     Chrome: OK 69
     Chrome: FAIL 70.0.3521.2

What steps will reproduce the problem?
(1) Visit any page with full black pixels in images, GIFs, WhatsApp Web, Youtube Thumbnails, etc
(2) Observe dark/black area's have green pixels

What is the expected result?

Normal image

What happens instead?

Dark parts of image have green pixels

Please provide any additional information below. Attach a screenshot if
possible.

The example url shows a weight thumbbell with green pixels. First I thought my video card was faulty, but then I checked the pixel values with GIMP and observed they were actually green. #02FF08.

 
green.png
232 KB View Download
green2.png
205 KB View Download
Labels: Needs-Triage-M70
Components: Internals>GPU
Components: Blink>Image
Labels: Needs-Feedback OS-Linux
Does this still occur with hardware acceleration disabled ( chrome://settings/?search=acceleration )?

And could you please send along the contents from chrome://gpu ?
You are correct! Indeed disabling hardware acceleration fixes the issue.

Relaunching Chrome does change my laptop into a steam turbine during startup, but the green is black again.

---

gpu.log attached
gpu.log
8.9 KB View Download
Project Member

Comment 5 by sheriffbot@chromium.org, Aug 24

Cc: kainino@chromium.org
Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Components: -Blink>Image Internals>GPU>Image
Labels: Needs-Feedback
Thanks for the feedback. This is definitely a GPU-acceleration related issue.

Oops, the gpu.log has the data with hardware acceleration disabled. Could you re-enable it, restart Chrome, and capture the chrome://gpu page again? Sorry about that!
Hope this helps.
gpu-hw.log
12.5 KB View Download
Project Member

Comment 8 by sheriffbot@chromium.org, Aug 24

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: ccameron@chromium.org
Labels: GPU-Intel
My first suspicion was that there is something wrong with the color profile configured on the machine, but it looks very similar to what I have on my machine, so that seems unlikely. +ccameron just in case (feel free to un-cc yourself if you think it's not color)

GL_VENDOR	Intel Open Source Technology Center
GL_RENDERER	Mesa DRI Intel(R) HD Graphics 620 (Kaby Lake GT2)
GL_VERSION	3.0 Mesa 18.0.5

Display(s) Information
Info	Display[13702113905344578] bounds=[0,0 1422x800], workarea=[0,0 1422x800], scale=1,8, external.
Color space information	{primaries_d50_referred: [[0.6868, 0.3126], [0.2634, 0.6918], [0.1402, 0.0588]], transfer:0.0000*x + 0.0000 if x < 0.0000 else (1.0000*x + 0.0000)**2.2000 + 0.0000, matrix:RGB, range:FULL}
Bits per color component	8
Bits per pixel	24

For reference, this is from my machine:

Color space information {primaries_d50_referred: [[0.6587, 0.3284], [0.3231, 0.6235], [0.1553, 0.0707]], transfer:0.0000*x + 0.0000 if x < 0.0000 else (1.0000*x + 0.0000)**2.2000 + 0.0000, matrix:RGB, range:FULL}

Yeah, a 2.2 gamma shouldn't be causing issues here. But, just to be sure

What happens if you go to about about:flags and set "force color profile" to sRGB.
Labels: Needs-Feedback
Force color profile to sRGB fixes the problem!

I haven't taken a good look at the change in the rest of the colors due to this profile, but black is black, no more green areas.
Project Member

Comment 13 by sheriffbot@chromium.org, Aug 26

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding the requester to the cc list.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Owner: ccameron@chromium.org
Status: Assigned (was: Unconfirmed)
assigning ccameron for further investigation
Cc: brianosman@google.com mtklein@chromium.org
+mtklein, brianosman -- are there any changes that happened in Skia/SkCMS to cause this in 70?
Labels: -Type-Bug -Pri-3 RegressedIn-70 Pri-2 Type-Bug-Regression
We'd like to investigate this, but it's going to require getting an ICC profile from the submitter. Finding your ICC profile on Linux can be tricky, but it sounds like gnome-color-manager might make it (somewhat) easy to view/change your monitor profiles? If you can find the .icc file that's being used and attach it to this bug, it's likely we can reproduce the problem.
There is no custom ICC profile. Not color-managing my system. I assumed there was a one-size-fits-all fallback ICC in Linux, but it does turn out there is something more tailored to this laptop in use. Where does this file even come from? Does Linux come with a million color profiles? Or is it auto-generated and just filled with the name of this laptop's brand and manufacturer?

Either way, I think this is the file you're looking for.

---

Created: July 21 2018, 08∶32∶57 AM
Version: 4,3
Manufacturer: Lenovo Group Limited
Model: ThinkPad X1 Yoga 2nd
White point: 6500K (D65)
Copyright: This profile is free of known copyright restrictions.

Data Source Type: edid
Mapping Device: xrandr-Lenovo Group Limited

---

I would like to point out that I have installed nothing related to Lenovo or offered from external sites. This is what happens automatically on a default and fresh installation of Linux Mint 19, and since this is a gnome-color-manager thing, I assume Ubuntu 18.04 too.
edid-4284c619b5b0bfcccc27845259c9a95f.icc
1.4 KB Download
Owner: brianosman@google.com
I can reproduce this with the profile from #18, and also with the profile from my own Linux laptop, though there drawing blue where this other draws green.

I can also reproduce these on my Mac by using either profile and SW rendering with GPU compositing (like Linux).  The default GPU rendering with GPU compositing looks fine, as does CPU rendering and CPU compositing, by turning off the Hardware Acceleration switch.

I can _also_ reproduce this (in green, in slightly different areas) when I use the default Mac Adobe RGB (1998) profile.
repro.png
307 KB View Download
xps13.png
317 KB View Download
adobergb.png
313 KB View Download
Owner: mtkl...@google.com
I've got a potential fix at https://skia-review.googlesource.com/c/skia/+/152000

It may take a few days to land and rebaseline in Chromium, and then we'll probably want to cherry pick this to M70.  It's triggered under common enough conditions that it'll be quite noticeable.
Project Member

Comment 23 by bugdroid1@chromium.org, Sep 5

The following revision refers to this bug:
  https://skia.googlesource.com/skcms/+/da4870efd7b777f51335c6baae1eef7a22e9e46b

commit da4870efd7b777f51335c6baae1eef7a22e9e46b
Author: Mike Klein <mtklein@chromium.org>
Date: Wed Sep 05 18:22:11 2018

another profile that reproduces this bug

This one draws blue where the other draws green.

Bug:  chromium:875650 
Change-Id: Id88e623bedb20091a699dcd3f2d2ece853dbbebf
Reviewed-on: https://skia-review.googlesource.com/151860
Auto-Submit: Mike Klein <mtklein@chromium.org>
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>

[modify] https://crrev.com/da4870efd7b777f51335c6baae1eef7a22e9e46b/tests.c
[add] https://crrev.com/da4870efd7b777f51335c6baae1eef7a22e9e46b/profiles/misc/XPS13_9360.icc
[add] https://crrev.com/da4870efd7b777f51335c6baae1eef7a22e9e46b/profiles/misc/XPS13_9360.icc.txt

Project Member

Comment 24 by bugdroid1@chromium.org, Sep 5

The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/c4e4063a846314fc9869557eabe2a9c909261490

commit c4e4063a846314fc9869557eabe2a9c909261490
Author: Mike Klein <mtklein@google.com>
Date: Wed Sep 05 21:51:22 2018

fix sw extended transfer functions

We were not mirroring negative numbers about the y axis.

This is most visible when we hit the gamma-only fast path,
as the linear segment of a 7-parameter function will at
least still produce real-valued colors...

Bug is present when SK_LEGACY_EXTENDED_TRANSFER_FUNCTIONS,
fixed when not.

PS1 forgot from_srgb/to_srgb.

Bug:  chromium:875650 
Change-Id: I84a68be7f6a3cf6e847011cbab5aeab18f7fa38a
Reviewed-on: https://skia-review.googlesource.com/152000
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>

[modify] https://crrev.com/c4e4063a846314fc9869557eabe2a9c909261490/src/opts/SkRasterPipeline_opts.h

Project Member

Comment 25 by bugdroid1@chromium.org, Sep 5

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

commit f65d3e611c4dce936326bf53b5a065babef1129b
Author: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Wed Sep 05 23:51:31 2018

Roll src/third_party/skia 29a4a684af25..0c3dc59fc1c6 (14 commits)

https://skia.googlesource.com/skia.git/+log/29a4a684af25..0c3dc59fc1c6


git log 29a4a684af25..0c3dc59fc1c6 --date=short --no-merges --format='%ad %ae %s'
2018-09-05 swiftshader-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com Roll third_party/externals/swiftshader fe5861bf5bb1..ad5c2952ca88 (5 commits)
2018-09-05 mtklein@google.com fix sw extended transfer functions
2018-09-05 mtklein@google.com fix typo
2018-09-05 mtklein@google.com add src/opts headers to .gni files
2018-09-05 bsalomon@google.com Don't use MEM_MOVE=true with SkTArrays of sk_sp
2018-09-05 jvanverth@google.com Rip out variable offsetting
2018-09-05 bsalomon@google.com Fix GrAAConvexTessellator to handle cases slightly concave bistectors.
2018-09-05 recipe-roller@chromium.org Roll recipe dependencies (trivial).
2018-09-05 herb@google.com Centralize the predicate for a glyph being too large for the atlas
2018-09-05 bsalomon@google.com Fix missing triangle when miter point omitted in GrAAConvexTessellator.
2018-09-05 brianosman@google.com Remove SK_USE_LEGACY_PRIMARIES_TO_XYZ
2018-09-05 skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com Roll skia/third_party/skcms 8a251fa55434..da4870efd7b7 (1 commits)
2018-09-05 caryclark@google.com Revert "makeSurface defaults to raster"
2018-09-05 egdaniel@google.com On GrAHardwareBufferImageGenerator store the owned texture as a GrGpuResource instead of GrTexture.


Created with:
  gclient setdep -r src/third_party/skia@0c3dc59fc1c6

The AutoRoll server is located here: https://autoroll.skia.org/r/skia-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG= chromium:875650 , chromium:851637 ,chromium:b/112859199
TBR=jvanverth@chromium.org

Change-Id: I21e2f158cebeb62dbc38dfafaf9daea314093269
Reviewed-on: https://chromium-review.googlesource.com/1208297
Reviewed-by: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: skia-chromium-autoroll <skia-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#589064}
[modify] https://crrev.com/f65d3e611c4dce936326bf53b5a065babef1129b/DEPS

Labels: Merge-Request-70
Status: Fixed (was: Assigned)
This looks fixed for me now in Canary 71.0.3544.2.

I think we're going to want to backport https://skia-review.googlesource.com/c/skia/+/152000 to M70.
Project Member

Comment 27 by sheriffbot@chromium.org, Sep 6

Labels: -Merge-Request-70 Merge-Review-70 Hotlist-Merge-Review
This bug requires manual review: DEPS changes referenced in bugdroid comments.
Please contact the milestone owner if you have questions.
Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-70 Merge-Approved-70
Approved for M70. 
Project Member

Comment 29 by bugdroid1@chromium.org, Sep 7

Labels: merge-merged-m70
The following revision refers to this bug:
  https://skia.googlesource.com/skia/+/688ab403295dd486218088ee92ad7c738c535b70

commit 688ab403295dd486218088ee92ad7c738c535b70
Author: Mike Klein <mtklein@google.com>
Date: Fri Sep 07 17:37:15 2018

fix sw extended transfer functions

We were not mirroring negative numbers about the y axis.

This is most visible when we hit the gamma-only fast path,
as the linear segment of a 7-parameter function will at
least still produce real-valued colors...

Bug is present when SK_LEGACY_EXTENDED_TRANSFER_FUNCTIONS,
fixed when not.

PS1 forgot from_srgb/to_srgb.

Bug:  chromium:875650 
Change-Id: I84a68be7f6a3cf6e847011cbab5aeab18f7fa38a
Reviewed-on: https://skia-review.googlesource.com/152000
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-on: https://skia-review.googlesource.com/152586

[modify] https://crrev.com/688ab403295dd486218088ee92ad7c738c535b70/src/opts/SkRasterPipeline_opts.h

Project Member

Comment 30 by sheriffbot@chromium.org, Sep 11

Cc: abdulsyed@chromium.org
This issue has been approved for a merge. Please merge the fix to any appropriate branches as soon as possible!

If all merges have been completed, please remove any remaining Merge-Approved labels from this issue.

Thanks for your time! To disable nags, add the Disable-Nags label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Approved-70

Sign in to add a comment