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

Issue 803368 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 1
Type: Compat



Sign in to add a comment

Canvas drawing issues

Reported by gmia...@opera.com, Jan 18 2018

Issue description

UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36 OPR/50.0.2762.45

Example URL:
http://beta.speedtest.net/

Steps to reproduce the problem:
1. Open http://beta.speedtest.net/
2. Start the speed test
3. Observe the speed test progress

What is the expected behavior?
No issues with drawing <canvas>

What went wrong?
Black rectangles on canvas

Does it occur on multiple sites: N/A

Is it a problem with a plugin? No 

Did this work before? Yes 

Does this work in other browsers? N/A

Chrome version: 65.0.3322.3  Channel: dev
OS Version: 10.0
Flash Version: 

Works fine on current chromium beta.
 
GPU-config.pdf
135 KB Download
canvas_issue.png
854 KB View Download

Comment 1 by gmia...@opera.com, Jan 18 2018

Disabling flag disable-accelerated-2d-canvas fixes this issue.
Labels: Needs-Bisect Needs-Triage-M65
Cc: sc00335...@techmahindra.com junov@chromium.org
Components: Blink>Canvas
Labels: -Needs-Bisect Triaged-ET M-65 hasbisect
Status: Untriaged (was: Unconfirmed)
Able to reproduce this issue on reported version 65.0.3322.3 and on latest dev 65.0.3325.0 using Windows 10. Issue is not seen in Linux and Mac.

Good Build:65.0.3294.0
Bad Build:65.0.3295.0

Unable to provide per-revision bisect as all the tabs get crashed on invoked builds.Hence tried chromium bisect,but issue is inconsistent in chromium builds. Hence providing manual CL.

CR:https://chromium.googlesource.com/chromium/src/+log/65.0.3294.0..65.0.3295.0?pretty=fuller&n=10000

Unable to find suspect from manual CL. Could someone from Blink>Canvas team look into this issue.

Comment 4 by junov@chromium.org, Jan 28 2018

Labels: -Pri-2 Pri-1
Owner: xlai@chromium.org
Status: Assigned (was: Untriaged)

Comment 5 by xlai@chromium.org, Jan 31 2018

Labels: -hasbisect Needs-Bisect
I am unable to reproduce the "black rectangles on canvas" in Canary on Windows 10. I am able to see the progress graph growing from left to right smoothly.
Is this problem already solved on tip of tree? If it is already solved, I think we needs to do bisecting between the bad build and the tip of tree to find out who solved it.
Cc: -junov@chromium.org xlai@chromium.org
Labels: -Needs-Bisect hasbisect
Owner: junov@chromium.org
As per comment#5 checked the issue on latest canary 66.0.3335.0 using windows 10 and is fixed here. But reproducible on reported version 65.0.3322.3. Hence providing reverse bisect info.

Last Bad Build: 66.0.3329.0
First Good Build: 66.0.3330.0

On performing per-revision bisect,IO error is seen and issue is not reproducible on chromium builds. Hence providing Manual changelog

CR:https://chromium.googlesource.com/chromium/src/+log/66.0.3329.0..66.0.3330.0?pretty=fuller&n=10000

Suspecting https://chromium-review.googlesource.com/881304 from changelog.

@junov: Please confirm whether this is safe to merge to M65. 

Thanks!

Labels: Target-65 FoundIn-65

Comment 8 by junov@chromium.org, Feb 5 2018

Status: Started (was: Assigned)
That change would be safe to merge, but we must first confirm that this is indeed what fixed the problem.  Must test locally, and do a per-rev bisect if necessary.

Comment 9 by junov@chromium.org, Feb 6 2018

Labels: Merge-Request-65 OS-Linux
Was able to repro on linux.

Bisecting on the chromium build archive narrowed the regression range.

https://chromium.googlesource.com/chromium/src/+log/f3d4dd7d52ca92ae3ba9f1bbc6069c6b7bb0245f..9992fdc60e6ddd5e99e4bacde183fea582e3a653

This confirms that the issue is fixed by: https://chromium.googlesource.com/chromium/src/+/86e1b7f9556ded0dbcd745f079a0cb92610c5f6b

Requesting permission to merge to M65.

This is a small low risk fix.
Project Member

Comment 10 by sheriffbot@chromium.org, Feb 7 2018

Labels: -Merge-Request-65 Hotlist-Merge-Approved Merge-Approved-65
Your change meets the bar and is auto-approved for M65. Please go ahead and merge the CL to branch 3325 manually. Please contact milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Pls merge your change to M65 branch 3325 ASAP so we can pick it up for next M65 Beta release. Thank you.
Labels: -Merge-Approved-65 merge-merged-3325
Status: Fixed (was: Started)
The CL was already merged due to merge approval on its original bug.
See  issue 796838 

Copy/Paste:
===========

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

commit 3ffbc5859a88276f0c64d2448772f267fd958f6c
Author: Justin Novosad <junov@chromium.org>
Date: Wed Feb 07 18:13:34 2018

Fix 2D canvas flashing black

When CanvasResource was refactored by this CL:
https://chromium.googlesource.com/chromium/src/+/2e4a432454ac3f04d6c5fa8f17c49ce3026217d6
We when from using SkImage to using StaticBitmapImage.  For tracking
texture resources. StaticBitmapImage benefits from a mailbox caching
mechanism implemented in GraphicsContext3DUtils, so when the underlying
GrTexture object is recycled, GraphicsContext3DUtils retrieves the
old mailbox name from its cache.  When CanvasResource was transition
to use StaticBitmapImage we needed to stop disassociating mailbox names
during tear down because it invalidate the mailboxes cached by
GraphicsContext3DUtils.

The test that verifies that mailbox names are not leaked was modified
to expect mailbox disassociation to be triggered by GrTexture
destruction rather than CanvasResource destruction.

BUG=  796838  

(cherry picked from commit 86e1b7f9556ded0dbcd745f079a0cb92610c5f6b)

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2
Change-Id: Idff59a57a5acee08a7b7573e3b34593aa1938fa5
Reviewed-on: https://chromium-review.googlesource.com/881304
Reviewed-by: Fernando Serboncini <fserb@chromium.org>
Commit-Queue: Justin Novosad <junov@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#531352}
Reviewed-on: https://chromium-review.googlesource.com/907208
Reviewed-by: Justin Novosad <junov@chromium.org>
Cr-Commit-Position: refs/branch-heads/3325@{#363}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
[modify] https://crrev.com/3ffbc5859a88276f0c64d2448772f267fd958f6c/third_party/WebKit/Source/platform/graphics/CanvasResource.cpp
[modify] https://crrev.com/3ffbc5859a88276f0c64d2448772f267fd958f6c/third_party/WebKit/Source/platform/graphics/CanvasResourceTest.cpp

Sign in to add a comment