Page MenuHomePhabricator

[BUG] Crash when logging out on iPad
Closed, ResolvedPublic

Description

See: https://rink.hockeyapp.net/manage/apps/152731/app_versions/68/crash_reasons/129241357?scope=os_versions&type=statistics

Steps to reproduce

  1. Tap "Logout"
  2. Crash

Expected results

Don't crash, let user log out

Actual results

Crash

Screenshots

Environments observed

App version: 5.0.5 902.1
OS versions: 9.2.1
Device model: iPad mini 1st Gen
Device language: English

Event Timeline

Incident Identifier: AEC320D4-C0CC-4B23-8AA4-2583D158AD91
CrashReporter Key:   D6450D1E-D9E0-4A68-9957-AEFA7C7DC2BD
Hardware Model:      iPad2,5
Process:         Wikipedia [2289]
Path:            /var/mobile/Containers/Bundle/Application/2FE4FB04-0797-4D70-BB46-AF40347668BF/Wikipedia.app/Wikipedia
Identifier:      org.wikimedia.wikipedia
Version:         5.0.5 (902.1)
Code Type:       ARM
Parent Process:  ??? [1]

Date/Time:       2016-07-19T21:43:13Z
Launch Time:     2016-07-19T21:40:33Z
OS Version:      iPhone OS 9.2.1 (13D15)
Report Version:  104

Exception Type:  SIGABRT
Exception Codes: #0 at 0x24458c84
Crashed Thread:  0

Application Specific Information:
*** Terminating app due to uncaught exception 'NSGenericException', reason: 'Your application has presented a UIAlertController (<UIAlertController: 0x151ff600>) of style UIAlertControllerStyleActionSheet. The modalPresentationStyle of a UIAlertController with this style is UIModalPresentationPopover. You must provide location information for this popover through the alert controller's popoverPresentationController. You must provide either a sourceView and sourceRect or a barButtonItem.  If this information is not known when you present the alert controller, you may provide it in the UIPopoverPresentationControllerDelegate method -prepareForPopoverPresentation.'

Last Exception Backtrace:
0   CoreFoundation                       0x247c410b __exceptionPreprocess + 127
1   libobjc.A.dylib                      0x23f6ae17 objc_exception_throw + 36
2   UIKit                                0x291ce3b5 -[UIPopoverPresentationController presentationTransitionWillBegin] + 3338
3   UIKit                                0x28c4d143 __71-[UIPresentationController _initViewHierarchyForPresentationSuperview:]_block_invoke + 1796
4   UIKit                                0x28c4b063 __56-[UIPresentationController runTransitionForCurrentState]_block_invoke + 380
5   UIKit                                0x28ba7d71 _runAfterCACommitDeferredBlocks + 266
6   UIKit                                0x28bb3b3b _cleanUpAfterCAFlushAndRunDeferredBlocks + 88
7   UIKit                                0x288f3e59 _afterCACommitHandler + 82
8   CoreFoundation                       0x24786f59 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18
9   CoreFoundation                       0x2478525d __CFRunLoopDoObservers + 278
10  CoreFoundation                       0x2478568f __CFRunLoopRun + 956
11  CoreFoundation                       0x246d8bf9 CFRunLoopRunSpecific + 518
12  CoreFoundation                       0x246d89e5 CFRunLoopRunInMode + 106
13  GraphicsServices                     0x25924ac9 GSEventRunModal + 158
14  UIKit                                0x28968ba1 UIApplicationMain + 142
15  Wikipedia                            0x000e4c75 main (main.m:55)
16  ???                                  0x24387873 0x0 + 0

Thread 0 Crashed:
0   libsystem_kernel.dylib               0x24458c84 __pthread_kill + 8
1   libsystem_pthread.dylib              0x244fe733 pthread_kill + 60
2   libsystem_c.dylib                    0x243ef0ad abort + 106
3   Wikipedia                            0x0026a489 uncaught_exception_handler + 22
4   CoreFoundation                       0x247c4447 __handleUncaughtException + 640
5   libobjc.A.dylib                      0x23f6b09f _objc_terminate() + 172
6   Wikipedia                            0x0025cd57 BITCrashUncaughtCXXTerminateHandler() (BITCrashCXXExceptionHandler.mm:178)
7   libc++abi.dylib                      0x23f5ce17 std::__terminate(void (*)()) + 76
8   libc++abi.dylib                      0x23f5c8f9 __cxa_rethrow + 98
9   libobjc.A.dylib                      0x23f6af5f objc_exception_rethrow + 40
10  CoreFoundation                       0x246d8c7f CFRunLoopRunSpecific + 652
11  CoreFoundation                       0x246d89e5 CFRunLoopRunInMode + 106
12  GraphicsServices                     0x25924ac9 GSEventRunModal + 158
13  UIKit                                0x28968ba1 UIApplicationMain + 142
14  Wikipedia                            0x000e4c75 main (main.m:55)
15  ???                                  0x24387873 0x0 + 0

Better repro steps:

  1. Repeat step 4 in T140834 a few (5+) times
  2. Go to the "Logged in as USERNAME" and press that
  3. Crashes before the "log out" pop up is visable.
Danny_B renamed this task from [BUG] Crash when logging gout on iPad to [BUG] Crash when logging out on iPad.Jul 19 2016, 11:53 PM
JMinor triaged this task as Medium priority.Jul 25 2016, 7:23 PM
JMinor moved this task from Needs Triage to Bug Backlog on the Wikipedia-iOS-App-Backlog board.

Unable to reproduce. @Josve05a are you able still able to repro? I tried on iOS 9.3 and 10. (Also tried your better repro steps from your comment above.)

Unable to reproduce. @Josve05a are you able still able to repro? I tried on iOS 9.3 and 10. (Also tried your better repro steps from your comment above.)

No, given that T140834 was fixed, it does not crash for me anymore. Guessing it was related to that somehow, (e.g. it tried to open mail but couldn't and when doing another action, in this case logging out, it crashed?)...

Testing on iPad Air 2 (iOS 10.0.1) and Wikipedia build 5.3.0 (953). This is fixed as I was able to log out with no crash.