iOS 18 启动崩溃 main_executable_path_missing

Triggered by Thread: 0

Thread 0 Crashed: 0 dyld 0x1a87922b0 lsl::PreallocatedAllocatorLayout<278528ull>::init(char const**, char const**, void*) + 436 1 dyld 0x1a878ba38 start + 1960

Thread 0 crashed with ARM Thread State (64-bit): x0: 0x2010003030100000 x1: 0x0000000fffffc0d0 x2: 0x0000000000000004 x3: 0x00000001a87607a9 x4: 0x0000000000000000 x5: 0x0000000000000000 x6: 0x0000000000000000 x7: 0x0000000000000000 x8: 0x2010003030100000 x9: 0x2010003030100000 x10: 0x000000016d923dfd x11: 0x00000001a87ccf30 x12: 0x0000000000000050 x13: 0x0000000000000044 x14: 0x0000000000052010 x15: 0x0000000000000000 x16: 0x0000000000000000 x17: 0x0000000000000000 x18: 0x0000000000000000 x19: 0x00000001801d0000 x20: 0x000000016d923b50 x21: 0x000000016d923af8 x22: 0x00000001e6184050 x23: 0x000000016d9237d8 x24: 0x0000000fffffc10c x25: 0x0000000000000000 x26: 0x0000000000000000 x27: 0x0000000000000000 x28: 0x0000000000000000 fp: 0x000000016d923870 lr: 0xb0228001a8792130 sp: 0x000000016d9237d0 pc: 0x00000001a87922b0 cpsr: 0x60001000 far: 0x00000001e61840e0 esr: 0x92000047 (Data Abort) byte write Translation fault

Binary Images: 0x1a8758000 - 0x1a87db693 dyld arm64e <77c1eed22ed7396aba34e770120d81d4> /usr/lib/dyld 0x1024dc000 - 0x10594ffff main_executable_path_missing arm64 <b4af5d3d511d3f9e8b5a66245101c348> /main_executable_path_missing 0x0 - 0xffffffffffffffff ??? unknown-arch <00000000000000000000000000000000> ???

Error Formulating Crash Report: dyld_process_snapshot_get_shared_cache failed

EOF

Answered by DTS Engineer in 807095022

App crashes at every run, both AppStore users and running from Xcode debug mode.

Restarting the phone worked, but not ideal for real users... Is this a known issue?

Yes, but it's a bit more complicated than that. The kernel team is aware of the issue and has actually been investigating it for awhile but they still don't really know what the problem actually is. The actual failure is rare enough that we've never been able to directly reproduce the issue and diagnostic data we have gotten doesn't really make very much sense. Here's what I can say at this point:

  1. There isn't any indication that the problem is specifically tied to the app itself or anything your app "did". Note the reason you see "main_executable_path_missing" is that dyld hasn't actually gotten far enough into the loading process that it's actually started interacting with your specific executable:
       0x104784000 -        0x104790000 main_executable_path_missing arm64  <d6c015912aa137f38accbdda1c1671f0> /main_executable_path_missing

  1. The issue appears to be tied to some kind of transient state, so it's expected that rebooting will resolve the issue.

  2. The issue has been very difficult to reproduce and it's still very unclear what factors are able to trigger it.

With an issue like this I'd typically recommend that you file bugs, however, I'm not sure that would help much here. The issue is low level enough that an post-reboot sysdiagnose isn't useful and transient that it's trying to catch it "again" isn't all that useful. Lastly, the issue is low level enough that it's not clear that any sysdiagnose would be also that useful. The team has made some changes in iOS 18.1 to try and get better data (not this this may cause the "same" crash to generate a slightly different crash log), but individual reports on specific failures are unlikely to help much.

However, the one exception to this is if you're able to reliably reproduce the issue (after rebooting the device), particularly if you're able to reproduce the issue across devices. If you have any specific information about what might be triggering the bug, then please file a bug on that and post the bug number here.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

This crash report indicates that your app crashed really early during the boot process, before the dynamic linker managed to map your app’s main executable into memory.

Under what circumstances are you seeing this crash? Every time you run your app? From some beta testers? Or from general App Store users?

