4 Replies
      Latest reply on Nov 10, 2019 3:24 PM by eskimo
      mateuszstompor Level 1 Level 1 (0 points)

        I develop an application which communicates with an external device over TCP. Occassionally the app crashes when user kills the app (by swipping it up). I have no clue why it crashes and to me it seems to be an OS bug. In the callback aplicationWillTerminate TCP connection is closed.

         

        The method looks as follows:

         

        -(void)stop {
            @synchronized(self) {
                [self closeClientConnection];
                if([FileUtility isFileDescriptorValid: serverSocketDescriptor] && close(serverSocketDescriptor) == ERROR) {
                    [logger error:@"Cannot close server socket connection"
                        filename:@__FILE__
                            line:__LINE__
                        function:[[NSString alloc]initWithUTF8String:__FUNCTION__]];
                } else {
                    [logger info:@"Server socket closed"
                        filename:@__FILE__
                            line:__LINE__
                        function:[[NSString alloc]initWithUTF8String:__FUNCTION__]];
                }
                [serverThread cancel];
            }
        }
        

         

        Stack trace can be seen below:           0x104334d44 CLSHandler + 4329868612

        # Organization: none
        # Platform: ios
        # Version: 1.0 (20)
        # Date: 2019-11-06T18:26:00Z
        # OS Version: 13.2.0 (17B84)
        # Device: iPhone 7
        # RAM Free: 5.4%
        # Disk Free: 14%
        
        
        #0. Crashed: com.apple.main-thread
        0  libsystem_kernel.dylib         0x197aeee8c close + 8
        1  MyAppAppStore                  0x1042f4960 -[TCPServer stop] + 258 (TCPServer.m:258)
        2  MyAppAppStore                  0x10431a8bc @objc AppDelegate.applicationWillTerminate(_:) (<compiler-generated>)
        3  UIKitCore                      0x19bd5349c -[UIApplication _deactivateForReason:notify:] + 760
        4  UIKitCore                      0x19b52b1fc -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 264
        5  UIKitCore                      0x19b52b5f0 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 736
        6  UIKitCore                      0x19b52aeac -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 336
        7  UIKitCore                      0x19b52f3c8 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke_2 + 188
        8  UIKitCore                      0x19b8f26a4 +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:actions:completion:] + 824
        9  UIKitCore                      0x19b9d95b0 _UISceneSettingsDiffActionPerformChangesWithTransitionContext + 244
        10 UIKitCore                      0x19b52f100 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke + 136
        11 UIKitCore                      0x19b9d94ac _UISceneSettingsDiffActionPerformActionsWithDelayForTransitionContext + 100
        12 UIKitCore                      0x19b52ef6c -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 376
        13 UIKitCore                      0x19b3a0ba4 __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke + 636
        14 UIKitCore                      0x19b39f70c -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 248
        15 UIKitCore                      0x19b3a08dc -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 220
        16 UIKitCore                      0x19b91350c -[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] + 464
        17 FrontBoardServices             0x19cdfb2f8 -[FBSSceneImpl updater:didUpdateSettings:withDiff:transitionContext:completion:] + 544
        18 FrontBoardServices             0x19ce1fdd8 __88-[FBSWorkspaceScenesClient sceneID:updateWithSettingsDiff:transitionContext:completion:]_block_invoke_2 + 120
        19 FrontBoardServices             0x19ce04fb4 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 232
        20 FrontBoardServices             0x19ce1fd0c __88-[FBSWorkspaceScenesClient sceneID:updateWithSettingsDiff:transitionContext:completion:]_block_invoke + 184
        21 libdispatch.dylib              0x1979c3184 _dispatch_client_callout + 16
        22 libdispatch.dylib              0x19796bfd8 _dispatch_block_invoke_direct$VARIANT$mp + 224
        23 FrontBoardServices             0x19ce444c8 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 40
        24 FrontBoardServices             0x19ce44194 -[FBSSerialQueue _queue_performNextIfPossible] + 404
        25 FrontBoardServices             0x19ce446bc -[FBSSerialQueue _performNextFromRunLoopSource] + 28
        26 CoreFoundation                 0x197c737c4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
        27 CoreFoundation                 0x197c7371c __CFRunLoopDoSource0 + 80
        28 CoreFoundation                 0x197c72eb4 __CFRunLoopDoSources0 + 180
        29 CoreFoundation                 0x197c6e000 __CFRunLoopRun + 1080
        30 CoreFoundation                 0x197c6d8a0 CFRunLoopRunSpecific + 464
        31 GraphicsServices               0x1a1bc5328 GSEventRunModal + 104
        32 UIKitCore                      0x19bd5e768 UIApplicationMain + 1936
        33 MyAppAppStore                  0x1042f7b0c main + 15 (AppDelegate.swift:15)
        34 libdyld.dylib                  0x197af8360 start + 4
        
        
        --
        
        
        #0. Crashed: com.apple.main-thread
        0  libsystem_kernel.dylib         0x197aeee8c close + 8
        1  MyAppAppStore                  0x1042f4960 -[TCPServer stop] + 258 (TCPServer.m:258)
        2  MyAppAppStore                  0x10431a8bc @objc AppDelegate.applicationWillTerminate(_:) (<compiler-generated>)
        3  UIKitCore                      0x19bd5349c -[UIApplication _deactivateForReason:notify:] + 760
        4  UIKitCore                      0x19b52b1fc -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 264
        5  UIKitCore                      0x19b52b5f0 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 736
        6  UIKitCore                      0x19b52aeac -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 336
        7  UIKitCore                      0x19b52f3c8 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke_2 + 188
        8  UIKitCore                      0x19b8f26a4 +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:actions:completion:] + 824
        9  UIKitCore                      0x19b9d95b0 _UISceneSettingsDiffActionPerformChangesWithTransitionContext + 244
        10 UIKitCore                      0x19b52f100 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block_invoke + 136
        11 UIKitCore                      0x19b9d94ac _UISceneSettingsDiffActionPerformActionsWithDelayForTransitionContext + 100
        12 UIKitCore                      0x19b52ef6c -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 376
        13 UIKitCore                      0x19b3a0ba4 __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke + 636
        14 UIKitCore                      0x19b39f70c -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 248
        15 UIKitCore                      0x19b3a08dc -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 220
        16 UIKitCore                      0x19b91350c -[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] + 464
        17 FrontBoardServices             0x19cdfb2f8 -[FBSSceneImpl updater:didUpdateSettings:withDiff:transitionContext:completion:] + 544
        18 FrontBoardServices             0x19ce1fdd8 __88-[FBSWorkspaceScenesClient sceneID:updateWithSettingsDiff:transitionContext:completion:]_block_invoke_2 + 120
        19 FrontBoardServices             0x19ce04fb4 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 232
        20 FrontBoardServices             0x19ce1fd0c __88-[FBSWorkspaceScenesClient sceneID:updateWithSettingsDiff:transitionContext:completion:]_block_invoke + 184
        21 libdispatch.dylib              0x1979c3184 _dispatch_client_callout + 16
        22 libdispatch.dylib              0x19796bfd8 _dispatch_block_invoke_direct$VARIANT$mp + 224
        23 FrontBoardServices             0x19ce444c8 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 40
        24 FrontBoardServices             0x19ce44194 -[FBSSerialQueue _queue_performNextIfPossible] + 404
        25 FrontBoardServices             0x19ce446bc -[FBSSerialQueue _performNextFromRunLoopSource] + 28
        26 CoreFoundation                 0x197c737c4 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
        27 CoreFoundation                 0x197c7371c __CFRunLoopDoSource0 + 80
        28 CoreFoundation                 0x197c72eb4 __CFRunLoopDoSources0 + 180
        29 CoreFoundation                 0x197c6e000 __CFRunLoopRun + 1080
        30 CoreFoundation                 0x197c6d8a0 CFRunLoopRunSpecific + 464
        31 GraphicsServices               0x1a1bc5328 GSEventRunModal + 104
        32 UIKitCore                      0x19bd5e768 UIApplicationMain + 1936
        33 MyAppAppStore                  0x1042f7b0c main + 15 (AppDelegate.swift:15)
        34 libdyld.dylib                  0x197af8360 start + 4
        
        
        #1. Thread
        0  libsystem_kernel.dylib         0x197aeea7c __workq_kernreturn + 8
        1  libsystem_pthread.dylib        0x197a12fd4 _pthread_wqthread + 352
        2  libsystem_pthread.dylib        0x197a15ad4 start_wqthread + 8
        
        
        #2. Thread
        0  libsystem_kernel.dylib         0x197aeea7c __workq_kernreturn + 8
        1  libsystem_pthread.dylib        0x197a12fd4 _pthread_wqthread + 352
        2  libsystem_pthread.dylib        0x197a15ad4 start_wqthread + 8
        
        
        #3. com.apple.uikit.eventfetch-thread
        0  libsystem_kernel.dylib         0x197acc634 mach_msg_trap + 8
        1  libsystem_kernel.dylib         0x197acbaa0 mach_msg + 72