App denied from AppStore - app signing issue

Hello,
I have an issue with the submission of my company’s app to the Apple AppStore.

Long story short: current app in production runs on SDK 41. Few weeks ago we decided to update to latest SDK (44) to catch by, and migrate at the same time to EAS (we were using expo build before that).
After completing the upgrade locally and setting up EAS, we submitted to both the PlayStore and AppStore (using EAS submit), but the build was quickly denied by Apple for the following reason: the app crashes at launch on iPads running with iOS 15 (they did not provide much more information, apart from 3 crashlogs that I can post here if needed).
As it was running fine locally on test iPhones and iPhone + iPads emulators, we tried installing the build directly to an iPad emulator and indeed the OS claimed that the app needs to be updated to run on the
device.

Some research led us to this documentation by Apple that seems to be the reason for our issue.
They suggest that the issue comes from obsolete certificates and/or provisioning profiles. The codesign utility does output a problematic config:

CodeDirectory v=20200 size=319374 flags=0x0(none) hashes=9971+7 location=embedded
Page size=4096
    -7=5e84f9b7e1bbd20351910aee65c63173f67563d043d8ed6fe815a3d570d7389b
    -6=0000000000000000000000000000000000000000000000000000000000000000
    -5=3908adbad3c4ab66caba788223e65d88f2a124d0a2999db550eb79da179ad30f
    -4=0000000000000000000000000000000000000000000000000000000000000000
    -3=fc6312c7ae62346de99b8712c615136efdf60c99c563e149b2ebda2e606ebfa5
    -2=e0c7f3ce4cdbd0036ff635b72093381bc6319996df33f92ad8099e97837aac48

As described in Apple’s documentation above, our value of CodeDirectory (20200) is not sufficient for the app to run on iOS 15+ devices (need 20500+). However the DER entitlements seem to be up-to-date.

Now, we already spent ~3 working days trying to resolve this issue. Here is what we tried (nothing worked):

  • Updated macOS to Monterey and xCode to v13.2.1
  • Requested a fresh keychain certificate from Apple certificate authority
  • Created fresh certificates and provisioning profiles of type “Apple Distribution” from developer.apple.com, downloaded them & uploaded them to EAS through eas credentials
  • Created fresh certificate directly in xCode & uploaded it to EAS
  • Letting EAS create new certificate & provisioning profile
  • Re-signing our app (as suggested in Apple documentation above)
  • Using a different iMac/MacBook
  • Getting back to expo build:ios
  • Asking for help on Expo’s Discord server (twice but unfortunately, no one could help)

Versions used:

Expo: SDK 44 - managed workflow
Expo CLI: 5.3.0
EAS CLI: eas-cli/0.47.0

My team and I are desperate to find a solution to this issue, as it prevents us to be up-to-date regarding the SDK… Any help or research track would be welcome.
Thank you!

Hi I was able to reproduce the issue. it’s happening on the Monterey image, if you have the image field set to latest in your eas.json delete it or set it to default.

Check next comment

Ignore my previous comment, I forgot that issue with (v=20200) was about enterprise and ad-hoc builds, this is as far as I’m aware the correct value for archives that you are uploading to the store.

but the build was quickly denied by Apple for the following reason: the app crashes at launch on iPads running with iOS 15 (they did not provide much more information, apart from 3 crashlogs that I can post here if needed).

if apps crashes on launch then it’s unlikely signing issue, without more info it’s hard to tell, did you tested it on tesflight or via internal builds?

Hello wkozyra and thank you for your quick reply!

Actually our app (called Energic) does not install at all on iPads running iOS 15+.
The feedback from Apple after their review of our app was:

We were unable to review your app as it crashed on launch. We have attached detailed crash logs to help troubleshoot this issue.

Review device details:  

- Device type: iPad  
- OS version: iOS 15.3

They also joined these 3 crashlogs:

I believe you can access them directly via those links, because I could not upload .txt files here. I hope this helps.

The following screenshots were taken when trying to install our build on an iPad emulator:



Sorry for low quality. These errors led us to the signing-related issues.
We could not test on TestFlight as Apple review did not pass, and the build works fine on Android devices.

I can provide any other info that could help. Thanks for helping us !

Hey wkozyra, do you have any news regarding our issue ? We are really stuck here and it keeps us from updating our SDK :frowning:

Hello there,

Does anyone of the Expo team have an update about this issue please ? Maybe @adamjnav or @sharpkel ?
We are really stuck out here :frowning:

Thanks for your kind help,