Share and Enjoy

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

Feedback is from online users on the App Store. The app crashes upon launch on iOS 18 every time it runs, even after uninstalling and reinstalling. Finally, the users were able to restore normal functionality by restarting their phones

We experience the same thing. Apps installed/reinstalled after iOS 18 upgrade. Running in simulator iOS 18 works fine.

I've attached the crash report.

App crahes at every run, both AppStore users and running from Xcode debug mode.

Restarting the phone worked, but not ideal for real users... Is this a known issue?

Getting the same crash on TestFlight builds.

Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: GUARD 5 

Triggered by Thread:  0


Thread 0 Crashed:
0   dyld                          	0x00000001c05fe2b0 lsl::PreallocatedAllocatorLayout<278528ull>::init(char const**, char const**, void*) + 436 (Allocator.h:537)
1   dyld                          	0x00000001c05f7a38 start + 1960 (dyldMain.cpp:1289)


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x2010003030100000   x1: 0x0000000fffffc0d0   x2: 0x0000000000000000   x3: 0x00000001c05cc7ad
    x4: 0x0000000000000000   x5: 0x0000000000000000   x6: 0x0000000000000000   x7: 0x0000000000000000
    x8: 0x2010003030100000   x9: 0x2010003030100000  x10: 0x000000016d587df9  x11: 0x00000001c0638f30
   x12: 0x0000000000000050  x13: 0x0000000000000044  x14: 0x0000000000052010  x15: 0x0000000000000000
   x16: 0x0000000000000000  x17: 0x0000000000000000  x18: 0x0000000000000000  x19: 0x0000000198040000
   x20: 0x000000016d587b48  x21: 0x000000016d587af0  x22: 0x00000001fdff0050  x23: 0x000000016d5877d8
   x24: 0x0000000fffffc10c  x25: 0x0000000000000000  x26: 0x0000000000000000  x27: 0x0000000000000000
   x28: 0x0000000000000000   fp: 0x000000016d587870   lr: 0x00000001c05fe130
    sp: 0x000000016d5877d0   pc: 0x00000001c05fe2b0 cpsr: 0x60001000
   esr: 0x92000047 (Data Abort) byte write Translation fault


Binary Images:
        0x102878000 -         0x10607bfff main_executable_path_missing arm64  <63aa333a30653d49871103e8126871f1> /main_executable_path_missing
        0x1c05c4000 -         0x1c0647693 dyld arm64e  <77c1eed22ed7396aba34e770120d81d4> /usr/lib/dyld

App crashes at every run, both AppStore users and running from Xcode debug mode.

Restarting the phone worked, but not ideal for real users... Is this a known issue?

Yes, but it's a bit more complicated than that. The kernel team is aware of the issue and has actually been investigating it for awhile but they still don't really know what the problem actually is. The actual failure is rare enough that we've never been able to directly reproduce the issue and diagnostic data we have gotten doesn't really make very much sense. Here's what I can say at this point:

  1. There isn't any indication that the problem is specifically tied to the app itself or anything your app "did". Note the reason you see "main_executable_path_missing" is that dyld hasn't actually gotten far enough into the loading process that it's actually started interacting with your specific executable:
       0x104784000 -        0x104790000 main_executable_path_missing arm64  <d6c015912aa137f38accbdda1c1671f0> /main_executable_path_missing

  1. The issue appears to be tied to some kind of transient state, so it's expected that rebooting will resolve the issue.

  2. The issue has been very difficult to reproduce and it's still very unclear what factors are able to trigger it.

With an issue like this I'd typically recommend that you file bugs, however, I'm not sure that would help much here. The issue is low level enough that an post-reboot sysdiagnose isn't useful and transient that it's trying to catch it "again" isn't all that useful. Lastly, the issue is low level enough that it's not clear that any sysdiagnose would be also that useful. The team has made some changes in iOS 18.1 to try and get better data (not this this may cause the "same" crash to generate a slightly different crash log), but individual reports on specific failures are unlikely to help much.

