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

Issue 822912 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 2
Type: Bug
Q1

Blocking:
issue 818560



Sign in to add a comment

Flaky DCHECK failure in GridTransitionLayout

Project Member Reported by edchin@chromium.org, Mar 16 2018

Issue description

[0316/142912.364534:FATAL:grid_transition_layout.mm(32)] Check failed: [self.items containsObject:selectedItem]. 


 

Comment 1 by marq@chromium.org, Mar 19 2018

Do you have any context around when this was hit?

Comment 2 by edchin@chromium.org, Mar 20 2018

Status: WontFix (was: Assigned)
I'm not seeing it anymore. Marking as won't fix. 

Comment 3 by cmasso@google.com, Mar 20 2018

Labels: -Q1 -MS-Tab-Grid -S-See-Open-Tabs

Comment 4 by edchin@chromium.org, Mar 20 2018

Cc: marq@chromium.org cma...@chromium.org
Labels: MS-Tab-Grid Q1 S-See-Open-Tabs
Owner: edchin@chromium.org
Status: Assigned (was: WontFix)
Still able to repro. 
I'm also able to repro on the egtest. 
I will assign this to myself and investigate further. 

Test Suite 'TabGridTestCase' started at 2018-03-20 13:53:12.800
[0320/135312.802357:WARNING:loopback_server.cc(638)] Loopback sync persistent state file does not exist.
[0320/135312.818968:FATAL:grid_transition_layout.mm(32)] Check failed: [self.items containsObject:selectedItem]. 

Comment 5 by edchin@chromium.org, Mar 20 2018

Owner: marq@chromium.org
Steps to repro:
Run tab_grid_egtest.mm on the ios_chrome_tab_grid_egtests target. 
There's something about the startup of egtests that fails this DCHECK. 

Also, these tests are not running on the CQ bots so that's why we didn't catch it. 

Sending over to marq@ since this is part of the transition animation. 

Comment 6 by edchin@chromium.org, Mar 21 2018

I hit it again in the simulator for iphone 8. 

I have uirefresh and tab grid flags on. I am in a tab, with only 1 tab shown in the tab swticher icon. I tap the tab switcher and it DCHECKs. 

Comment 7 by edchin@chromium.org, Mar 21 2018

Blocking: 818560
This now blocks merging the tab grid into UIRefreshPhase1 flag because the adaptive toolbar tests are on the CQ bots and they fail at startup when tab grid is enabled (via the UIRefreshPhase1 flag). 

Stack dump here:

Test Suite 'ios_chrome_adaptive_toolbar_egtests.app' started at 2018-03-21 06:38:54.576
Test Suite 'AdaptiveToolbarTestCase' started at 2018-03-21 06:38:54.576
[0320/233854.580774:WARNING:loopback_server.cc(638)] Loopback sync persistent state file does not exist.
[0320/233857.147240:FATAL:grid_transition_layout.mm(32)] Check failed: [self.items containsObject:selectedItem].
0   ios_chrome_adaptive_toolbar_egtests 0x000000010aad89fd base::debug::StackTrace::StackTrace(unsigned long) + 157
1   ios_chrome_adaptive_toolbar_egtests 0x000000010aad8a3d base::debug::StackTrace::StackTrace(unsigned long) + 29
2   ios_chrome_adaptive_toolbar_egtests 0x000000010aad762c base::debug::StackTrace::StackTrace() + 28
3   ios_chrome_adaptive_toolbar_egtests 0x000000010ab367ec logging::LogMessage::~LogMessage() + 460
4   ios_chrome_adaptive_toolbar_egtests 0x000000010ab34645 logging::LogMessage::~LogMessage() + 21
5   ios_chrome_adaptive_toolbar_egtests 0x000000010a9620f9 -[GridTransitionLayout setSelectedItem:] + 345
6   ios_chrome_adaptive_toolbar_egtests 0x000000010a961e6c +[GridTransitionLayout layoutWithItems:selectedItem:] + 444
7   ios_chrome_adaptive_toolbar_egtests 0x000000010a95bc29 -[GridViewController transitionLayout] + 2361
8   ios_chrome_adaptive_toolbar_egtests 0x000000010a949cbf -[TabGridViewController layoutForTransitionContext:] + 351
9   ios_chrome_adaptive_toolbar_egtests 0x000000010a962e53 -[TabToGridAnimator animateTransition:] + 963

Comment 9 by marq@chromium.org, Mar 21 2018

Labels: small
Status: Started (was: Assigned)

Comment 10 by marq@chromium.org, Mar 21 2018

Components: UI>Browser>Mobile>TabSwitcher
Project Member

Comment 11 by bugdroid1@chromium.org, Mar 21 2018

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

commit beb48c980413c3bc3d06cf57de0f7eb8dfee5aa1
Author: Mark Cogan <marq@google.com>
Date: Wed Mar 21 14:03:48 2018

[iOS] Handle nil in GridTransitionLayout setSelectedItem:

In some cases, there may be no visible items in a grid, so the selected
item will be nil, which is never a member of any collection. This CL
updates the DCHECK condition in [GridTransitionLayout setSelectedItem:]
to not trigger in this case.

Bug:  822912 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I845355feee5f4af1d3443ff3d362aae45c05d9c9
Reviewed-on: https://chromium-review.googlesource.com/973121
Reviewed-by: Gauthier Ambard <gambard@chromium.org>
Commit-Queue: Mark Cogan <marq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544687}
[modify] https://crrev.com/beb48c980413c3bc3d06cf57de0f7eb8dfee5aa1/ios/chrome/browser/ui/tab_grid/transitions/grid_transition_layout.mm

Comment 12 by marq@chromium.org, Mar 22 2018

Status: Fixed (was: Started)
Labels: Proj-UIRefresh

Sign in to add a comment