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

Issue 737114 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Screen shots in card stack are just showing blank white page after upgrading to 61.0.3136.0 from previous version of 61

Project Member Reported by linds...@chromium.org, Jun 27 2017

Issue description

App Version:61.0.3136.0
iOS Version: 10.3.3 beta 4
Device: iPhone7
URL: n/a

Steps to reproduce:
  1. Open a lot of tabs in an older version of M61
  2. Check that all screenshots are showing
  3. Upgrade to 61.0.3136.0
  4. Go into tab switcher mode

Observed results:
Notice all the tabs are showing a blank white screenshot. If you go into one of the tabs and elt the page load, after that you'll get a new screenshot for that page reflecting the webpage. But until you open and refresh each tab they are just showing as blank.

Expected results:
All tab screenshots should be maintained between upgrades.

Number of times you were able to reproduce: 5/5
Bug reproducible after clean install: No only on upgrade so far
Bug reproducible after clearing cache and cookies: Yes
Observed behavior in Chrome Mobile on Android: n/a
Check for similar behavior on Firefox/Safari: n/a
Bug reproducible on current stable build (App Version, iOS Version): No M59
Bug reproducible on the current beta channel (dogfoody) build (App Version, iOS Version): No M60

Screenshot: https://drive.google.com/file/d/0By4O1f2IQqQ_bTZNc0NndnJZbm8/view

 

Comment 1 by sczs@chromium.org, Jun 28 2017

Cc: jif@chromium.org
Labels: ReleaseBlock-Stable M-61
Owner: edchin@chromium.org
Status: Assigned (was: Untriaged)
edchinh@ do you think this might be related to your snapshot changes? PTAL

Comment 2 by cma...@chromium.org, Jul 18 2017

Hey Ed, is there any update here?

Comment 3 by edchin@chromium.org, Jul 25 2017

Working on this.

Comment 4 by edchin@chromium.org, Jul 25 2017

I'm not able to reproduce on an iPhone6 with iOS 10.0.2. (I don't have the exact specs you have, but can get it if needed.) 

I tested upgrading by installing 61.0.3113.0, completing the steps above, then upgrading to 61.0.3136.0. Both binaries are from pantheon. 

Here is a video: https://drive.google.com/open?id=0BwS6YyQeisH5Q3htaWZmVThMZ1k

However, I was able to reproduce a similar issue without any upgrading on the older version of M61. The screenshots are blank after closing the app from the tabswitcher. Here is a video: https://drive.google.com/open?id=0BwS6YyQeisH5NVhkMkp6VTdrbUk. 

lindsayw@, what do you make of this? Should I explore whether a device with your exact specifications is the issue?

Comment 5 by cma...@chromium.org, Jul 27 2017

Cc: linds...@chromium.org

Comment 6 by edchin@chromium.org, Jul 27 2017

Cc: edchin@chromium.org
sdefresne@, I believe the root cause of this issue is a bug introduced by a CL that cleans up TabModel -dealloc and -browserStateDestroyed. 
https://codereview.chromium.org/2885803002/

Here is how to reproduce without needing to upgrade:
(1) Open a few tabs with screenshots
(2) Open the stack view and verify screenshots
(3) Kill the app while stack view is visible
(4) Launch the app and tap on the stack view

What is the expected result?
The screenshots should be visible.

What happens instead?
The screenshots are blank.

Comment 7 by edchin@chromium.org, Jul 29 2017

Owner: sdefresne@chromium.org
sdefresne@, PTAL the fix CL that I sent to you. I am assigning this bug to you now. 

Comment 8 by edchin@chromium.org, Jul 29 2017

Owner: edchin@chromium.org
Nevermind, I'll make the necessary changes.
How is this going Ed?

Comment 10 by pkl@chromium.org, Aug 1 2017

Status: Started (was: Assigned)
Do we know if this is reproducible in M60?
Let's confirm this, but would really like to fix this for M61.
I can reproduce this in M60 as well by killing the app from the app switcher.  When you relaunch, snapshots are gone.
rohitrao@ and I discussed a low risk solution, which I am implementing now.
CL is ready for review.
Project Member

Comment 14 by bugdroid1@chromium.org, Aug 7 2017

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

commit d66e03684dd1050562a3b2689f4c75d5e4c0e2e8
Author: edchin <edchin@chromium.org>
Date: Mon Aug 07 21:04:45 2017

[ios] Fix blank snapshots after killing application.

The destruction of tabs should differentiate between user initiated
destruction vs. teardown due to shutdown of the app. When a user
initiates closing a tab, saved snapshots should be cleaned up.
However, when the application is shutdown, the teardown of the tab
should not delete the snapshot file.

This CL adds an -isShuttingDown flag to ApplicationContext. The flag
is set during shutdown in MainController. The flag is used inside
Tab's shutdown method to differentiate the two code paths.