However, the one exception to this is if you're able to reliably reproduce the issue (after rebooting the device), particularly if you're able to reproduce the issue across devices. If you have any specific information about what might be triggering the bug, then please file a bug on that and post the bug number here.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Sharing some logs and insights on the same.

  • This is happening with general AppStore users and on TestFlight user.
  • Crash log from Xcode organiser indicates that this crash has been happening in other OS version as well. Though the frequency was very low in other OS versions, but in iOS 18 this is more prominent and crashing every time until the device is restarted.
  • Other apps continue to work fine while our app is crashing.
  • [iOS 18 Release Version] One my team mates is still experiencing the same crash on the TestFlight build every time app is opened. Before this issue happened app abruptly crashed while using and since then app is not able to open and crashing every time it's launched.
  • [iOS 18 Release Version] Two people faced the same issue on the AppStore build and after rebooting the device, app is working fine.
  • At this point un-installing / re-installing the app doesn't help, only rebooting the device helps.

PFA the crash log from Xcode organiser and from the Device analytics.

Hi, I just started experiencing this today myself. The app crashed in the background and then it crashed every time I tried opening the app for hours. Deleting the app, reinstalling from the AppStore, reinstalling from Xcode, nothing worked until I saw this thread and rebooted my device. Now it works fine. My crash reports look just like the others mentioned in this thread.

Hi,has this problem been solved? We experience the same crash.This crash suddenly began to happen on October 26. At present, all the models of mobile phones that occurred were on iPhone17,1 and the iOS system version was iOS18.0.1. This crash was all from users on the appstore, and was collected via Xcode - Organizer - > Crashes. I've attached the crash report and picture.

Distributor ID:      com.apple.AppStore
Hardware Model:      iPhone17,1
Process:             XxxxxxXXX [36671]
Path:                /private/var/containers/Bundle/Application/6E9E07EA-B7A4-4D57-B419-743DDCF7C3A6/XxxxxxXXX.app/XxxxxxXXX
Identifier:          com.XxxxxxXXX.XxxxxxXXX
Version:             8.1.10 (811001)
AppStoreTools:       16A242d
AppVariant:          1:iPhone17,1:18
Code Type:           ARM-64 (Native)
Role:                unknown
Parent Process:      launchd [1]
Coalition:           com.XxxxxxXXX.XxxxxxXXX [9448]

Date/Time:           2024-11-03 08:27:19.0514 +0800
Launch Time:         2024-11-03 08:27:18.9394 +0800
OS Version:          iPhone OS 18.0.1 (22A3370)
Release Type:        User
Baseband Version:    1.00.00
Report Version:      104

Exception Type:  EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Termination Reason: GUARD 5 

Triggered by Thread:  0


Thread 0 Crashed:
0   dyld                          	0x00000001039e57e0 dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 2204 (dyldMain.cpp:798)
1   dyld                          	0x0000000103a0a7a8 dyld4::start(dyld4::KernelArgs*, void*, void*)::$_0::operator()() const + 544 (dyldMain.cpp:1322)
2   dyld                          	0x0000000103a03b1c start + 2188 (dyldMain.cpp:1299)


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x00000001e641c000   x1: 0x00000001e641c000   x2: 0x000000016f9b95af   x3: 0x0000000000000000
    x4: 0x0000000000000000   x5: 0x0000000000000000   x6: 0x0000000000000000   x7: 0x0000000000000ee0
    x8: 0x000000016f9b9910   x9: 0xf3bd196b48ef00ac  x10: 0x0000000103a58ba0  x11: 0x0000000003a60000
   x12: 0x0000000000000003  x13: 0x00000001e5fb4000  x14: 0x0000000000000048  x15: 0x00000000000000a5
   x16: 0x00000001039d2108  x17: 0x6ae100016f9b9618  x18: 0x0000000000000000  x19: 0x000000016f9bb370
   x20: 0x0000000103a64470  x21: 0x0000000103a68f30  x22: 0x00000001e641c000  x23: 0x0000000103a67020
   x24: 0x0000000273d4ba18  x25: 0x0000000000000000  x26: 0x000000016f9bb4e0  x27: 0x0000000103a68f30
   x28: 0x0000000000000000   fp: 0x000000016f9bb6e0   lr: 0x656a0001039e57d4
    sp: 0x000000016f9b9950   pc: 0x00000001039e57e0 cpsr: 0x60000000
   esr: 0x92000047 (Data Abort) byte write Translation fault


