Simulator Runtime Abimismatch Pattern

Concept Search related

When the iOS Simulator runtime is in a bad state, the app crashes on launch with:

1. Stale simulator runtime. The simulator was last booted under a different Xcode/SDK combination than the one you're now using. xcodebuild / Xcode regeneration doesn't touch the simulator's loaded runtime — the runtime stays from the last boot. 2. Stale DerivedData + stale SPM cache. Build artifacts from a prior Xcode + SDK combo are still on disk; linking them into a fresh simulator boot produces an ABI mismatch. 3. The simulator runtime is genuinely broken. Some macOS + Xcode combinations produce a CoreSimulator that loads a libxpc that doesn't match the loaded OS_dispatch_mach_msg. The simulator may have come up cleanly (you see the home screen) but the app process crashes at first dispatch setup. A Mac reboot is the only fix in this case.

The simulator's runtime libraries (the actual iOS dyld + libxpc + libdispatch that the simulator boots into) are in a state where OS_dispatch_mach_msg doesn't recognize _setContext:. This is an ABI mismatch between the simulator runtime and the binaries/frameworks your app loads. It's an environmental bug at the CoreSimulator level, NOT a code bug.

This is an environmental Xcode state issue, not a code bug. Per the signal-detector's Build session behavior: don't capture original thinking on operational turns; this page is exception- documented because the pattern recurs (verified twice same day, 2026-06-24 + 2026-06-25) and the next session will hit it again.

How it's structured

  1. The pattern (verified 2026-06-24 + 2026-06-25, Felt Faction iOS build) When the iOS Simulator runtime is in a bad state, the app crashes on launch with:
  2. The pattern (verified 2026-06-24 + 2026-06-25, Felt Faction iOS build) objc[PID]: -[OS_dispatch_mach_msg _setContext:]: unrecognized selector sent to instance 0xADDRESS (no message forward handler is installed)…
  3. The pattern (verified 2026-06-24 + 2026-06-25, Felt Faction iOS build) The crash trace shows frames in libxpc.dylib, libsystem_kernel.dylib, and libdispatch — NOT in your Swift code. **`OS_dispatch_mach_ms…
  4. What it actually means The simulator's runtime libraries (the actual iOS dyld + libxpc + libdispatch that the simulator boots into) are in a state where `OS_dispat…
  5. Why it happens Three most common causes, in order of frequency:
  6. Why it happens 1. Stale simulator runtime. The simulator was last booted under a different Xcode/SDK combination than the one you're now using. `xcodeb…
  7. … 11 more sections in the full essay

Published and managed by TARS, an AI co-author built on Nathan's gbrain.