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

Issue 702492 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , All , Chrome , Mac
Pri: 1
Type: Bug-Regression

Blocking:
issue 704571



Sign in to add a comment

Canvas freezes after getImageData -> drawImage

Reported by hamay1...@gmail.com, Mar 17 2017

Issue description

UserAgent: Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36

Steps to reproduce the problem:
1. open URL
https://hamayapp.appspot.com/static/canvas_test.html
2. push buttons
[getImageData] -> [drawImage] -> [fillRect]

What is the expected behavior?
The canvas displays blue and magenta rectangles.

What went wrong?
Nothing is displayed on a canvas.

Did this work before? N/A 

Does this work in other browsers? Yes

Chrome version: 57.0.2987.98  Channel: stable
OS Version: 6.3
Flash Version: 

1. This problem occurs under the following conditions.
A. accelerated-2d-canvas : ON
   (Intel HD Graphics 5500)
B. canvas size > 256 x 256

2. If you push [reflesh screen] button,
the canvas is recovered and displays blue and magenta rectangles.

3. If you move browser window, change browser size or change browser zoom setting,
the canvas is recovered and displays blue and magenta rectangles.
 

Comment 1 by junov@chromium.org, Mar 20 2017

Labels: -Type-Bug -Pri-2 M-57 Needs-Bisect Pri-1 Type-Bug-Regression
Owner: fs...@chromium.org
Status: Assigned (was: Unconfirmed)
I was able to reproduce on Ubuntu.  This is a recent regression. No repro in Chrome 56.

Comment 2 by fs...@chromium.org, Mar 21 2017

Labels: Merge-Request-57
The patch to temporarily disable the new code that caused this regression is already on CQ.

Comment 3 by junov@chromium.org, Mar 21 2017

Fix is extra low risk: https://codereview.chromium.org/2767753002
It just flips a bit that is equivalent to reverting the patch that caused the regression.

Comment 4 by fs...@chromium.org, Mar 21 2017

Labels: Merge-Request-58

Comment 5 by fs...@chromium.org, Mar 21 2017

Labels: -OS-Windows OS-All
Labels: ReleaseBlock-Stable
I am marking this bug as release block stable so that it won't miss.

Comment 7 by fs...@chromium.org, Mar 21 2017

Just to reaffirm: this is a one liner that disables a new code path that caused the regression, very safe merge and has potential to be a critical bug.
So we are planning to merge 57, 58 tomorrow.

Comment 8 by gov...@chromium.org, Mar 21 2017

Cc: keta...@chromium.org amineer@chromium.org
Labels: OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows
Project Member

Comment 10 by bugdroid1@chromium.org, Mar 22 2017

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

commit ea6a16123f90b39e8de13c65cf04935107d252ae
Author: fserb <fserb@chromium.org>
Date: Wed Mar 22 04:15:36 2017

Disables EnableAccelerationToAvoidReadbacks due to regression

BUG= 702492 

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

[modify] https://crrev.com/ea6a16123f90b39e8de13c65cf04935107d252ae/third_party/WebKit/Source/platform/graphics/ExpensiveCanvasHeuristicParameters.h

Project Member

Comment 11 by sheriffbot@chromium.org, Mar 22 2017

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

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: ranjitkan@chromium.org
Rechecked this issue on chrome canary version 59.0.3048.0 on Windows 10, MAC 10.12.2, Ubuntu 14.04. Still able to reproduce it. Pushed buttons in the below format:
[getImageData] -> [drawImage] -> [fillRect]

Nothing is displayed on the canvas. Clicking [reflesh screen] button displays canvas. 

Appears that the change has not made it to canary 59.0.3048.0(Branch Base Position:458590)

Thanks.!


Comment 13 by fs...@chromium.org, Mar 22 2017

The CQ yesterday was completely broken (apparently the Sheriff decided to take a day off and the sheriff dashboard had 30 issues or so). My change was sent 5pm (EST) and got in almost 1am. There's a chance it didn't get into the canary cut.
Yeah, that patch didn't make last night's canary.
Labels: -Merge-Request-57 Merge-Approved-57
After discussing with dev, this should be entirely safe to merge and will definitely stop a regression, so we'll take it.
Project Member

