New issue
Advanced search Search tips

Issue 819211 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug-Regression



Sign in to add a comment

linecap on a long path

Reported by pa...@blacklabel.pl, Mar 6 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36

Steps to reproduce the problem:
1. Open jsFiddle in Chrome: http://jsfiddle.net/BlackLabel/kpq4wfLq/

What is the expected behavior?
Open jsFiddle in Firefox: http://jsfiddle.net/BlackLabel/kpq4wfLq/

What went wrong?
Chrome Version       : 64.0.3282.186
URLs : http://jsfiddle.net/BlackLabel/kpq4wfLq/
Other browsers tested:
     Safari 11.0.3: OK
     Firefox 58.0.2: OK
     Chrome : FAIL

What is the expected result?

Line should not be filled with blue color.

What happens instead?

Line renders like a closed one, with fill.

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

It looks like something is wrong with graphics acceleration: when disabled in advanced options for Chrome - it works fine.

Important: Only Chrome on Mac renders incorrectly, but not all versions of OS/browser. Most probably bug was introduced in v63 - we didn't receive similar reports before 13.12.2017. I was able to test this issue with Chrome v60.0.3112.113  - it works fine.

The main issue here seems to be a combination of stroke-width and stroke-linecap. If we decrease stroke-width, or change stroke-linceap it works fine.

More details (and tested browser/OS) can be found here:
- https://github.com/highcharts/highcharts/issues/7528
- https://github.com/highcharts/highcharts/issues/7662

Did this work before? Yes 60.0.3112.113 

Does this work in other browsers? Yes

Chrome version: 64.0.3282.186  Channel: stable
OS Version: OS X 10.11.6
Flash Version:
 
Screen Shot 2018-03-06 at 13.24.20.png
11.5 KB View Download

Comment 1 by f...@opera.com, Mar 6 2018

Components: Internals>GPU>Rasterization
Labels: Needs-Bisect
Could you try disabling hardware acceleration and see if that "fixes" the issue? (I think this issue has been reported before, and probably fixed as well.)
Do you mean hardware acceleration in Chrome? Yes, as I said:

> It looks like something is wrong with graphics acceleration: when disabled in advanced options for Chrome - it works fine.

I was looking for the same issue, if this is a duplicate - my apologies.

Comment 3 by f...@opera.com, Mar 6 2018

