New issue
Advanced search Search tips

Issue 795762 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 2
Type: Bug



Sign in to add a comment

DCHECK failure in Other Devices tab

Project Member Reported by jlebel@chromium.org, Dec 18 2017

Issue description

Install Chrome
Don't sign-in
Open the "Other Devices" tab
Open the settings to sign-in
Sign-out
Open the "Other Devices" tab

Result, in -[SigninPromoViewMediator signinPromoViewHidden], this DCHECK fails:
  DCHECK(![self isInvalidClosedOrNeverVisible]);

(lldb) bt
* thread #1, name = 'CrWebMain', queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
    frame #0: 0x000000010a8719a4 Chromium`base::debug::BreakDebugger() at debugger_posix.cc:269
    frame #1: 0x000000010a8d5039 Chromium`logging::LogMessage::~LogMessage(this=0x00007fff56b60490) at logging.cc:844
    frame #2: 0x000000010a8d1755 Chromium`logging::LogMessage::~LogMessage(this=0x00007fff56b60490) at logging.cc:575
  * frame #3: 0x0000000109de9f61 Chromium`::-[SigninPromoViewMediator signinPromoViewHidden](self=0x000061400009fc20, _cmd="signinPromoViewHidden") at signin_promo_view_mediator.mm:469
    frame #4: 0x000000010a616626 Chromium`::-[TabSwitcherPanelOverlayView wasHidden](self=0x00007ff1cd751b00, _cmd="wasHidden") at tab_switcher_panel_overlay_view.mm:233
    frame #5: 0x000000010a61f50b Chromium`::-[TabSwitcherView panelWasHiddenAtIndex:](self=0x00007ff1cd4175c0, _cmd="panelWasHiddenAtIndex:", index=2) at tab_switcher_view.mm:342
    frame #6: 0x000000010a61f418 Chromium`::-[TabSwitcherView scrollViewDidScroll:](self=0x00007ff1cd4175c0, _cmd="scrollViewDidScroll:", scrollView=0x00007ff1d0830000) at tab_switcher_view.mm:333
    frame #7: 0x0000000114831905 UIKit`-[UIScrollView(UIScrollViewInternal) _notifyDidScroll] + 68
    frame #8: 0x0000000114817acc UIKit`-[UIScrollView setContentOffset:] + 493
    frame #9: 0x00000001148355a2 UIKit`-[UIScrollView(UIScrollViewInternal) _setContentOffset:animated:animationCurve:animationAdjustsForContentOffsetDelta:animation:] + 1000
    frame #10: 0x000000010a61d35a Chromium`::-[TabSwitcherView selectPanelAtIndex:animated:](self=0x00007ff1cd4175c0, _cmd="selectPanelAtIndex:animated:", index=1, animated=YES) at tab_switcher_view.mm:146
    frame #11: 0x000000010a61caf4 Chromium`::-[TabSwitcherView selectPanelAtIndex:](self=0x00007ff1cd4175c0, _cmd="selectPanelAtIndex:", index=1) at tab_switcher_view.mm:94
    frame #12: 0x000000010a5f0f17 Chromium`::-[TabSwitcherController selectPanelForTabModel:](self=0x00007ff1cd404980, _cmd="selectPanelForTabModel:", selectedTabModel=0x00007ff1caf0b0e0) at tab_switcher_controller.mm:837
    frame #13: 0x000000010a5ea1f4 Chromium`::-[TabSwitcherController restoreInternalStateWithMainTabModel:otrTabModel:activeTabModel:](self=0x00007ff1cd404980, _cmd="restoreInternalStateWithMainTabModel:otrTabModel:activeTabModel:", mainModel=0x00007ff1caf0b0e0, otrModel=0x00007ff1d22051b0, activeModel=0x00007ff1caf0b0e0) at tab_switcher_controller.mm:376
    frame #14: 0x00000001090b286d Chromium`::-[MainController showTabSwitcher](self=0x00007ff1d2500580, _cmd="showTabSwitcher") at main_controller.mm:1841
    frame #15: 0x00000001090ac9a3 Chromium`::-[MainController displayTabSwitcher](self=0x00007ff1d2500580, _cmd="displayTabSwitcher") at main_controller.mm:1388
    frame #16: 0x000000011473a275 UIKit`-[UIApplication sendAction:to:from:forEvent:] + 83
    frame #17: 0x00000001148b74a2 UIKit`-[UIControl sendAction:to:forEvent:] + 67
    frame #18: 0x00000001148b77bf UIKit`-[UIControl _sendActionsForEvents:withEvent:] + 450
    frame #19: 0x00000001148b66ec UIKit`-[UIControl touchesEnded:withEvent:] + 618
    frame #20: 0x00000001147afbbb UIKit`-[UIWindow _sendTouchesForEvent:] + 2807
    frame #21: 0x00000001147b12de UIKit`-[UIWindow sendEvent:] + 4124
    frame #22: 0x0000000114754e36 UIKit`-[UIApplication sendEvent:] + 352
    frame #23: 0x0000000115097434 UIKit`__dispatchPreprocessedEventFromEventQueue + 2809
    frame #24: 0x000000011509a089 UIKit`__handleEventQueueInternal + 5957
    frame #25: 0x0000000116953231 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
    frame #26: 0x00000001169f2e41 CoreFoundation`__CFRunLoopDoSource0 + 81
    frame #27: 0x0000000116937b49 CoreFoundation`__CFRunLoopDoSources0 + 185
    frame #28: 0x000000011693712f CoreFoundation`__CFRunLoopRun + 1279
    frame #29: 0x00000001169369b9 CoreFoundation`CFRunLoopRunSpecific + 409
    frame #30: 0x000000011d2499c6 GraphicsServices`GSEventRunModal + 62
    frame #31: 0x00000001147385e8 UIKit`UIApplicationMain + 159
    frame #32: 0x000000010909de92 Chromium`(anonymous namespace)::RunUIApplicationMain(argc=1, argv=0x00007fff56b63548) at chrome_exe_main.mm:55
    frame #33: 0x000000010909d983 Chromium`main(argc=1, argv=0x00007fff56b63548) at chrome_exe_main.mm:79
    frame #34: 0x000000011e752d81 libdyld.dylib`start + 1
    frame #35: 0x000000011e752d81 libdyld.dylib`start + 1

 