Binary Images:
        0x100434000 -         0x102ee3fff XxxxxxXXX arm64  <086a82c13b863f4485895baddc3144ba> /private/var/containers/Bundle/Application/6E9E07EA-B7A4-4D57-B419-743DDCF7C3A6/XxxxxxXXX.app/XxxxxxXXX
        0x1039d0000 -         0x103a53fff dyld arm64e  <5db839882ee63756bd07b8d67b1133a5> /usr/lib/dyld

EOF

I’m working with Kevin to see if we can get you an update here.

Share and Enjoy

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

Hi,has this problem been solved?

Unfortunately, the answer at this point is that we're not entirely sure. The issue is being tracked internally (r. 129742083) and was heavily investigated by multiple teams that could have potentially generate a crash "similar" to this crash, but nothing has been found that specifically match the details of this particular crash. In iOS 18.1, two different things happened:

  1. A number of small change were made to several of the components implicated by this crash. None of those changed were intended to resolve this issue but it's possible that they have fixed/masked the issues, given that we don't actually know why the problem is happening.

  2. Specific changes were made to this particular termination path to better differentiate this particular crash from other, similar, crashes and to get better diagnostic data.

Based on that, is anyone seeing the crash or 18.1 (or later)? If so, please file bug, upload the crash reports to that bug, then post the bug number back here.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

In addition,app recently encountered a dyld crash similar to this crash on iOS15.5, which looks somewhat similar to the current crash. Not sure if it's the same, but it looks similar.See if it helps the analysis.I have a file bug,number is FB15719846 (iOS 15.5 dyld Crash),hope it helps.Thanks.

Hardware Model:      iPhone14,5
Process:             XxxxxxXXX [265]
Path:                /private/var/containers/Bundle/Application/DAC8B886-80BB-48DB-916D-DBB854B69DFD/XxxxxxXXX.app/XxxxxxXXX
Identifier:          com.XxxxxxXXX.XxxxxxXXX
Version:             8.1.3 (81300)
AppStoreTools:       15F31e
AppVariant:          1:iPhone14,5:15
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.XxxxxxXXX.XxxxxxXXX [409]

Date/Time:           2024-08-20 11:59:31.9614 +0800
Launch Time:         2024-08-20 11:37:02.3165 +0800
OS Version:          iPhone OS 15.5 (19F77)
Release Type:        User
Baseband Version:    1.61.00
Report Version:      104

