Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Crash in UIKitCore [UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:] iOS 12 only

I am getting decent number of crashes that are reported to Crashlytics. This only happens on iOS 12 and I do not know how to reproduce this. Perhaps the user is on WKWebView and trying to enter a password from the hint in 31 SafariServices 0x21d216740 __107+[_SFAutomaticPasswordInputViewController inputViewControllerWithAutoFillContext:passwordRules:completion:]_block_invoke.29 + 104

If anyone has similar crash or ideas, it is greatly appreciated.

UPDATE: This issue is being tracked here: https://github.com/firebase/firebase-ios-sdk/issues/2283 Thanks to Igor

Crashed: com.apple.main-thread
0  libsystem_kernel.dylib         0x207743df8 __abort_with_payload + 8
1  libsystem_kernel.dylib         0x20773d838 abort_with_payload_wrapper_internal + 100
2  libsystem_kernel.dylib         0x20773d7d4 abort_with_payload_wrapper_internal + 34
3  libobjc.A.dylib                0x206d7d4b4 _objc_fatalv(unsigned long long, unsigned long long, char const*, char*) + 112
4  libobjc.A.dylib                0x206d7d40c __objc_error + 42
5  libobjc.A.dylib                0x206d94af0 weak_entry_insert(weak_table_t*, weak_entry_t*) + 314
6  libobjc.A.dylib                0x206d95a60 objc_initWeak + 360
7  UIKitCore                      0x23457508c -[UIViewController viewDidMoveToWindow:shouldAppearOrDisappear:] + 1628
8  UIKitCore                      0x234fcaff8 -[UIView(Internal) _didMoveFromWindow:toWindow:] + 1240
9  UIKitCore                      0x234fbdfac __45-[UIView(Hierarchy) _postMovedFromSuperview:]_block_invoke + 156
10 Foundation                     0x20854d51c -[NSISEngine withBehaviors:performModifications:] + 108
11 UIKitCore                      0x234fbde90 -[UIView(Hierarchy) _postMovedFromSuperview:] + 784
12 UIKitCore                      0x234fcdbb8 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 1740
13 UIKitCore                      0x234843290 -[_UIKBCompatInputView addSubview:] + 48
14 UIKitCore                      0x234845634 -[UICompatibilityInputViewController setInputMode:] + 980
15 CoreFoundation                 0x207b1cd14 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20
16 CoreFoundation                 0x207b1cce0 ___CFXRegistrationPost_block_invoke + 64
17 CoreFoundation                 0x207b1c1d0 _CFXRegistrationPost + 392
18 CoreFoundation                 0x207b1be7c ___CFXNotificationPost_block_invoke + 96
19 CoreFoundation                 0x207a941c0 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1404
20 CoreFoundation                 0x207b1b908 _CFXNotificationPost + 696
21 Foundation                     0x20852aeb0 -[NSNotificationCenter postNotificationName:object:userInfo:] + 68
22 UIKitCore                      0x234956920 -[UIKeyboardImpl _setKeyboardInputMode:userInitiated:updateIndicator:force:executionContext:] + 1108
23 UIKitCore                      0x2349564b0 -[UIKeyboardImpl setKeyboardInputMode:userInitiated:updateIndicator:executionContext:] + 112
24 UIKitCore                      0x2349a4460 -[UIKeyboardTaskEntry execute:] + 200
25 UIKitCore                      0x2349a2b70 -[UIKeyboardTaskQueue continueExecutionOnMainThread] + 384
26 UIKitCore                      0x2349a3280 -[UIKeyboardTaskQueue addAndReturnTask:] + 132
27 UIKitCore                      0x2349a37d0 -[UIKeyboardTaskQueue performSingleTask:] + 136
28 UIKitCore                      0x234956098 -[UIKeyboardImpl setInputMode:userInitiated:] + 116
29 UIKitCore                      0x234844e9c -[UICompatibilityInputViewController resetInputModeInMainThread] + 196
30 UIKitCore                      0x234846450 __51-[UICompatibilityInputViewController setInputMode:]_block_invoke.624 + 544
31 SafariServices                 0x21d216740 __107+[_SFAutomaticPasswordInputViewController inputViewControllerWithAutoFillContext:passwordRules:completion:]_block_invoke.29 + 104
32 libdispatch.dylib              0x2075e76c8 _dispatch_call_block_and_release + 24
33 libdispatch.dylib              0x2075e8484 _dispatch_client_callout + 16
34 libdispatch.dylib              0x2075949ec _dispatch_main_queue_callback_4CF$VARIANT$mp + 1068
35 CoreFoundation                 0x207b3e1bc __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
36 CoreFoundation                 0x207b39084 __CFRunLoopRun + 1964
37 CoreFoundation                 0x207b385b8 CFRunLoopRunSpecific + 436
38 GraphicsServices               0x209dac584 GSEventRunModal + 100
39 UIKitCore                      0x234b30bc8 UIApplicationMain + 212
40 MyApp                          0x102f15770 main (main.m:29)
41 libdyld.dylib                  0x2075f8b94 start + 4

UPDATE:

Firebase team reported that it is fixed in 5.19.0 https://firebase.google.com/support/release-notes/ios#5.19.0

Performance Monitoring

Fixed a crash related to password auto-fill screen
like image 293
Genki Avatar asked Oct 18 '18 16:10

Genki


1 Answers

I had a similar crash. It happened only if I had 3 UITextFields in this order: email, password, password. For password fields property isSecureTextEntry is set to true. For make it crash I changed the focus to one of the password fields, switched to the main screen and back to the app. Sometimes it happened on second or third switching between main screen and app.

So, in my case the reason was Firebase/Performance pod. I’ve removed it for a while — this fixed the bug.

UPDATE: Firebase team fixes this bug in 5.19.0. Just update your firebase pods.

like image 122
Denis Vert Avatar answered Sep 20 '22 02:09

Denis Vert