0 Replies
      Latest reply on Jun 8, 2018 8:07 PM by hpcarlos
      hpcarlos Level 1 Level 1 (0 points)

        Hi,

         

        We have reports from several users that our app fails to launch in the background. The app could launch in the background due to a background fetch event.

         

        After analyzing their logs, we see the following:

         

        [com.app.id] Provision violated for watchdog scene-create: <FBSProcessResourceProvision: 0x1108d7d10; allowance: <; FBSProcessResourceAllowance; type: scheduledTime; timeValue: 3.77s>; violated: YES>

        [com.app.id] Executing termination for reason (none) with request: <FBSProcessTerminationRequest: 0x107abbfb0; label: "watchdog provision violated"; exceptionCode: "Watchdog Violation (0x8BADF00D)"; reportType: CrashLog; explanation: "scene-create watchdog transgression: com.app.id exhausted CPU time allowance of 3.77 seconds">

         

        The app seems to be already running, since I see this:

         

        [app:1849] Attempting to acquire assertion for app:1849: <BKProcessAssertion: 0x100735de0; "com.lapp.launch_sequence.bgtask" (finishTask:180s); id:…7A9D83D792D1>

         

        So at some point during the launch sequence(didFinishLaunching...), we were able to request a background task assertion.

         

        And here we get such assertion:

         

        [app:1849] Add assertion: <BKProcessAssertion: 0x100735de0; id: 1849-FAE26CB2-AC0A-4EC6-AD1E-7A9D83D792D1; name: com.app.launch_sequence.bgtask; state: active; reason: finishTask; duration: 180.0s> {

            owner = <BSProcessHandle: 0x10073a8b0; app:1849; valid: YES>;

            flags = preventSuspend, preventIdleSleep, preventSuspendOnSleep;

        }

         

        Is there a way to get more information why we are just given 3.77 seconds? I thought the allowance was around 20 seconds. This is after dylib, could this mean we are taking almost 16 seconds during framework loading, and thus only left with almost 4s during didFinishLaunching?

         

        Found the crash logs:

         

        Termination Reason: Namespace SPRINGBOARD, Code 0x8badf00d

        Termination Description: SPRINGBOARD, scene-create watchdog transgression: com.app.id exhausted CPU time allowance of 3.77 seconds |  | ProcessVisibility: Background | ProcessState: Running | WatchdogEvent: scene-create | WatchdogVisibility: Background | WatchdogCPUStatistics: ( | "Elapsed total CPU time (seconds): 10.270 (user 10.270, system 0.000), 57% CPU", | "Elapsed application CPU time (seconds): 5.082, 28% CPU" | )

        Triggered by Thread:  0

         

         

        Filtered syslog:
        None found
        
        
        Thread 0 name:  Dispatch queue: com.apple.main-thread
        Thread 0 Crashed:
        0   CoreFoundation                 0x00000001824ef088 +[NSDictionary dictionaryWithObject:forKey:] + 0
        1   UIKit                         0x000000018c190708 -[UIApplication _deactivateForReason:notify:] + 616
        2   UIKit                         0x000000018c19f948 -[UIApplication _runWithMainScene:transitionContext:completion:] + 2428
        3   UIKit                         0x000000018c7cfa0c __111-[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:]_block_invoke + 784
        4   UIKit                         0x000000018c19ee4c +[_UICanvas _enqueuePostSettingUpdateTransactionBlock:] + 160
        5   UIKit                         0x000000018c19ece8 -[__UICanvasLifecycleMonitor_Compatability _scheduleFirstCommitForScene:transition:firstActivation:completion:] + 240
        6   UIKit                         0x000000018c19db78 -[__UICanvasLifecycleMonitor_Compatability activateEventsOnly:withContext:completion:] + 724
        7   UIKit                         0x000000018ce3372c __82-[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:]_block_invoke + 296
        8   UIKit                         0x000000018c19d268 -[_UIApplicationCanvas _transitionLifecycleStateWithTransitionContext:completion:] + 432
        9   UIKit                         0x000000018cc189b8 __125-[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:]_block_invoke + 220
        10  UIKit                         0x000000018cd66ae8 _performActionsWithDelayForTransitionContext + 112
        11  UIKit                         0x000000018c19cc88 -[_UICanvasLifecycleSettingsDiffAction performActionsForCanvas:withUpdatedScene:settingsDiff:fromSettings:transitionContext:] + 248
        12  UIKit                         0x000000018c19c624 -[_UICanvas scene:didUpdateWithDiff:transitionContext:completion:] + 368
        13  UIKit                         0x000000018c19965c -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 540
        14  UIKit                         0x000000018c1993ac -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 364
        15  FrontBoardServices             0x0000000184e00470 -[FBSSceneImpl _didCreateWithTransitionContext:completion:] + 364
        16  FrontBoardServices             0x0000000184e08d6c __56-[FBSWorkspace client:handleCreateScene:withCompletion:]_block_invoke_2 + 224
        17  libdispatch.dylib             0x0000000181ef4ae4 _dispatch_client_callout + 16
        18  libdispatch.dylib             0x0000000181efc1f4 _dispatch_block_invoke_direct$VARIANT$mp + 224
        19  FrontBoardServices             0x0000000184e34878 __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36
        20  FrontBoardServices             0x0000000184e3451c -[FBSSerialQueue _performNext] + 404
        21  FrontBoardServices             0x0000000184e34ab8 -[FBSSerialQueue _performNextFromRunLoopSource] + 56
        22  CoreFoundation                 0x00000001825ab404 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
        23  CoreFoundation                 0x00000001825aac2c __CFRunLoopDoSources0 + 276
        24  CoreFoundation                 0x00000001825a879c __CFRunLoopRun + 1204
        25  CoreFoundation                 0x00000001824c8da8 CFRunLoopRunSpecific + 552
        26  GraphicsServices               0x00000001844ab020 GSEventRunModal + 100
        27  UIKit                         0x000000018c4a978c UIApplicationMain + 236