Comment 16 by bugdroid1@chromium.org, Mar 22 2017

Labels: -merge-approved-58 merge-merged-3029
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/732886833918962609cf5e6d25398c8e02b06e1d

commit 732886833918962609cf5e6d25398c8e02b06e1d
Author: Fernando Serboncini <fserb@google.com>
Date: Wed Mar 22 18:14:52 2017

Disables EnableAccelerationToAvoidReadbacks due to regression

BUG= 702492 

Review-Url: https://codereview.chromium.org/2767753002
Cr-Commit-Position: refs/heads/master@{#458623}
(cherry picked from commit ea6a16123f90b39e8de13c65cf04935107d252ae)

Review-Url: https://codereview.chromium.org/2772453002 .
Cr-Commit-Position: refs/branch-heads/3029@{#365}
Cr-Branched-From: 939b32ee5ba05c396eef3fd992822fcca9a2e262-refs/heads/master@{#454471}

[modify] https://crrev.com/732886833918962609cf5e6d25398c8e02b06e1d/third_party/WebKit/Source/platform/graphics/ExpensiveCanvasHeuristicParameters.h

Project Member

Comment 17 by bugdroid1@chromium.org, Mar 22 2017

Labels: -merge-approved-57 merge-merged-2987
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/de09eb6ac6dc14ac4c2ba215138ca90b621686d7

commit de09eb6ac6dc14ac4c2ba215138ca90b621686d7
Author: Fernando Serboncini <fserb@google.com>
Date: Wed Mar 22 18:19:44 2017

Disables EnableAccelerationToAvoidReadbacks due to regression

BUG= 702492 

Review-Url: https://codereview.chromium.org/2767753002
Cr-Commit-Position: refs/heads/master@{#458623}
(cherry picked from commit ea6a16123f90b39e8de13c65cf04935107d252ae)

Review-Url: https://codereview.chromium.org/2767993002 .
Cr-Commit-Position: refs/branch-heads/2987@{#861}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[modify] https://crrev.com/de09eb6ac6dc14ac4c2ba215138ca90b621686d7/third_party/WebKit/Source/platform/graphics/ExpensiveCanvasHeuristicParameters.h

Comment 18 by fs...@chromium.org, Mar 22 2017

Merged on both branches. I'll keep this bug not-closed to track the actual fix.

hamay1010, you are a rockstar for reporting this! Thanks a lot!
Status: Fixed (was: Assigned)
Spoke with fserb@; we'll mark this as fixed so it stops showing up in our release blocking queries, and fserb@ will file a new bug to follow up on re-enabling the functionality once the bug is addressed.
Labels: TE-Verified-M59 TE-Verified-57.0.2987.123 TE-Verified-M57 TE-Verified-59.0.3049.0
Rechecked this issue on chrome version 59.0.3049.0 on Windows 10, MAC 10.12.3, Ubuntu 14.04 and on Stable version 57.0.2987.123 on Windows 10, MAC 10.12.3, Ubuntu 14.04, Chrome OS Minnie. Fix is working as intended. Adding TE-verified labels.

Thanks.!

Comment 21 by fs...@chromium.org, Mar 23 2017

Blocking: 704571
Verified on CrOS 9202.56.1/Chrome 57.0.2987.123 - Peppy, Paine
Thank you for fixing the bug. 
Requesting postmortem for this please see go/chrome-postmortems for the process to follow).
Cc: rbasuvula@chromium.org
Labels: TE-Verified-M58 TE-Verified-58.0.3029.41
Tested the issue on Windows-10&7, Ubuntu 14.04 and Mac OS 10.12.3 using chrome latest Beta M58-58.0.3029.41 by following steps mentioned in the original comment. Observed that canvas is displaying colors as expected. Hence adding TE-Verified label.

Please find the screen shot for reference.

Thank you!
702492.png
96.6 KB View Download
I found the issue was solved. Thanks!
(57.0.2987.133 stable, automatically updated)

Postmortem at http://go/chromepostmortem389

Sign in to add a comment