10 Replies
      Latest reply on Mar 19, 2020 9:32 AM by dive
      ptsochantaris Level 1 Level 1 (0 points)

        Since the launch of iOS 13.2, we've been seeing a steadily rising level of a specific crash, as described below in the stack-trace. This crash seems to be completely inside UIKit, although some action in our app is obviously "triggering" it.

         

        From the trace and logs, we can definitely assume some things:

        - The crash is specifically on iOS 13.2.0, no other versions.

        - It's not a regression in our app, since it's started appearing on versions which have been out for a month or so.

        - It seems to occur across various iPhone models (this an iPhone-only app)

        - It occurs when, as part of foregrounding, the OS issues a foreground notification to UIKit

         

        (Additionally, the stack trace suggests that the issue is keyboard-related, although how and why isn't clear at the moment.)

         

        Our priority at this point is not to fix iOS 13.2 but to identify what behaviour could lead UIKit to break like this. Any advice or input on this would be greatly appreciated.

         

        This is a good representative stack trace of the issue:

         

        ----

         

        Exception Type:  EXC_BAD_ACCESS (SIGSEGV)

        Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000010

        VM Region Info: 0x10 is not in any region.  Bytes before following region: 4333502448

              REGION TYPE                      START - END             [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL

              UNUSED SPACE AT START

        --->

              __TEXT                 00000001024c0000-00000001024c4000 [   16K] r-x/r-x SM=COW  ...ut.app/[Redacted App Name]

         

        Termination Signal: Segmentation fault: 11

        Termination Reason: Namespace SIGNAL, Code 0xb

        Terminating Process: exc handler [1772]

        Triggered by Thread:  0

         

        Thread 0 name:

        Thread 0 Crashed:

        0   libobjc.A.dylib               0x0000000199ec0fb0 objc_msgSend + 16

        1   UIKitCore                     0x000000019e73ce10 -[UIView(Internal) _addSubview:positioned:relativeTo:] + 540 (UIView.m:15405)

        2   UIKitCore                     0x000000019e07779c -[UIInputWindowController changeToInputViewSet:] + 1656 (UIInputWindowController.m:2590)

        3   UIKitCore                     0x000000019e078254 __43-[UIInputWindowController setInputViewSet:]_block_invoke + 64 (UIInputWindowController.m:2683)

        4   UIKitCore                     0x000000019e736230 +[UIView(Animation) performWithoutAnimation:] + 104 (UIView.m:13662)

        5   UIKitCore                     0x000000019e077f58 -[UIInputWindowController setInputViewSet:] + 732 (UIInputWindowController.m:2681)

        6   UIKitCore                     0x000000019e0724d8 -[UIInputWindowController performOperations:withAnimationStyle:] + 60 (UIInputWindowController.m:1675)

        7   UIKitCore                     0x000000019dd8e890 -[UIInputResponderController setKeyWindowSceneInputViews:animationStyle:] + 2184 (UIInputResponderController.m:1053)

        8   UIKitCore                     0x000000019dd8dfe0 -[UIInputResponderController setInputViews:animationStyle:] + 216 (UIInputResponderController.m:0)

        9   UIKitCore                     0x000000019dd90680 -[UIInputResponderController forceOrderOutAutomaticExceptAccessoryView] + 484 (UIInputResponderController.m:1312)

        10  UIKitCore                     0x000000019e659e50 -[UIKeyboardAutomatic willResume:] + 732 (UIKeyboardAutomatic.m:193)

        11  Foundation                     0x000000019a57607c __57-[NSNotificationCenter addObserver:selector:name:object:]_block_invoke_2 + 28 (NSNotification.m:519)

        12  CoreFoundation                 0x000000019a103ae0 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 28 (CFNotificationCenter.c:787)

        13  CoreFoundation                 0x000000019a103b30 ___CFXRegistrationPost1_block_invoke + 68 (CFNotificationCenter.c:175)

        14  CoreFoundation                 0x000000019a102e28 _CFXRegistrationPost1 + 396 (CFNotificationCenter.c:198)

        15  CoreFoundation                 0x000000019a102ac0 ___CFXNotificationPost_block_invoke + 108 (CFNotificationCenter.c:1371)

        16  CoreFoundation                 0x000000019a07ba58 -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1424 (CFXNotificationRegistrarOld.m:168)

        17  CoreFoundation                 0x000000019a1023f0 _CFXNotificationPost + 1268 (CFNotificationCenter.c:1359)

        18  Foundation                     0x000000019a464c1c -[NSNotificationCenter postNotificationName:object:userInfo:] + 64 (NSNotification.m:576)

        19  UIKitCore                     0x000000019e2a7da0 -[UIApplication _sendWillEnterForegroundCallbacks] + 284 (UIApplication.m:10499)

        20  UIKitCore                     0x000000019da2a910 __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransiti... + 1828 (_UISceneLifecycleMultiplexer.m:571)

        21  UIKitCore                     0x000000019ded9e08 _UIScenePerformActionsWithLifecycleActionMask + 112 (_UISceneLifecycleState.m:109)

        22  UIKitCore                     0x000000019da2a150 __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransiti... + 212 (_UISceneLifecycleMultiplexer.m:500)

        23  UIKitCore                     0x000000019da29b80 -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 304 (_UISceneLifecycleMultiplexer.m:449)

        24  UIKitCore                     0x000000019da29f6c -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionSto... + 752 (_UISceneLifecycleMultiplexer.m:499)

        25  UIKitCore                     0x000000019da297f0 -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 340 (_UISceneLifecycleMultiplexer.m:405)

        26  UIKitCore                     0x000000019da2dfa0 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsFo... + 196 (_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction.m:102)

        27  UIKitCore                     0x000000019def3c8c ___UISceneSettingsDiffActionPerformChangesWithTransitionContext_block_invoke + 28 (_UISceneSettingsDiffAction.m:45)

        28  UIKitCore                     0x000000019de06f44 +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:actions:completion:] + 868 (BSAnimationSettings+UIKit.m:50)

        29  UIKitCore                     0x000000019def3c44 _UISceneSettingsDiffActionPerformChangesWithTransitionContext + 260 (_UISceneSettingsDiffAction.m:43)

        30  UIKitCore                     0x000000019da2dcb8 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsFo... + 152 (_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction.m:87)

        31  UIKitCore                     0x000000019def3b2c _UISceneSettingsDiffActionPerformActionsWithDelayForTransitionContext + 108 (_UISceneSettingsDiffAction.m:35)

        32  UIKitCore                     0x000000019da2db14 -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUISc... + 392 (_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction.m:85)

        33  UIKitCore                     0x000000019d895c38 __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke + 640 (UIScene.m:1338)

        34  UIKitCore                     0x000000019d8946fc -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 256 (UIScene.m:1071)

        35  UIKitCore                     0x000000019d895968 -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 236 (UIScene.m:1315)

        36  UIKitCore                     0x000000019e28d808 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 564 (UIApplication.m:3764)

        37  UIKitCore                     0x000000019de28e44 -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 376 (UIApplicationSceneClientAgent.m:45)

        38  FrontBoardServices             0x000000019f375ec0 -[FBSSceneImpl _callOutQueue_agent_didCreateWithTransitionContext:completion:] + 452 (FBSSceneImpl.m:431)

        39  FrontBoardServices             0x000000019f39cb50 __86-[FBSWorkspaceScenesClient sceneID:createWithParameters:transitionContext:completion:]_block_... + 116 (FBSWorkspaceScenesClient.m:318)

        40  FrontBoardServices             0x000000019f380fa4 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 240 (FBSWorkspace.m:357)

        41  FrontBoardServices             0x000000019f39c7e4 __86-[FBSWorkspaceScenesClient sceneID:createWithParameters:transitionContext:completion:]_block_... + 344 (FBSWorkspaceScenesClient.m:317)

        42  libdispatch.dylib             0x0000000199e51fd8 _dispatch_client_callout + 20 (object.m:495)

        43  libdispatch.dylib             0x0000000199e54d1c _dispatch_block_invoke_direct + 264 (queue.c:466)

        44  FrontBoardServices             0x000000019f3c3304 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 48 (FBSSerialQueue.m:173)

        45  FrontBoardServices             0x000000019f3c2fb0 -[FBSSerialQueue _queue_performNextIfPossible] + 432 (FBSSerialQueue.m:216)

        46  FrontBoardServices             0x000000019f3c351c -[FBSSerialQueue _performNextFromRunLoopSource] + 32 (FBSSerialQueue.m:247)

        47  CoreFoundation                 0x000000019a12724c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28 (CFRunLoop.c:1922)

        48  CoreFoundation                 0x000000019a1271a0 __CFRunLoopDoSource0 + 84 (CFRunLoop.c:1956)

        49  CoreFoundation                 0x000000019a12690c __CFRunLoopDoSources0 + 184 (CFRunLoop.c:1992)

        50  CoreFoundation                 0x000000019a1217d8 __CFRunLoopRun + 1068 (CFRunLoop.c:2882)

        51  CoreFoundation                 0x000000019a121084 CFRunLoopRunSpecific + 480 (CFRunLoop.c:3192)

        52  GraphicsServices               0x00000001a436f534 GSEventRunModal + 108 (GSEvent.c:2246)

        53  UIKitCore                     0x000000019e291698 UIApplicationMain + 1940 (UIApplication.m:4758)

        54  [Redacted App Name]                         0x00000001024c6828 main + 68 (AppDelegate.swift:24)

        55  libdyld.dylib                 0x0000000199fa0e18 start + 4