Project Member

Comment 1 by bugdroid1@chromium.org, Dec 19 2017

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

commit 20e3cf9d29c9abdddea9bd1519c4c9043127c6dc
Author: Jérôme Lebel <jlebel@chromium.org>
Date: Tue Dec 19 14:38:15 2017

[iOS][Signin] Fixing DCHECK failure in Other Devices tab

Other Devices can call -[SigninPromoViewMediator signinPromoViewHidden]
while the sign-in promo view has never been visible before.
-[SigninPromoViewMediator signinPromoViewHidden] should do nothing if
-[SigninPromoViewMediator signinPromoViewVisible] has not been called
before.

Bug:  795762 
Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs
Change-Id: I814b3f9c849029ad2eeb72a5c25c544ffa945fc7
Reviewed-on: https://chromium-review.googlesource.com/832527
Reviewed-by: Mihai Sardarescu <msarda@chromium.org>
Reviewed-by: edchin <edchin@chromium.org>
Commit-Queue: Jérôme Lebel <jlebel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#525025}
[modify] https://crrev.com/20e3cf9d29c9abdddea9bd1519c4c9043127c6dc/ios/chrome/browser/ui/authentication/signin_promo_view_consumer.h
[modify] https://crrev.com/20e3cf9d29c9abdddea9bd1519c4c9043127c6dc/ios/chrome/browser/ui/authentication/signin_promo_view_mediator.h
[modify] https://crrev.com/20e3cf9d29c9abdddea9bd1519c4c9043127c6dc/ios/chrome/browser/ui/authentication/signin_promo_view_mediator.mm
[modify] https://crrev.com/20e3cf9d29c9abdddea9bd1519c4c9043127c6dc/ios/chrome/browser/ui/tab_switcher/BUILD.gn
[modify] https://crrev.com/20e3cf9d29c9abdddea9bd1519c4c9043127c6dc/ios/chrome/browser/ui/tab_switcher/tab_switcher_controller_egtest.mm

Comment 2 by jlebel@chromium.org, Dec 20 2017

Status: Fixed (was: Started)

Sign in to add a comment