Sorry, I missed that line. Thanks for the confirmation! (And it's not always easy to find dupes for issues like this...)
Labels: Needs-Triage-M64
Cc: susan.boorgula@chromium.org
Labels: Triaged-ET Needs-Feedback
pawel@ Thanks for the issue.

Tested this issue on Mac OS 10.12.6 and Windows 10 on the reported version 64.0.3282.186, latest Stable 65.0.3325.146 and Canary 67.0.3362.0 and unable to reproduce the issue.

On opening the given JSfiddle on Chrome with Hardware Acceleration enabled, can observe the same behavior as in Firefox.
Attached is the screencast for reference.

Request you to retry the issue on a new chrome profile without any flags/extensions and update the thread with the observations.

Thanks..
819211.mp4
1.1 MB View Download
Hi Susan,

Thank you for the answer. Attaching screencast, two flags were enabled:
- --enable-gpu-rasterization
- --ignore-gpu-blacklist

Disabling --ignore-gpu-blacklist resolves the issue. I will ask users who reported the issue if they could check if it's not the same for them.
Screen Capture 0.mov
8.8 MB View Download
Project Member

Comment 7 by sheriffbot@chromium.org, Mar 7 2018

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: senorblanco@chromium.org
The screencasts show Chrome 64. This seems likely to be related to fixes made by senorblanco@ to the tessellated path renderer which would be fixed in Canary.
Components: -Blink>SVG
But doesn't the comment #6 imply the issue is with software raster?
Labels: TE-Hardware-Dependency
Retried this issue again on Mac 10.12.6 on the reported version 64.0.3282.186 and the latest Canary 67.0.3364.0 by enabling the flags 'gpu-rasterization' and 'ignore-gpu-blacklist' as per comment #6.

Could observe that the line is rendering without any issues on opening the JSfiddle on Chrome.
Attached is the screen cast for reference.

Looks like the issue is reproducible only on Mac OS 10.11. Hence adding 'TE-Hardware-Dependency' for further help in triaging this issue.

Thanks..
Issue-819211.mp4
2.2 MB View Download
Hi. I have a demo that displays the issue for me on my machine.

I see the issue on Windows 10 Pro, with dual GPUs, a GTX570 and a GTX750Ti. I am using the 23.21.13.8813 driver from 10/27/2017.

https://www.davidpayne.net/highstockbug/

Each chart is titled with the effect I see.

Google Chrome	65.0.3325.146 (Official Build) (64-bit) (cohort: 65_win_146)
Revision	f926414266f7aecb5ec1bf1b5f93f8716976ceef-refs/branch-heads/3325@{#669}
OS	Windows
JavaScript	V8 6.5.254.31
Flash	28.0.0.161 C:\Users\David\AppData\Local\Google\Chrome\User Data\PepperFlash\28.0.0.161\pepflashplayer.dll
User Agent	Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36
Command Line	"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --flag-switches-begin --flag-switches-end

If I disable "enable hardware acceleration" in the advanced settings, the issue is resolved. This points to a bug with the hardware renderer.

The issue is still there for me on a blank guest profile.

I tried starting chrome with the commandline switches "--enable_gpu-rasterization --ignore-gpu-blacklist". The issue is there whether I started chrome with those switches or not. (Oddly in both cases I didn't see the switches listed on the chrome://version page. Is there a different way to enable them?"

Those switches would force on GPU raster if your system otherwise disabled it, which wouldn't be the case on Windows with those NV GPUs. (Also it's --enable-gpu-rasterization, no underscore).

Could you try the Canary channel? https://www.google.com/chrome/browser/canary.html
It's still broken on Canary.
Capture.PNG
31.5 KB View Download
Also, I should add the I verified the issue is there regardless of which screen I have the window on (and therefore which GPU is rendering it).
Thank you for all of the answers.

It looks like issue is connected to the hardware, not OS. From the issue reported on Highcharts repo: https://github.com/highcharts/highcharts/issues/7662 we can see that some of the pc's/macs are ok:

Could reproduce on:

- 2017 Macbook Pro with 2.9 GHz i7, 16GB Ram, basic graphics setup, MacOS High Sierra
- 2017 iMac Pro with 3.2 GHz Intel Xeon W, 32GB Ram, graphics Radeon Pro Vega 56 8 GB, MacOS High Sierra
- Windows 10 Home (64), Intel i7 7700K, 16GB Ram, Nvidia GeForce GTX 1080
- Windows 10 Home (64), Intel i7-6700, 16 GB Ram, AMD Radeon RX 480

Couldn't reproduce on:

- MacBook Pro (Retina, 13-inch, Early 2015) with 2.9 GHz Intel Core i5, 8 GB Ram, Intel Iris Graphics 6100 1536 MB, MacOS Sierra
- MacBook Air (11-inch, Mid 2012) with 2 GHz Intel Core i7, 8 GB 1600 MHz DDR3, Intel HD Graphics 4000 1536 MB, MacOS Sierra 1-.12.6
- MacBook Pro (Retina, 13-inch, Early 2015) with 2.7GHz Intel Core i5, 8 GB RAM, Intel Iris Graphics 6100 1536 MB, OSX El Capitan (10.11.6) - the same version as originally posted. Important: It works without issues on the same machine with Chrome 60.0.3112.113 (flag "--ignore-gpu-blacklist" doesn't change anything).
The non-repro machines all have Intel GPUs. We never use MSAA on Intel. I just tried reproducing on a local build on my linux machine with an NVIDIA GPU using "--ignore-gpu-blacklist --force-gpu-rasterization --gpu-rasterization-msaa-sample-count=4" but I didn't get a repro.
I got a repro with those switches on a PC running Windows 10 Enterprise, Chrome 64, GTX 970.



Capture.PNG
113 KB View Download
Owner: bsalo...@google.com
Status: Assigned (was: Unconfirmed)
[GPU bug triage] -> bsalomon@

Can you find the right owner for this? Maybe we ought to try the exact OS/hardware combination listed above. I'll give a quick try on my Windows 10 / Nvidia Quadro workstation later today.
Cc: -senorblanco@chromium.org bsalo...@google.com
Owner: senorblanco@chromium.org
I'm able to repro using ToT Chrome on a Mac Pro with "ATI Radeon HD 5770 OpenGL Engine" using the command line options from #16.

If I make GrTessallatingPathRenderer::onCanDrawPath() always return CanDrawPath::kNo then I no longer get a repro.
I had to add a few more (short) paths to get this to reliably trigger MSAA in Chrome: http://jsfiddle.net/pe6ctk9h/
Actually, I take that back -- my modified test case in #21 is only repro'ing the regression because I inadvertently removed the fill="none" from the last path, so it's filling with black. I'm still having trouble repro'ing this issue with recent builds (or any builds, when bisecting).
Seems like something on this page now has non-antialiased drawing (content_has_non_aa_paint_), which means we never get MSAA, so we don't see the bug. Still want to find out if it's fixed or not, though.
After updating to the latest Chrome this problem is still not fixed: http://jsfiddle.net/928dxs0q/
Could you try with the latest Chrome Canary? It can be installed side-by-side without affecting your stable build on Windows, Mac or Android. https://www.google.com/chrome/browser/canary.html

Although I still can't repro the original test case (which is odd, because I was able to do so when I did the bisect in #20), the example in #11 (https://www.davidpayne.net/highstockbug/) seems to have been fixed. Bisecting says it was fixed in https://chromium.googlesource.com/chromium/src/+log/1f38887a78648843d420a19a2a312387d67f4c05..8a14a1a617796d821879912fbc3876bcf795087b, likely by https://skia.googlesource.com/skia.git/+/531a48ed788c5fabfe21704286b54d7567f35469. 


Status: Fixed (was: Assigned)
I'm going to mark this as fixed. Please reopen if you still see this issue in recent Canary builds.

Sign in to add a comment