Hello,
Since our issue happened after transitioning to EAS, I started over last week. Updated Expo’s SDK from 41 to 42, then 43. Then I used the old build service (expo build:ios).
I still get the same error when trying to install the app on an emulator:


And the codesign -dv command on a macbook does still output a value of CodeDirectory = 20400.
We tried several times recreating the certificates and provisioning profiles on different Macs. We don’t know what else to do…
Thanks for any help really

Hi @louis-energic

Not sure this will help you, but is it possible your app has 32 bit code? Part of the reason I suspect that is the “failed to find matching arch” part of the error message. Maybe one of your dependencies (if your app is using the bare workflow or has a native dependency.) If you were previously using expo build then I don’t know. But maybe you could unzip the .ipa file and run file on the contents to check if any are 32 bit binaries.

:man_shrugging:

By the way, we can’t see the above crash logs.

e.g. the following app contains only 64-bit binaries/libraries:

% find . -type f -print0 | xargs -0 file | grep Mach-O
./Payload/devvyc.app/devvyc:                                                                     Mach-O 64-bit executable arm64
./Payload/devvyc.app/Frameworks/libswiftCoreImage.dylib:                                         Mach-O 64-bit dynamically linked shared library arm64
./Payload/devvyc.app/Frameworks/libswiftObjectiveC.dylib:                                        Mach-O 64-bit dynamically linked shared library arm64
./Payload/devvyc.app/Frameworks/libswiftCore.dylib:                                              Mach-O 64-bit dynamically linked shared library arm64
./Payload/devvyc.app/Frameworks/libswiftCoreGraphics.dylib:                                      Mach-O 64-bit dynamically linked shared library arm64
./Payload/devvyc.app/Frameworks/libswiftUIKit.dylib:                                             Mach-O 64-bit dynamically linked shared library arm64
./Payload/devvyc.app/Frameworks/libswiftMetal.dylib:                                             Mach-O 64-bit dynamically linked shared library arm64
./Payload/devvyc.app/Frameworks/libswiftDispatch.dylib:                                          Mach-O 64-bit dynamically linked shared library arm64
./Payload/devvyc.app/Frameworks/libswiftos.dylib:                                                Mach-O 64-bit dynamically linked shared library arm64
./Payload/devvyc.app/Frameworks/libswiftCoreFoundation.dylib:                                    Mach-O 64-bit dynamically linked shared library arm64
./Payload/devvyc.app/Frameworks/libswiftDarwin.dylib:                                            Mach-O 64-bit dynamically linked shared library arm64
./Payload/devvyc.app/Frameworks/libswiftQuartzCore.dylib:                                        Mach-O 64-bit dynamically linked shared library arm64
./Payload/devvyc.app/Frameworks/libswiftAccelerate.dylib:                                        Mach-O 64-bit dynamically linked shared library arm64
./Payload/devvyc.app/Frameworks/libswiftFoundation.dylib:                                        Mach-O 64-bit dynamically linked shared library arm64
1 Like

Dear @wodin, thanks for your answer!
We did not read much about these 32-bit files you are talking about so we are quite hopeful.
However I can not say whether the output of the command you suggested enlightens us, so maybe can you ?
Here is what we got.

Here are the three crashlogs:

Thanks again for your time and help, we are really looking forward to resolve this and move on with new SDK versions…

Hi again

I am not an expert on this stuff, but maybe I can give you a little information.

The file output shows that your dylibs are fat/universal binaries (i.e. they contain code for multiple architectures in the same file). The app’s executable itself is not a fat binary and only has arm64 code. I think this should be OK, because AFAIK recent versions of iOS only support 64 bit code (i.e. the 32 bit arm_v7/arm_v7s code will not be used at all.) and i think that iOS 15 on an iPad should be able to run arm64 code even if it might also support arm64e code.

While some of the dylibs contained all four architectures, others did not contain arm64e. All of them did as far as I could see contain arm64, which matches with your app’s executable. So I think that should be OK.

Another wrinkle, which might explain why you’re getting the “failed to find matching arch” error when you try to run it on your simulator:

  • Intel Macs can only run Intel Simulators. i.e. they can only run x86_64 code (and maybe x86 code?)
  • M1 Macs can, as far as I know, run Intel Simulators using Rosetta and also ARM Simulators.

If you try to run your arm64 app on an Intel Simulator it won’t work and I would not be surprised to see an error about unmatched arch. But of course the actual devices have ARM-based chips rather than Intel chips, so it’s possible this “failed to find matching arch” error is a red herring that is unrelated to the App store crashes.

