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

Issue 866010 link

Starred by 15 users

Issue metadata

Status: Verified
Owner:
Closed: Jul 26
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 0
Type: Bug-Regression



Sign in to add a comment

Attempting to change Display resolution freezes Chrome

Reported by david.st...@gmail.com, Jul 20

Issue description

UserAgent: Mozilla/5.0 (X11; CrOS aarch64 10891.0.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3494.0 Safari/537.36
Platform: 10891.0.0 (Official Build) canary-channel elm

Steps to reproduce the problem:
1. Open settings and change the display resolution.
2. 
3. 

What is the expected behavior?
Display resolution should change.

What went wrong?
Chrome freezes and requires a reset (refresh+power). This also happens when using CTRL + Shift + + to change the resolution.
The last time I did this and performed the reset, Chrome restarted but would go no further than the Chrome splash screen, requiring a powerwash to recover.

Did this work before? Yes Not sure but several updates ago.

Chrome version: 69.0.3494.0  Channel: canary
OS Version: 10891.0.0
Flash Version: 30.0.0.134

I have had to do 2 powerwashes in the last few days due to this freezing.
 
Not that I can capture anything at the time of the occurrence but I just did a feedback report. 2 minutes ago with this email address.
Components: UI>HighDPI
Just went through another lockup after trying a CTRL + SHIFT + screen resolution change. On reboot, Chrome freezes at the splash screen.
Acer R13 elm
This is absolutely reproducible. I am in developer mode and on Canary. This requires a Powerwash to recover (2 Powerwashes if going back to developer mode).
I am willing to do whatever steps might be needed to track this down.
Cc: steve...@chromium.org ajha@chromium.org afakhry@chromium.org malaykeshav@chromium.org osh...@chromium.org
 Issue 866017  has been merged into this issue.
Labels: -Pri-2 Pri-1
Owner: malaykeshav@chromium.org
Status: Started (was: Unconfirmed)
 Issue 866288  has been merged into this issue.
If your screen stops updating, try pressing Control-Shift-0
Labels: -Pri-1 Pri-0
Labels: M-69 Merge-Request-69
Cc: ka...@chromium.org matthewjoseph@chromium.org cindyb@chromium.org pgangishetty@chromium.org dhadd...@chromium.org josa...@chromium.org marc...@chromium.org
 Issue 867178  has been merged into this issue.
Labels: -Merge-Request-69 Merge-Approved-69
Merge approved for M69.
Project Member

Comment 13 by bugdroid1@chromium.org, Jul 25

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

commit 48d26c3d8f9f81fe52e33abe390ba235e42b65bf
Author: Michael Spang <spang@chromium.org>
Date: Wed Jul 25 20:39:58 2018

Revert "Set correct pixel size for the compositor"

This reverts commit c1a826ab79d4303ddd87bbbf4f6d38995c4bcd36.

Reason for revert: Screen stops updating on some devices with non default scale factor

Bug:  866010 

Original change's description:
> Set correct pixel size for the compositor
> 
> Right now we clip(GL_SCISSOR) the display buffer based on the physical
> pixel size of the display. The pixel size we send to the ui compositor
> is the size we receive from the platform window(the display in Chrome
> OS). However, this may not be what we want if the platform has some
> fractional scale applied.
> 
> UI elements have their sizes set in DIP. If some UI element (ui::Layer)
> has its size set to the DIP size of the display, their scaled size
> (the pixel size after applying device scale factor) after rounding may
> not match the physical pixel size of the display. This difference may
> lead to 1px lines left unclipped. This happens in the case of the shelf
> whose width is set to the width of the display. For a device like eve
> where the internal display has a physical resolution width of 2400px,
> if a device scale of 1.8 is applied, the DIP width of the display
> becomes 1333. We set the bounds of the shelf to this. Now when we do
> the actual paint, we scale the shelf to its physical pixel size which
> is ROUND(1333*1.8) = 2399. At the same time the compositor will clip
> things at width 2400. This difference is what gives the shelf a 1px
> gap.
> 
> A proper way to fix this is to scale ui::Layer bounds such that it
> snaps to the parent's or displays edge similar to what pixel canvas
> does in views::View. However, that is a large change. In the meantime
> this patch sets the correct physical pixel size for the compositor so
> that correct clipping happens.
> 
> Bug:  843354 
> Change-Id: Ic9e055c0ba39d85a7297809baf946398bf09f40a
> Component: UI compositor, pixel canvas, scaling, HiDPI
> Reviewed-on: https://chromium-review.googlesource.com/1130495
> Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Malay Keshav <malaykeshav@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#575402}

TBR=oshima@chromium.org,thakis@chromium.org,malaykeshav@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  843354 
Change-Id: If6d8e5649f37ec2cece1411419ca2db61daf06c8
Reviewed-on: https://chromium-review.googlesource.com/1150251
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#578042}
[modify] https://crrev.com/48d26c3d8f9f81fe52e33abe390ba235e42b65bf/ash/host/ash_window_tree_host_platform.cc
[modify] https://crrev.com/48d26c3d8f9f81fe52e33abe390ba235e42b65bf/ash/host/ash_window_tree_host_platform.h
[modify] https://crrev.com/48d26c3d8f9f81fe52e33abe390ba235e42b65bf/ui/aura/window_tree_host.cc
[modify] https://crrev.com/48d26c3d8f9f81fe52e33abe390ba235e42b65bf/ui/aura/window_tree_host.h

Project Member

Comment 14 by bugdroid1@chromium.org, Jul 25

Labels: -merge-approved-69 merge-merged-3497
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/01f811977e700cbafa5cd3087b53cea6940dd23f

commit 01f811977e700cbafa5cd3087b53cea6940dd23f
Author: Michael Spang <spang@chromium.org>
Date: Wed Jul 25 20:48:39 2018

Revert "Set correct pixel size for the compositor"

This reverts commit c1a826ab79d4303ddd87bbbf4f6d38995c4bcd36.

Reason for revert: Screen stops updating on some devices with non default scale factor

Bug:  866010 

Original change's description:
> Set correct pixel size for the compositor
>
> Right now we clip(GL_SCISSOR) the display buffer based on the physical
> pixel size of the display. The pixel size we send to the ui compositor
> is the size we receive from the platform window(the display in Chrome
> OS). However, this may not be what we want if the platform has some
> fractional scale applied.
>
> UI elements have their sizes set in DIP. If some UI element (ui::Layer)
> has its size set to the DIP size of the display, their scaled size
> (the pixel size after applying device scale factor) after rounding may
> not match the physical pixel size of the display. This difference may
> lead to 1px lines left unclipped. This happens in the case of the shelf
> whose width is set to the width of the display. For a device like eve
> where the internal display has a physical resolution width of 2400px,
> if a device scale of 1.8 is applied, the DIP width of the display
> becomes 1333. We set the bounds of the shelf to this. Now when we do
> the actual paint, we scale the shelf to its physical pixel size which
> is ROUND(1333*1.8) = 2399. At the same time the compositor will clip
> things at width 2400. This difference is what gives the shelf a 1px
> gap.
>
> A proper way to fix this is to scale ui::Layer bounds such that it
> snaps to the parent's or displays edge similar to what pixel canvas
> does in views::View. However, that is a large change. In the meantime
> this patch sets the correct physical pixel size for the compositor so
> that correct clipping happens.
>
> Bug:  843354 
> Change-Id: Ic9e055c0ba39d85a7297809baf946398bf09f40a
> Component: UI compositor, pixel canvas, scaling, HiDPI
> Reviewed-on: https://chromium-review.googlesource.com/1130495
> Reviewed-by: Mitsuru Oshima <oshima@chromium.org>
> Reviewed-by: Nico Weber <thakis@chromium.org>
> Commit-Queue: Malay Keshav <malaykeshav@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#575402}

TBR=malaykeshav@chromium.org, oshima@chromium.org, spang@chromium.org, thakis@chromium.org


(cherry picked from commit 48d26c3d8f9f81fe52e33abe390ba235e42b65bf)

Bug:  843354 
Change-Id: If6d8e5649f37ec2cece1411419ca2db61daf06c8
Reviewed-on: https://chromium-review.googlesource.com/1150251
Reviewed-by: Michael Spang <spang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#578042}
Reviewed-on: https://chromium-review.googlesource.com/1150682
Cr-Commit-Position: refs/branch-heads/3497@{#86}
Cr-Branched-From: 271eaf50594eb818c9295dc78d364aea18c82ea8-refs/heads/master@{#576753}
[modify] https://crrev.com/01f811977e700cbafa5cd3087b53cea6940dd23f/ash/host/ash_window_tree_host_platform.cc
[modify] https://crrev.com/01f811977e700cbafa5cd3087b53cea6940dd23f/ash/host/ash_window_tree_host_platform.h
[modify] https://crrev.com/01f811977e700cbafa5cd3087b53cea6940dd23f/ui/aura/window_tree_host.cc
[modify] https://crrev.com/01f811977e700cbafa5cd3087b53cea6940dd23f/ui/aura/window_tree_host.h

This is fixed and merge.

If your system is experiencing this issue, you do not need to go through recovery.

Press Control-Shift-0 to recover, then either downgrade to beta-channel or wait for the next dev-channel release.

Labels: ReleaseBlock-Dev
Marking this with blocker label as today's CrOS dev was canceled due to this bug.
Control-Shift-0 works. Thanks. Should have thought to try that but I was also interested in timing how long it took to get back up and running. 20 minutes. What windows user wouldn't like to recover from a complete meltdown in 20 minutes. ;-)
Today's update appears to have fixed the issue.
Cc: vaandres@chromium.org
Status: Fixed (was: Started)
changed status to fixed, so it can be marked as verified
+vaandres to verifed.
Status: Verified (was: Fixed)
Verified the fix using chromebooks and chromebox
Issue 861959 has been merged into this issue.
 Issue 865862  has been merged into this issue.
 Issue 866375  has been merged into this issue.

Sign in to add a comment