Exception Type:  EXC_BAD_ACCESS (SIGKILL - CODESIGNING)
Exception Subtype: UNKNOWN_0x32 at 0x00000001048d0000
Exception Codes: 0x0000000000000032, 0x00000001048d0000
VM Region Info: 0x1048d0000 is in 0x103064000-0x104a54000;  bytes after start: 25608192  bytes before end: 1589247
      REGION TYPE                 START - END      [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      mapped file              103060000-103064000 [   16K] r-x/r-x SM=COW  ...t_id=6db61fab
--->  mapped file              103064000-104a54000 [ 25.9M] r-x/r-x SM=COW  ...t_id=6dc412ab
      __DATA                   104a54000-105198000 [ 7440K] rw-/rw- SM=COW  ....app/XxxxxxXXX
Exception Note:  EXC_CORPSE_NOTIFY
Termination Reason: CODESIGNING 2 

Triggered by Thread:  0


Kernel Triage:
VM - pmap_enter failed with resource shortage
VM - pmap_enter failed with resource shortage
VM - pmap_enter failed with resource shortage
VM - pmap_enter failed with resource shortage
VM - pmap_enter failed with resource shortage


Thread 0 Crashed:
0   dyld                          	0x00000001056750f0 strlen + 48
1   dyld                          	0x0000000105675b0c objc::StringHashTable::tryGetIndex(char const*) const + 36 (OptimizerObjC.h:100)
2   dyld                          	0x00000001056a55f4 dyld4::PrebuiltObjC::ObjCOptimizerImage::visitReferenceToObjCSelector(objc::SelectorHashTable const*, dyld3::Map<char const*, dyld4::Loader::BindTarget, dyld3::HashCString, dyld3::EqualCString> con... + 52 (PrebuiltObjC.cpp:440)
3   dyld                          	0x000000010567fbe4 dyld3::MachOAnalyzer::forEachObjCSelectorReference(unsigned long long, unsigned long long, dyld3::MachOAnalyzer::VMAddrConverter const&, void (unsigned long long, unsigned long long, bool&) block_p... + 136 (MachOAnalyzer.cpp:5111)
4   dyld                          	0x000000010567cea4 dyld4::PrebuiltObjC::forEachSelectorReferenceToUnique(dyld4::RuntimeState&, dyld3::MachOAnalyzer const*, unsigned long long, dyld4::ObjCBinaryInfo const&, dyld3::MachOAnalyzer::VMAddrConverter cons... + 168 (PrebuiltObjC.cpp:1013)
5   dyld                          	0x00000001056812cc dyld4::PrebuiltObjC::make(Diagnostics&, dyld4::RuntimeState&) + 2940 (PrebuiltObjC.cpp:729)
6   dyld                          	0x000000010569e054 dyld4::PrebuiltLoaderSet::makeLaunchSet(Diagnostics&, dyld4::RuntimeState&, dyld4::MissingPaths const&) + 508 (PrebuiltLoader.cpp:1737)
7   dyld                          	0x000000010568f6b4 dyld4::prepare(dyld4::APIs&, dyld3::MachOAnalyzer const*) + 2876 (dyldMain.cpp:694)
8   dyld                          	0x000000010568dcc4 start + 488 (dyldMain.cpp:864)


Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x00000001048cfff1   x1: 0x00000001048cfff0   x2: 0x000000000000000f   x3: 0x000000010567500f
    x4: 0x00000000028b7ff1   x5: 0x00000001048cfff1   x6: 0x6f43726568744f65   x7: 0x656956644172656e
    x8: 0x00000001055d4000   x9: 0x0000000102018000  x10: 0x00028b7faf008000  x11: 0x00ffff80028b7faf
   x12: 0xa894531b1e09a0a0  x13: 0x9aab2687810ea50a  x14: 0x0000000000000000  x15: 0x9aab2687810f905c
   x16: 0xc7c7cef5f586937c  x17: 0x964228877634f009  x18: 0x0000000000000000  x19: 0x00000001048cfff1
   x20: 0x00000001e3dd4388  x21: 0x000000016dde3700  x22: 0x0000000105058138  x23: 0x0000000102018000
   x24: 0x0000000100000000  x25: 0x000000016dde0980  x26: 0x0000000000005b1c  x27: 0x00000001055d4018
   x28: 0x00000001055d4000   fp: 0x000000016dde07a0   lr: 0x0000000105675b0c
    sp: 0x000000016dde0780   pc: 0x00000001056750f0 cpsr: 0x20001000
   esr: 0x92000007 (Data Abort) byte read Translation fault


Binary Images:
        0x102018000 -         0x104a53fff XxxxxxXXX arm64  <a1a0951fa96f3fa88eb809506e361156> /private/var/containers/Bundle/Application/DAC8B886-80BB-48DB-916D-DBB854B69DFD/XxxxxxXXX.app/XxxxxxXXX
        0x105674000 -         0x1056cbfff dyld arm64e  <7c9c7851823738a7b1eb9cd2deb4b746> /usr/lib/dyld

EOF

In addition,app recently encountered a dyld crash similar to this crash on iOS15.5, which looks somewhat similar to the current crash. Not sure if it's the same, but it looks similar

No, this crash isn't related. The crashes look similar because you're crashing in the same broad "area" (early in dyld) and because there generally isn't all that much unique/interesting/obvious in this sort of crash log. However, the iOS 18 crash is specifically related to how level system details that were implemented across iOS 17/18, so the crash you're seeing on iOS 18 simply can't have happened in iOS 15.

__
Kevin Elliott
DTS Engineer, CoreOS/Hardware

Seems like we're experiencing the same issue. See FB15761996

iOS 18 启动崩溃 main_executable_path_missing
 
 
Q