Looking at the crashlogs, again I am not an expert, but here’s what I can see:

“bug_type”: “309”,

I tried looking this up but was not able to find anything that helped.

“cpuType”: “ARM-64”,

I think your arm64 executable in addition to the arm64 versions of your dylibs should be OK on this device.

“exception”: {
“codes”: “0x0000000000000000, 0x0000000000000000”,
“rawCodes”: [
0,
0
],
“type”: “EXC_CRASH”,
“signal”: “SIGABRT”
},

OK, I think the app died because of an uncaught exception which caused the (Objective C?) runtime to call abort().

“asi”: {
“libsystem_c.dylib”: [
“abort() called”
]
},

Here’s confirmation of the abort() call.

{ “imageOffset”: 626940, “symbol”: “__exceptionPreprocess”, “symbolLocation”: 220, “imageIndex”: 1 },
{ “imageOffset”: 89444, “symbol”: “objc_exception_throw”, “symbolLocation”: 60, “imageIndex”: 9 },
{ “imageOffset”: 250296, “imageIndex”: 4 },
{ “imageOffset”: 329116, “imageIndex”: 4 },
{ “imageOffset”: 326736, “imageIndex”: 4 },
{ “imageOffset”: 10532, “symbol”: “_dispatch_call_block_and_release”, “symbolLocation”: 32, “imageIndex”: 10 },
{ “imageOffset”: 18032, “symbol”: “_dispatch_client_callout”, “symbolLocation”: 20, “imageIndex”: 10 },
{ “imageOffset”: 48628, “symbol”: “_dispatch_lane_serial_drain”, “symbolLocation”: 672, “imageIndex”: 10 },
{ “imageOffset”: 51560, “symbol”: “_dispatch_lane_invoke”, “symbolLocation”: 392, “imageIndex”: 10 },
{ “imageOffset”: 94648, “symbol”: “_dispatch_workloop_worker_thread”, “symbolLocation”: 656, “imageIndex”: 10 },
{ “imageOffset”: 4340, “symbol”: “_pthread_wqthread”, “symbolLocation”: 288, “imageIndex”: 6 },
{ “imageOffset”: 3732, “symbol”: “start_wqthread”, “symbolLocation”: 8, “imageIndex”: 6 }

Again, Objective C exception.

    "esr": {
      "value": 1442840704,
      "description": " Address size fault"
    },

OK, I think this is the direct cause of the exception, but no idea how it happened.

The “frames” section below that again points to an exception resulting in an abort() call.

While searching for information on these crashes I came across this tool that formats your crashes in a way that makes them easier to understand:

But unfortunately I was not able to figure out anything more than the above.

I think what I would do is try to figure out how to build an x86_64 version of the app. If I build a test app using eas build with the "simulator": true option then I seem to get an x86_64 binary. Unless you have an ios directory and you’ve changed the architectures in Xcode I would expect it to work the same for you, but @wkozyra is the expert on this sort of stuff.

Otherwise get a physical device to test on.

Then see if you can cause it to crash and in theory Xcode should tell you something about what happened. I haven’t done that sort of thing before, though. But see if some of the debugging info in the Expo docs help. e.g. https://docs.expo.dev/workflow/debugging/#my-production-app-is-crashing

Same issue here. Although this is the first eas build I have done. Works fine on Android.

SDK 45.0.0
Expo CLI: 5.4.9
EAS CLI: 0.52.0

