App review crash report

Can someone explain this section of a crash report we have received from an iOS app submission that crashes on launch. We have not been able to replicate in Xcode or in TestFlight. We use Xcode Version 15.0 (15A240d)

Review device details:

  • Device type: iPhone
  • OS version: iOS 17.0.3
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread:  0


Thread 0 name:  com.apple.main-thread
Thread 0 Crashed:
0    libsystem_kernel.dylib                  0x20056101c __pthread_kill + 8
1    libsystem_pthread.dylib                 0x222b06680 pthread_kill + 268
2    libsystem_c.dylib                       0x1c195fbb0 abort + 180
3    libc++abi.dylib                         0x222a34660 abort_message + 132
4    libc++abi.dylib                         0x222a2462c demangling_terminate_handler() + 348
5    libobjc.A.dylib                         0x1b1de6d34 _objc_terminate() + 144
6    libc++abi.dylib                         0x222a33a24 std::__terminate(void (*)()) + 16
7    libc++abi.dylib                         0x222a339c8 std::terminate() + 56
8    libdispatch.dylib                       0x1c18a7314 _dispatch_client_callout + 40
9    libdispatch.dylib                       0x1c18aad48 _dispatch_block_invoke_direct + 284
10   FrontBoardServices                      0x1d1a889ec __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 52
11   FrontBoardServices                      0x1d1a8896c -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] + 240
12   FrontBoardServices                      0x1d1a88844 -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] + 28
13   CoreFoundation                          0x1b99b0acc __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
14   CoreFoundation                          0x1b99afd48 __CFRunLoopDoSource0 + 176
15   CoreFoundation                          0x1b99ae55c __CFRunLoopDoSources0 + 340
16   CoreFoundation                          0x1b99ad238 __CFRunLoopRun + 828
17   CoreFoundation                          0x1b99ace18 CFRunLoopRunSpecific + 608
18   GraphicsServices                        0x1fc4715ec GSEventRunModal + 164
19   UIKitCore                               0x1bbdbb2fc -[UIApplication _run] + 888
20   UIKitCore                               0x1bbdba938 UIApplicationMain + 340
21   Ordre                                   0x10459c968 main + 18792 (main.m:16)
22   dyld                                    0x1dc197d44 start + 2104
Answered by DTS Engineer in 770140022

Consider the Last Exception Backtrace section of your first crash report:

Last Exception Backtrace:
0   CoreFoundation     … __exceptionPreprocess + 164
1   libobjc.A.dylib    … objc_exception_throw + 60
2   UIKitCore          … +[UIProxyObject addMappings:forCoder:] + 0
3   UIKitCore          … -[UIApplication _loadMainStoryboardFileNamed:bundle:] + 80
4   UIKitCore          … -[UIApplication _loadMainInterfaceFile] + 156
5   UIKitCore          … -[UIApplication _runWithMainScene:transitionContext:completion:] + 688
6   UIKitCore          … -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext…
7   UIKitCore          … _UIScenePerformActionsWithLifecycleActionMask + 112
8   UIKitCore          … __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:w…
9   UIKitCore          … -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:from…
10  UIKitCore          … -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTr…
11  UIKitCore          … -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] +…
12  UIKitCore          … __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _perfo…
13  UIKitCore          … +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:fromCurrentState:actions:complet…
14  UIKitCore          … _UISceneSettingsDiffActionPerformChangesWithTransitionContextAndCompletion + 224
15  UIKitCore          … -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performAct…
16  UIKitCore          … __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.225 …
17  UIKitCore          … -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 216
18  UIKitCore          … -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 244
19  UIKitCore          … -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 508
20  UIKitCore          … -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 288
21  FrontBoardServices … -[FBSScene _callOutQueue_didCreateWithTransitionContext:completion:] + 324
22  FrontBoardServices … __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:co…
23  FrontBoardServices … -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 168
24  FrontBoardServices … __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:co…
25  libdispatch.dylib  … _dispatch_client_callout + 20
26  libdispatch.dylib  … _dispatch_block_invoke_direct + 284
27  FrontBoardServices … __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 52
28  FrontBoardServices … -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] + 240
29  FrontBoardServices … -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] + 28
30  CoreFoundation     … __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
31  CoreFoundation     … __CFRunLoopDoSource0 + 176
32  CoreFoundation     … __CFRunLoopDoSources0 + 340
33  CoreFoundation     … __CFRunLoopRun + 828
34  CoreFoundation     … CFRunLoopRunSpecific + 608
35  GraphicsServices   … GSEventRunModal + 164
36  UIKitCore          … -[UIApplication _run] + 888
37  UIKitCore          … UIApplicationMain + 340
38  Ordre              … 0x102574000 + 18792
39  dyld               … start + 2104

Frames 39 through 25 match your previous post, but this actually tells us more about where the exception came from. Specifically, frame 24 through 20 suggest that the system is calling you to create a new scene and… well… there’s a lot of UIKit scene creation goo from there.