Bug:  737114 
Change-Id: Ic06e0a8ccee17b242af83e4f391fae386c064a2b
Reviewed-on: https://chromium-review.googlesource.com/597407
Commit-Queue: Ed Chin <edchin@chromium.org>
Reviewed-by: Rohit Rao (ping after 24h) <rohitrao@chromium.org>
Cr-Commit-Position: refs/heads/master@{#492406}
[modify] https://crrev.com/d66e03684dd1050562a3b2689f4c75d5e4c0e2e8/ios/chrome/app/main_controller.mm
[modify] https://crrev.com/d66e03684dd1050562a3b2689f4c75d5e4c0e2e8/ios/chrome/browser/application_context.h
[modify] https://crrev.com/d66e03684dd1050562a3b2689f4c75d5e4c0e2e8/ios/chrome/browser/application_context_impl.cc
[modify] https://crrev.com/d66e03684dd1050562a3b2689f4c75d5e4c0e2e8/ios/chrome/browser/application_context_impl.h
[modify] https://crrev.com/d66e03684dd1050562a3b2689f4c75d5e4c0e2e8/ios/chrome/browser/tabs/BUILD.gn
[modify] https://crrev.com/d66e03684dd1050562a3b2689f4c75d5e4c0e2e8/ios/chrome/browser/tabs/tab.mm
[modify] https://crrev.com/d66e03684dd1050562a3b2689f4c75d5e4c0e2e8/ios/chrome/browser/tabs/tab_unittest.mm
[modify] https://crrev.com/d66e03684dd1050562a3b2689f4c75d5e4c0e2e8/ios/chrome/test/testing_application_context.h
[modify] https://crrev.com/d66e03684dd1050562a3b2689f4c75d5e4c0e2e8/ios/chrome/test/testing_application_context.mm

Labels: Merge-Request-61
Status: Fixed (was: Started)
Project Member

Comment 16 by sheriffbot@chromium.org, Aug 7 2017

Labels: -Merge-Request-61 Merge-Review-61 Hotlist-Merge-Review
This bug requires manual review: Less than 25 days to go before AppStore submit on M61
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), ketakid@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Thank you for the fix edchin. I've filled https://bugs.chromium.org/p/chromium/issues/detail?id=753290 to see if we can have a better API to remove the global state in ApplicationContext.
Verified in Build - 62.0.3180.0 -  iPhone 7 plus iOS 10.3.3, iPhone 7  iOS 10.3.1 
The issue “Screen shots in card stack are just showing blank white page after upgrading to 61.0.3136.0 from previous version of 61F” has been Verified now for the fix.
Status: Verified (was: Fixed)
Labels: -Hotlist-Merge-Review -Merge-Review-61 Merge-Approved-61
Project Member

Comment 21 by sheriffbot@chromium.org, Aug 15 2017

Cc: cma...@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
Issue 755521 has been merged into this issue.
Project Member

Comment 23 by bugdroid1@chromium.org, Aug 16 2017

Labels: -merge-approved-61 merge-merged-3163
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8e898f587d9e3b7ce77c97ab2b3290b9366fc383

commit 8e898f587d9e3b7ce77c97ab2b3290b9366fc383
Author: edchin <edchin@chromium.org>
Date: Wed Aug 16 21:41:04 2017

[ios] Fix blank snapshots after killing application.

The destruction of tabs should differentiate between user initiated
destruction vs. teardown due to shutdown of the app. When a user
initiates closing a tab, saved snapshots should be cleaned up.
However, when the application is shutdown, the teardown of the tab
should not delete the snapshot file.

This CL adds an -isShuttingDown flag to ApplicationContext. The flag
is set during shutdown in MainController. The flag is used inside
Tab's shutdown method to differentiate the two code paths.

TBR=edchin@chromium.org

(cherry picked from commit d66e03684dd1050562a3b2689f4c75d5e4c0e2e8)

Bug:  737114 
Change-Id: Ic06e0a8ccee17b242af83e4f391fae386c064a2b
Reviewed-on: https://chromium-review.googlesource.com/597407
Commit-Queue: Ed Chin <edchin@chromium.org>
Reviewed-by: Rohit Rao (ping after 24h) <rohitrao@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#492406}
Reviewed-on: https://chromium-review.googlesource.com/617414
Reviewed-by: edchin <edchin@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#609}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/8e898f587d9e3b7ce77c97ab2b3290b9366fc383/ios/chrome/app/main_controller.mm
[modify] https://crrev.com/8e898f587d9e3b7ce77c97ab2b3290b9366fc383/ios/chrome/browser/application_context.h
[modify] https://crrev.com/8e898f587d9e3b7ce77c97ab2b3290b9366fc383/ios/chrome/browser/application_context_impl.cc
[modify] https://crrev.com/8e898f587d9e3b7ce77c97ab2b3290b9366fc383/ios/chrome/browser/application_context_impl.h
[modify] https://crrev.com/8e898f587d9e3b7ce77c97ab2b3290b9366fc383/ios/chrome/browser/tabs/BUILD.gn
[modify] https://crrev.com/8e898f587d9e3b7ce77c97ab2b3290b9366fc383/ios/chrome/browser/tabs/tab.mm
[modify] https://crrev.com/8e898f587d9e3b7ce77c97ab2b3290b9366fc383/ios/chrome/browser/tabs/tab_unittest.mm
[modify] https://crrev.com/8e898f587d9e3b7ce77c97ab2b3290b9366fc383/ios/chrome/test/testing_application_context.h
[modify] https://crrev.com/8e898f587d9e3b7ce77c97ab2b3290b9366fc383/ios/chrome/test/testing_application_context.mm

verified the issue on the build 61.0.3163.60 beta tested on iPhone7(iOS 10).
Blank snapshots are not displayed in tabswithcer mode on updating the app,works fine.

Sign in to add a comment