New issue
Advanced search Search tips

Issue 872288 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 19
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: iOS
Pri: 1
Type: Bug

Blocking:
issue 827072



Sign in to add a comment

[iOS][Unity] Unified Consent crashes when cancelling the managed account popup

Project Member Reported by gambard@chromium.org, Aug 8

Issue description

Have a managed account. Enable UnifiedConsent flag.

What steps will reproduce the problem?
(1) Open the unified consent screen.
(2) Accept the terms.
(3) The "Managed Account" popup will show. Tap "Cancel".

What is the expected result?
The app should not crash. Not sure what the expected behavior should be.

What happens instead?
App crashes.
 
Any updates on this one?
Summary: [iOS][Unity] Unified Consent crashes when cancelling the managed account popup (was: Unified Consent crashes when cancelling the managed account popup)
Labels: -M-70 M-71
Unity on iOS will not ship on M70. Moving to M71.
If I'm not mistaken, this is not a crash, but a DCHECK failure:
(lldb) bt
* thread #1, name = 'CrWebMain', queue = 'com.apple.main-thread', stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
  * frame #0: 0x000000010b8cbd04 Chromium`base::debug::BreakDebugger() at debugger_posix.cc:274
    frame #1: 0x000000010b5e83e2 Chromium`logging::LogMessage::~LogMessage(this=0x00007ffee6e36588) at logging.cc:856
    frame #2: 0x000000010b5e4cc5 Chromium`logging::LogMessage::~LogMessage(this=0x00007ffee6e36588) at logging.cc:584
    frame #3: 0x000000010a85d82f Chromium`::-[ChromeSigninViewController showEmbeddedViewController:](self=0x00007fdfd2191000, _cmd="showEmbeddedViewController:", viewController=0x00007fdfd1f748c0) at chrome_signin_view_controller.mm:365
    frame #4: 0x000000010a860582 Chromium`::-[ChromeSigninViewController enterIdentityPickerState](self=0x00007fdfd2191000, _cmd="enterIdentityPickerState") at chrome_signin_view_controller.mm:636
    frame #5: 0x000000010a85f830 Chromium`::-[ChromeSigninViewController enterState:](self=0x00007fdfd2191000, _cmd="enterState:", state=IDENTITY_PICKER_STATE)::AuthenticationState) at chrome_signin_view_controller.mm:553
    frame #6: 0x000000010a865cc3 Chromium`::-[ChromeSigninViewController activityIndicatorAnimationDidFinish:](self=0x00007fdfd2191000, _cmd="activityIndicatorAnimationDidFinish:", activityIndicator=0x00007fdfd1c2f600) at chrome_signin_view_controller.mm:1097
    frame #7: 0x000000010a407798 Chromium`__34-[MDCActivityIndicator animateOut]_block_invoke(.block_descriptor=0x0000600001ada880) at MDCActivityIndicator.m:889
    frame #8: 0x00000001211fc5d1 libdispatch.dylib`_dispatch_call_block_and_release + 12
    frame #9: 0x00000001211fd63e libdispatch.dylib`_dispatch_client_callout + 8
    frame #10: 0x000000012120a9d6 libdispatch.dylib`_dispatch_main_queue_callback_4CF + 1541
    frame #11: 0x0000000117c8a7f9 CoreFoundation`__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
    frame #12: 0x0000000117c84e86 CoreFoundation`__CFRunLoopRun + 2342
    frame #13: 0x0000000117c84221 CoreFoundation`CFRunLoopRunSpecific + 625
    frame #14: 0x0000000123e101dd GraphicsServices`GSEventRunModal + 62
    frame #15: 0x000000011e7db115 UIKitCore`UIApplicationMain + 140
    frame #16: 0x0000000108dc8bb3 Chromium`(anonymous namespace)::RunUIApplicationMain(argc=1, argv=0x00007ffee6e38160) at chrome_exe_main.mm:54
    frame #17: 0x0000000108dc8681 Chromium`main(argc=1, argv=0x00007ffee6e38160) at chrome_exe_main.mm:78
    frame #18: 0x0000000121273551 libdyld.dylib`start + 1

The issue is to present a view controller in ChromeSigninViewController by calling -[ChromeSigninViewController showEmbeddedViewController:], while there is already one being presented.
Project Member

Comment 5 by bugdroid1@chromium.org, Oct 19

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

commit 0a758ceb1ea68541b4eb62d039abd7ca0de3755a
Author: Jérôme Lebel <jlebel@chromium.org>
Date: Fri Oct 19 10:21:50 2018

[iOS][Unity] Fixing DCHECK failure when canceling sign-in

When the user refuse to sign-in with a managed account the current
UnifiedConsentCoordinator should be reused instead of creating a new
UnifiedConsentCoordinator instance.

Bug:  872288 
Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs
Change-Id: Ib851ba3337fa95a39608397f82e336b65000f579
Reviewed-on: https://chromium-review.googlesource.com/c/1288435
Reviewed-by: Gauthier Ambard <gambard@chromium.org>
Commit-Queue: Jérôme Lebel <jlebel@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601101}
[modify] https://crrev.com/0a758ceb1ea68541b4eb62d039abd7ca0de3755a/ios/chrome/browser/ui/authentication/chrome_signin_view_controller.mm

Status: Fixed (was: Assigned)
Blocking: 827072
Labels: Merge-TBD
[Auto-generated comment by a script] We noticed that this issue is targeted for M-71; it appears the fix may have landed after branch point, meaning a merge might be required. Please confirm if a merge is required here - if so add Merge-Request-71 label, otherwise remove Merge-TBD label. Thanks.
As mentioned in comment#0, I am not able to see Step 2 (Accept the terms)in latest canary. Tested in 72.0.3595.0 Canary and noticed no crashes on tapping cancel button in managed account popup.

Please look at the attached video and let us know whether we followed the right steps to reproduce the crash.

Link to video:
https://drive.google.com/file/d/1AHWZSA2kzAbyFNktRtgdC6lUmVSOJrnj/view?usp=sharing
To get the "Managed Account" popup, you need to use a chromium account or google account (not a gmail account).
Labels: -M-71 M-72
Project unity is now not shipping until M72 so moving this to M72.
jlebel: Also if nothing needs merge, please remove merge-tbd label.
Ping for c12.
Labels: -Merge-TBD
This feature is not visible by the user. It is under a flag.

Sign in to add a comment