Probably the most interesting thing here is frame 1, which suggests that UIKit is trying to load the storyboard for your scene. Frame 0 threw an exception. I believe the symbol name there is a red herring, an the actual symbol name is +[UIStoryboard storyboardWithName:bundle:]. I’m not sure exactly what exception this is, but there are a couple of likely candidates:

  • There doesn't seem to be a valid compiled storyboard at path 'PPP'

  • Could not find a storyboard named 'NNN' in bundle BBB

This suggests that the app you submitted to App Review is built incorrectly. I recommend that you find the Xcode archive you used to submit your app and export a Development-signed copy of your app from there. I suspect it’ll crash in the same way.

For more on that, see Testing a release build.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Frontboard is part of iOS’s process management system. So:

  • Frames 22 through 18 are standard app startup stuff.

  • Frames 17 through 13 are standard CF run loop stuff. Frame 13 shows that the run loop is calling out to an event source associated with FrontBoardServices private framework.

  • Frames 12 through 10 are FrontBoardServices internal stuff. Frame 10 shows that it’s running some sort of ‘perform work on main thread’ block.

  • Frames 9 through 8 show Dispatch running that block.

  • Frames 7 through 0 indicate that the block threw a language exception which went unhandled and thus terminating your process.

So, Frontboard decided it needed to run a block on the main thread, it called that block, and that block threw a language exception. This could be a problem with your code or a problem with the system, depending on the identity of that block.

If you post the full crash report, I may be able to tell you more. Please use the process described in Posting a Crash Report.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Accepted Answer

Consider the Last Exception Backtrace section of your first crash report:

Last Exception Backtrace:
0   CoreFoundation     … __exceptionPreprocess + 164
1   libobjc.A.dylib    … objc_exception_throw + 60
2   UIKitCore          … +[UIProxyObject addMappings:forCoder:] + 0
3   UIKitCore          … -[UIApplication _loadMainStoryboardFileNamed:bundle:] + 80
4   UIKitCore          … -[UIApplication _loadMainInterfaceFile] + 156
5   UIKitCore          … -[UIApplication _runWithMainScene:transitionContext:completion:] + 688
6   UIKitCore          … -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext…
7   UIKitCore          … _UIScenePerformActionsWithLifecycleActionMask + 112
8   UIKitCore          … __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:w…
9   UIKitCore          … -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:from…
10  UIKitCore          … -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTr…
11  UIKitCore          … -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] +…
12  UIKitCore          … __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _perfo…
13  UIKitCore          … +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:fromCurrentState:actions:complet…
14  UIKitCore          … _UISceneSettingsDiffActionPerformChangesWithTransitionContextAndCompletion + 224
15  UIKitCore          … -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performAct…
16  UIKitCore          … __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.225 …
17  UIKitCore          … -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 216
18  UIKitCore          … -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 244
19  UIKitCore          … -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 508
20  UIKitCore          … -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 288
21  FrontBoardServices … -[FBSScene _callOutQueue_didCreateWithTransitionContext:completion:] + 324
22  FrontBoardServices … __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:co…
23  FrontBoardServices … -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 168
24  FrontBoardServices … __92-[FBSWorkspaceScenesClient createSceneWithIdentity:parameters:transitionContext:co…
25  libdispatch.dylib  … _dispatch_client_callout + 20
26  libdispatch.dylib  … _dispatch_block_invoke_direct + 284
27  FrontBoardServices … __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 52
28  FrontBoardServices … -[FBSMainRunLoopSerialQueue _targetQueue_performNextIfPossible] + 240
29  FrontBoardServices … -[FBSMainRunLoopSerialQueue _performNextFromRunLoopSource] + 28
30  CoreFoundation     … __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 28
31  CoreFoundation     … __CFRunLoopDoSource0 + 176
32  CoreFoundation     … __CFRunLoopDoSources0 + 340
33  CoreFoundation     … __CFRunLoopRun + 828
34  CoreFoundation     … CFRunLoopRunSpecific + 608
35  GraphicsServices   … GSEventRunModal + 164
36  UIKitCore          … -[UIApplication _run] + 888
37  UIKitCore          … UIApplicationMain + 340
38  Ordre              … 0x102574000 + 18792
39  dyld               … start + 2104

Frames 39 through 25 match your previous post, but this actually tells us more about where the exception came from. Specifically, frame 24 through 20 suggest that the system is calling you to create a new scene and… well… there’s a lot of UIKit scene creation goo from there.

Probably the most interesting thing here is frame 1, which suggests that UIKit is trying to load the storyboard for your scene. Frame 0 threw an exception. I believe the symbol name there is a red herring, an the actual symbol name is +[UIStoryboard storyboardWithName:bundle:]. I’m not sure exactly what exception this is, but there are a couple of likely candidates:

  • There doesn't seem to be a valid compiled storyboard at path 'PPP'

  • Could not find a storyboard named 'NNN' in bundle BBB

This suggests that the app you submitted to App Review is built incorrectly. I recommend that you find the Xcode archive you used to submit your app and export a Development-signed copy of your app from there. I suspect it’ll crash in the same way.

For more on that, see Testing a release build.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

App review crash report
 
 
Q