{"app_name":"EnglishFootballQuiz","timestamp":"2022-06-08 18:25:55.00 +0200","app_version":"1.0.4","slice_uuid":"f84b1db9-d67c-3e63-944c-fb009059bbcd","build_version":"1","platform":2,"bundleID":"com.hinnok.englishfootballquiz","share_with_app_devs":1,"is_first_party":0,"bug_type":"309","os_version":"iPhone OS 15.4.1 (19E258)","incident_id":"4F23B368-9CE1-4FFF-983D-DA11929EE551","name":"EnglishFootballQuiz"}
{
  "uptime" : 7100,
  "procLaunch" : "2022-06-08 18:25:53.4085 +0200",
  "procRole" : "Foreground",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "iPhone8,1",
  "procStartAbsTime" : 171163707397,
  "coalitionID" : 661,
  "osVersion" : {
    "isEmbedded" : true,
    "train" : "iPhone OS 15.4.1",
    "releaseType" : "User",
    "build" : "19E258"
  },
  "captureTime" : "2022-06-08 18:25:53.6752 +0200",
  "incident" : "4F23B368-9CE1-4FFF-983D-DA11929EE551",
  "bug_type" : "309",
  "pid" : 1385,
  "procExitAbsTime" : 171170054615,
  "cpuType" : "ARM-64",
  "procName" : "EnglishFootballQuiz",
  "procPath" : "\/private\/var\/containers\/Bundle\/Application\/5CFDE2FC-2DA1-4BD6-959D-A77AB5456466\/EnglishFootballQuiz.app\/EnglishFootballQuiz",
  "bundleInfo" : {"CFBundleShortVersionString":"1.0.4","CFBundleVersion":"1","CFBundleIdentifier":"com.hinnok.englishfootballquiz"},
  "storeInfo" : {"deviceIdentifierForVendor":"CA3C353F-87F1-4295-A3FE-314F83CB4F61","thirdParty":true},
  "parentProc" : "launchd",
  "parentPid" : 1,
  "coalitionName" : "com.hinnok.englishfootballquiz",
  "crashReporterKey" : "cd88b1fbe421ecf01d10fe857c6bc835eedd8f65",
  "basebandVersion" : "9.01.00",
  "isCorpse" : 1,
  "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
  "ktriageinfo" : "VM - Fault hit memory shortage\nVM - Fault hit memory shortage\nVM - Fault hit memory shortage\nVM - Fault hit memory shortage\nVM - Fault hit memory shortage\n",
  "asi" : {"libsystem_c.dylib":["abort() called"]},
  "lastExceptionBacktrace" : [{"imageOffset":599820,"symbol":"__exceptionPreprocess","symbolLocation":216,"imageIndex":0},{"imageOffset":85764,"symbol":"objc_exception_throw","symbolLocation":56,"imageIndex":16},{"imageOffset":1429464,"symbol":"-[NSException init]","symbolLocation":0,"imageIndex":0},{"imageOffset":11378044,"symbol":"GADApplicationVerifyPublisherInitializedCorrectly","symbolLocation":348,"imageIndex":4},{"imageOffset":11378456,"imageIndex":4},{"imageOffset":405652,"symbol":"_dispatch_call_block_and_release","symbolLocation":24,"imageIndex":5},{"imageOffset":409748,"symbol":"_dispatch_client_callout","symbolLocation":16,"imageIndex":5},{"imageOffset":26708,"symbol":"_dispatch_queue_override_invoke","symbolLocation":720,"imageIndex":5},{"imageOffset":80784,"symbol":"_dispatch_root_queue_drain","symbolLocation":340,"imageIndex":5},{"imageOffset":82840,"symbol":"_dispatch_worker_thread2","symbolLocation":172,"imageIndex":5},{"imageOffset":7636,"symbol":"_pthread_wqthread","symbolLocation":224,"imageIndex":8},{"imageOffset":6460,"symbol":"start_wqthread","symbolLocation":8,"imageIndex":8}],
  "faultingThread" : 6,
  "threads" : [{"id":70779,"queue":"com.apple.main-thread","frames":[{"imageOffset":110060,"symbol":"__CFBinaryPlistCreateObjectFiltered","symbolLocation":6828,"imageIndex":0},{"imageOffset":110004,"symbol":"__CFBinaryPlistCreateObjectFiltered","symbolLocation":6772,"imageIndex":0},{"imageOffset":109408,"symbol":"__CFBinaryPlistCreateObjectFiltered","symbolLocation":6176,"imageIndex":0},{"imageOffset":109408,"symbol":"__CFBinaryPlistCreateObjectFiltered","symbolLocation":6176,"imageIndex":0},{"imageOffset":65084,"symbol":"__CFTryParseBinaryPlist","symbolLocation":240,"imageIndex":0},{"imageOffset":407388,"symbol":"_CFPropertyListCreateWithData","symbolLocation":160,"imageIndex":0},{"imageOffset":416520,"symbol":"CFPropertyListCreateWithData","symbolLocation":56,"imageIndex":0},{"imageOffset":5256,"symbol":"MAUtilitiesCopyResourceDictionary","symbolLocation":292,"imageIndex":1},{"imageOffset":9908,"symbol":"_preferencesDefaults()","symbolLocation":44,"imageIndex":1},{"imageOffset":5560,"symbol":"MAPreferencesCopyProfileValue","symbolLocation":168,"imageIndex":1},{"imageOffset":12088,"symbol":"MAPreferencesCopyProfileValueWithExpectedType","symbolLocation":28,"imageIndex":1},{"imageOffset":7708,"symbol":"_copyPrefCategoryEnabled(unsigned long long)","symbolLocation":36,"imageIndex":1},{"imageOffset":4680,"symbol":"MADisplayFilterPrefGetCategoryEnabled","symbolLocation":20,"imageIndex":1},{"imageOffset":5060,"symbol":"_AXSGrayscaleEnabled","symbolLocation":188,"imageIndex":2},{"imageOffset":7000188,"symbol":"UIAccessibilityIsGrayscaleEnabled","symbolLocation":12,"imageIndex":3},{"imageOffset":5040324,"symbol":"-[RCTAccessibilityManager init]","symbolLocation":1016,"imageIndex":4},{"imageOffset":4473788,"symbol":"__115-[RCTModuleData initWithModuleClass:bridge:moduleRegistry:viewRegistry_DEPRECATED:bundleManager:callableJSModules:]_block_invoke","symbolLocation":44,"imageIndex":4},{"imageOffset":4476520,"symbol":"-[RCTModuleData setUpInstanceAndBridge:]","symbolLocation":1336,"imageIndex":4},{"imageOffset":4488448,"symbol":"__25-[RCTModuleData instance]_block_invoke","symbolLocation":52,"imageIndex":4},{"imageOffset":4941300,"symbol":"RCTUnsafeExecuteOnMainQueueSync","symbolLocation":52,"imageIndex":4},{"imageOffset":4487504,"symbol":"-[RCTModuleData instance]","symbolLocation":836,"imageIndex":4},{"imageOffset":4053836,"symbol":"-[RCTCxxBridge moduleForName:lazilyLoadIfNecessary:]","symbolLocation":716,"imageIndex":4},{"imageOffset":8072928,"symbol":"RCTCxxBridge.EXDevLauncher_module(forName:lazilyLoadIfNecessary:)","symbolLocation":188,"imageIndex":4},{"imageOffset":8073680,"symbol":"@objc RCTCxxBridge.EXDevLauncher_module(forName:lazilyLoadIfNecessary:)","symbolLocation":108,"imageIndex":4},{"imageOffset":4868052,"symbol":"__26-[RCTUIManager setBridge:]_block_invoke","symbolLocation":132,"imageIndex":4},{"imageOffset":405652,"symbol":"_dispatch_call_block_and_release","symbolLocation":24,"imageIndex":5},{"imageOffset":409748,"symbol":"_dispatch_client_callout","symbolLocation":16,"imageIndex":5},{"imageOffset":68928,"symbol":"_dispatch_main_queue_drain","symbolLocation":928,"imageIndex":5},{"imageOffset":67984,"symbol":"_dispatch_main_queue_callback_4CF$VARIANT$mp","symbolLocation":36,"imageIndex":5},{"imageOffset":318132,"symbol":"__CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__","symbolLocation":12,"imageIndex":0},{"imageOffset":45016,"symbol":"__CFRunLoopRun","symbolLocation":2544,"imageIndex":0},{"imageOffset":121904,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":0},{"imageOffset":6536,"symbol":"GSEventRunModal","symbolLocation":160,"imageIndex":6},{"imageOffset":5135440,"symbol":"-[UIApplication _run]","symbolLocation":1080,"imageIndex":3},{"imageOffset":2618320,"symbol":"UIApplicationMain","symbolLocation":336,"imageIndex":3},{"imageOffset":21388,"symbol":"main","symbolLocation":104,"imageIndex":4},{"imageOffset":99280,"symbol":"start","symbolLocation":444,"imageIndex":7}]},{"id":70780,"frames":[{"imageOffset":6452,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":8}]},{"id":70781,"queue":"com.apple.root.default-qos","frames":[{"imageOffset":2732,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":9},{"imageOffset":4220,"symbol":"mach_msg","symbolLocation":72,"imageIndex":9},{"imageOffset":110456,"symbol":"_dispatch_mach_send_and_wait_for_reply","symbolLocation":524,"imageIndex":5},{"imageOffset":111368,"symbol":"dispatch_mach_send_with_result_and_wait_for_reply$VARIANT$mp","symbolLocation":56,"imageIndex":5},{"imageOffset":51984,"symbol":"xpc_connection_send_message_with_reply_sync","symbolLocation":236,"imageIndex":10},{"imageOffset":250212,"symbol":"__NSXPCCONNECTION_IS_WAITING_FOR_A_SYNCHRONOUS_REPLY__","symbolLocation":12,"imageIndex":11},{"imageOffset":273328,"symbol":"-[NSXPCConnection _sendInvocation:orArguments:count:methodSignature:selector:withProxy:]","symbolLocation":2404,"imageIndex":11},{"imageOffset":179432,"symbol":"___forwarding___","symbolLocation":684,"imageIndex":0},{"imageOffset":176652,"symbol":"_CF_forwarding_prep_0","symbolLocation":92,"imageIndex":0},{"imageOffset":584456,"symbol":"-[LSApplicationWorkspace deviceIdentifierForAdvertising]","symbolLocation":156,"imageIndex":12},{"imageOffset":7188,"symbol":"-[ASIdentifierManager advertisingIdentifier]","symbolLocation":168,"imageIndex":13},{"imageOffset":11085676,"symbol":"GADRawDeviceIdentifier","symbolLocation":60,"imageIndex":4},{"imageOffset":11381356,"imageIndex":4},{"imageOffset":405652,"symbol":"_dispatch_call_block_and_release","symbolLocation":24,"imageIndex":5},{"imageOffset":409748,"symbol":"_dispatch_client_callout","symbolLocation":16,"imageIndex":5},{"imageOffset":26708,"symbol":"_dispatch_queue_override_invoke","symbolLocation":720,"imageIndex":5},{"imageOffset":80784,"symbol":"_dispatch_root_queue_drain","symbolLocation":340,"imageIndex":5},{"imageOffset":82840,"symbol":"_dispatch_worker_thread2","symbolLocation":172,"imageIndex":5},{"imageOffset":7636,"symbol":"_pthread_wqthread","symbolLocation":224,"imageIndex":8},{"imageOffset":6460,"symbol":"start_wqthread","symbolLocation":8,"imageIndex":8}]},{"id":70782,"queue":"com.facebook.react.ShadowQueue","frames":[{"imageOffset":5768,"symbol":"__ulock_wait","symbolLocation":8,"imageIndex":9},{"imageOffset":19800,"symbol":"_dlock_wait","symbolLocation":52,"imageIndex":5},{"imageOffset":19268,"symbol":"_dispatch_thread_event_wait_slow$VARIANT$mp","symbolLocation":52,"imageIndex":5},{"imageOffset":72696,"symbol":"__DISPATCH_WAIT_FOR_QUEUE__","symbolLocation":320,"imageIndex":5},{"imageOffset":71708,"symbol":"_dispatch_sync_f_slow","symbolLocation":136,"imageIndex":5},{"imageOffset":4942036,"symbol":"RCTUnsafeExecuteOnMainQueueOnceSync","symbolLocation":268,"imageIndex":4},{"imageOffset":4941752,"symbol":"RCTScreenScale","symbolLocation":28,"imageIndex":4},{"imageOffset":4751948,"symbol":"__27+[RCTShadowView yogaConfig]_block_invoke","symbolLocation":52,"imageIndex":4},{"imageOffset":409748,"symbol":"_dispatch_client_callout","symbolLocation":16,"imageIndex":5},{"imageOffset":23236,"symbol":"_dispatch_once_callout","symbolLocation":28,"imageIndex":5},{"imageOffset":4751856,"symbol":"+[RCTShadowView yogaConfig]","symbolLocation":84,"imageIndex":4},{"imageOffset":4753072,"symbol":"-[RCTShadowView init]","symbolLocation":364,"imageIndex":4},{"imageOffset":4677348,"symbol":"-[RCTRootShadowView init]","symbolLocation":68,"imageIndex":4},{"imageOffset":4872048,"symbol":"__33-[RCTUIManager registerRootView:]_block_invoke","symbolLocation":72,"imageIndex":4},{"imageOffset":4932404,"symbol":"__RCTExecuteOnUIManagerQueue_block_invoke","symbolLocation":40,"imageIndex":4},{"imageOffset":405652,"symbol":"_dispatch_call_block_and_release","symbolLocation":24,"imageIndex":5},{"imageOffset":409748,"symbol":"_dispatch_client_callout","symbolLocation":16,"imageIndex":5},{"imageOffset":42808,"symbol":"_dispatch_lane_serial_drain$VARIANT$mp","symbolLocation":644,"imageIndex":5},{"imageOffset":45552,"symbol":"_dispatch_lane_invoke$VARIANT$mp","symbolLocation":408,"imageIndex":5},{"imageOffset":85700,"symbol":"_dispatch_workloop_worker_thread","symbolLocation":632,"imageIndex":5},{"imageOffset":7696,"symbol":"_pthread_wqthread","symbolLocation":284,"imageIndex":8},{"imageOffset":6460,"symbol":"start_wqthread","symbolLocation":8,"imageIndex":8}]},{"id":70783,"name":"com.apple.uikit.eventfetch-thread","frames":[{"imageOffset":2732,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":9},{"imageOffset":4220,"symbol":"mach_msg","symbolLocation":72,"imageIndex":9},{"imageOffset":26472,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":368,"imageIndex":0},{"imageOffset":43632,"symbol":"__CFRunLoopRun","symbolLocation":1160,"imageIndex":0},{"imageOffset":121904,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":0},{"imageOffset":97964,"symbol":"-[NSRunLoop(NSRunLoop) runMode:beforeDate:]","symbolLocation":232,"imageIndex":11},{"imageOffset":355984,"symbol":"-[NSRunLoop(NSRunLoop) runUntilDate:]","symbolLocation":88,"imageIndex":11},{"imageOffset":4608160,"symbol":"-[UIEventFetcher threadMain]","symbolLocation":512,"imageIndex":3},{"imageOffset":412972,"symbol":"__NSThread__start__","symbolLocation":792,"imageIndex":11},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":8},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":8}]},{"id":70784,"frames":[{"imageOffset":6452,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":8}]},{"triggered":true,"id":70785,"threadState":{"x":[{"value":0},{"value":0},{"value":0},{"value":0},{"value":6879764129},{"value":6172420544},{"value":110},{"value":18446744073709532636},{"value":6172422144},{"value":7854550924985584126},{"value":512},{"value":11},{"value":0},{"value":0},{"value":16},{"value":0},{"value":328},{"value":1},{"value":0},{"value":6},{"value":17927},{"value":6172422368},{"value":0},{"value":276},{"value":6172422368},{"value":8446427652,"symbolLocation":0,"symbol":"_dispatch_continuation_cache_limit"},{"value":1535},{"value":8436816192,"symbolLocation":1536,"symbol":"_dispatch_root_queues"},{"value":50331647}],"flavor":"ARM_THREAD_STATE64","lr":{"value":8013740116},"cpsr":{"value":1073741824},"fp":{"value":6172420400},"sp":{"value":6172420368},"esr":{"value":1442840704,"description":" Address size fault"},"pc":{"value":7465868220,"matchesCrashFrame":1},"far":{"value":8451858496}},"queue":"com.apple.root.default-qos","frames":[{"imageOffset":27580,"symbol":"__pthread_kill","symbolLocation":8,"imageIndex":9},{"imageOffset":55380,"symbol":"pthread_kill","symbolLocation":208,"imageIndex":8},{"imageOffset":128676,"symbol":"abort","symbolLocation":124,"imageIndex":14},{"imageOffset":69080,"symbol":"abort_message","symbolLocation":128,"imageIndex":15},{"imageOffset":5468,"symbol":"demangling_terminate_handler()","symbolLocation":300,"imageIndex":15},{"imageOffset":108776,"symbol":"_objc_terminate()","symbolLocation":124,"imageIndex":16},{"imageOffset":66164,"symbol":"std::__terminate(void (*)())","symbolLocation":16,"imageIndex":15},{"imageOffset":66076,"symbol":"std::terminate()","symbolLocation":60,"imageIndex":15},{"imageOffset":409768,"symbol":"_dispatch_client_callout","symbolLocation":36,"imageIndex":5},{"imageOffset":26708,"symbol":"_dispatch_queue_override_invoke","symbolLocation":720,"imageIndex":5},{"imageOffset":80784,"symbol":"_dispatch_root_queue_drain","symbolLocation":340,"imageIndex":5},{"imageOffset":82840,"symbol":"_dispatch_worker_thread2","symbolLocation":172,"imageIndex":5},{"imageOffset":7636,"symbol":"_pthread_wqthread","symbolLocation":224,"imageIndex":8},{"imageOffset":6460,"symbol":"start_wqthread","symbolLocation":8,"imageIndex":8}]},{"id":70786,"name":"AVAudioSession Notify Thread","frames":[{"imageOffset":2732,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":9},{"imageOffset":4220,"symbol":"mach_msg","symbolLocation":72,"imageIndex":9},{"imageOffset":26472,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":368,"imageIndex":0},{"imageOffset":43632,"symbol":"__CFRunLoopRun","symbolLocation":1160,"imageIndex":0},{"imageOffset":121904,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":0},{"imageOffset":25720,"symbol":"CADeprecated::GenericRunLoopThread::Entry(void*)","symbolLocation":156,"imageIndex":17},{"imageOffset":63432,"symbol":"CADeprecated::CAPThread::Entry(CADeprecated::CAPThread*)","symbolLocation":88,"imageIndex":17},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":8},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":8}]},{"id":70787,"name":"com.squareup.SocketRocket.NetworkThread","frames":[{"imageOffset":2732,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":9},{"imageOffset":4220,"symbol":"mach_msg","symbolLocation":72,"imageIndex":9},{"imageOffset":26472,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":368,"imageIndex":0},{"imageOffset":43632,"symbol":"__CFRunLoopRun","symbolLocation":1160,"imageIndex":0},{"imageOffset":121904,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":0},{"imageOffset":97964,"symbol":"-[NSRunLoop(NSRunLoop) runMode:beforeDate:]","symbolLocation":232,"imageIndex":11},{"imageOffset":4814580,"symbol":"-[_RCTSRRunLoopThread main]","symbolLocation":360,"imageIndex":4},{"imageOffset":412972,"symbol":"__NSThread__start__","symbolLocation":792,"imageIndex":11},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":8},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":8}]},{"id":70788,"name":"com.apple.NSURLConnectionLoader","frames":[{"imageOffset":2732,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":9},{"imageOffset":4220,"symbol":"mach_msg","symbolLocation":72,"imageIndex":9},{"imageOffset":26472,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":368,"imageIndex":0},{"imageOffset":43632,"symbol":"__CFRunLoopRun","symbolLocation":1160,"imageIndex":0},{"imageOffset":121904,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":0},{"imageOffset":2391500,"imageIndex":18},{"imageOffset":412972,"symbol":"__NSThread__start__","symbolLocation":792,"imageIndex":11},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":8},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":8}]},{"id":70789,"name":"com.facebook.react.JavaScript","frames":[{"imageOffset":2732,"symbol":"mach_msg_trap","symbolLocation":8,"imageIndex":9},{"imageOffset":4220,"symbol":"mach_msg","symbolLocation":72,"imageIndex":9},{"imageOffset":26472,"symbol":"__CFRunLoopServiceMachPort","symbolLocation":368,"imageIndex":0},{"imageOffset":43632,"symbol":"__CFRunLoopRun","symbolLocation":1160,"imageIndex":0},{"imageOffset":121904,"symbol":"CFRunLoopRunSpecific","symbolLocation":572,"imageIndex":0},{"imageOffset":4039888,"symbol":"+[RCTCxxBridge runRunLoop]","symbolLocation":764,"imageIndex":4},{"imageOffset":412972,"symbol":"__NSThread__start__","symbolLocation":792,"imageIndex":11},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":8},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":8}]},{"id":70790,"name":"JavaScriptCore libpas scavenger","frames":[{"imageOffset":5252,"symbol":"__psynch_cvwait","symbolLocation":8,"imageIndex":9},{"imageOffset":39892,"symbol":"_pthread_cond_wait$VARIANT$mp","symbolLocation":1240,"imageIndex":8},{"imageOffset":17962160,"symbol":"scavenger_thread_main","symbolLocation":1120,"imageIndex":19},{"imageOffset":13128,"symbol":"_pthread_start","symbolLocation":116,"imageIndex":8},{"imageOffset":6472,"symbol":"thread_start","symbolLocation":8,"imageIndex":8}]},{"id":70791,"frames":[{"imageOffset":6452,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":8}]},{"id":70792,"frames":[{"imageOffset":6452,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":8}]},{"id":70793,"frames":[{"imageOffset":6452,"symbol":"start_wqthread","symbolLocation":0,"imageIndex":8}]}],
  "usedImages" : [

hmmm… this looks like the app might have run out of memory

Hi Wodin,
Thanks for the reply. Indeed it does appear so. However, this is before the app itself loads (just the splash screen is shown).
To further test I -

reduced size of all images
removed all code in app.js so only the redux Provider was present (no views, no sentry code)

relaunched and got the same error.
So while it is possible its out of memory it seems very unlikely.

I figured this out.
The 2nd item in the stack trace after the exception itself is
GADApplicationVerifyPublisherInitializedCorrectly
Searching for this gives vague references to at GADApplication being part of Google AdMob.
I viewed my google ad mob config and I had a trailing white space character in my
ios_app_id
config in app.json.
Removing this and rebuilding fixed it. :grinning:

"exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},

I think that if anyone receives an empty exception below, it means that the app hasn’t even started and you need to look at the config.

1 Like

Great! That seems like it’s worth reporting to Google.

Thanks for reporting back