Intermittent iPadOS launch crash in CallstackTrace_Initialize across multiple Unreal projects

Summary

Packaged Unreal Engine iOS projects intermittently crash on iPad when launched normally from the Home Screen. The crash happens very early during Unreal startup, before gameplay code, maps, GameInstance, UI, or project logic are initialized. The issue has reproduced across several different projects, including Epic sample projects such as Lyra and Cropout. It does not appear to be project-specific.

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS
Termination Reason: SIGNAL 11 Segmentation fault

Observed invalid addresses include:

0x0000000000001f20
0x00000000000021a8
0x00000000000034b0
0x0000000000003e28

Common crashed thread stack:

Modules_Initialize() + 336
CallstackTrace_Initialize() + 96
FTraceAuxiliary::Initialize(char16_t const*) + 3708
FEngineLoop::PreInitPreStartupScreen(char16_t const*) + 424
FAppEntry::Init() + 380
-[IOSAppDelegate MainAppThread:] + 336

  • The crash appears to be iPad-specific or much more likely on iPad. I have not been able to reproduce it on iPhone despite many repeated launches.

  • Several iPad crash logs show concurrent background activity involving:

PencilKit
PKHoverSettings
PKMaxHoverHeight
PKTextInputCanvasController
PKMetalUtility defaultDevice
IOHIDEventSystemClient
MTLCreateSystemDefaultDevice

The direct crash is still in Unreal’s CallstackTrace / FTraceAuxiliary startup path, but the repeated PencilKit / IOHID / Metal activity may indicate an iPadOS-specific timing or initialization interaction.

What Type of Bug are you experiencing?

Foundation (C++ Tools, Profiling, & Pipeline)

Steps to Reproduce

Package the game normally, either with Development configuration or Shipping+Distribution configuration. Install on device via Xcode, disconnect from Xcode and launch normally from Home screen. The game crashes approximately 1 in 5–10 launches; other sessions complete successfully.

Expected Result

The game launches successfully on every cold launch, completes engine initialization, and reaches the game’s first rendered frame.

Observed Result

The application is terminated by the OS with SIGNAL 11 (Segmentation fault) approximately 300 ms after process launch — before any game content is displayed. The process never reaches FEngineLoop::Init.

Affects Versions

5.7

Platform(s)

iOS

For crash reports, include your callstack

Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS
Termination Reason: SIGNAL 11 Segmentation fault

Observed invalid addresses include:
0x0000000000001f20
0x00000000000021a8
0x00000000000034b0
0x0000000000003e28

Common crashed thread stack:
Modules_Initialize() + 336
CallstackTrace_Initialize() + 96
FTraceAuxiliary::Initialize(char16_t const*) + 3708
FEngineLoop::PreInitPreStartupScreen(char16_t const*) + 424
FAppEntry::Init() + 380
-[IOSAppDelegate MainAppThread:] + 336

Additional Notes

The direct crash is still in Unreal’s CallstackTrace / FTraceAuxiliary startup path, but the repeated PencilKit / IOHID / Metal activity may indicate an iPadOS-specific timing or initialization interaction.
Unreal Engine 5.74
macOS 26.5
Xcode 26.5
iOS/iPadOS 26.5

Attempted workaround
Added the following to DefaultEngine.ini:

[Trace]
bDefaultTraceEnabled=False
[Trace.ChannelPresets]
Default=none

This may reduce the frequency, but it does not fully prevent the crash. The same crash stack still occurs.

it seems that FTraceAuxiliary is for profiling debugging,

EXC_BAD_ACCESS is a common crash on iphone/ipad , you could try to build a shipping configuration version to check it still crash or not.

i am debugging on ue-5.9 and when i package my app with development configuration, it hit EXC_BAD_ACCESS crashing when launched my app, but worked fine on shipping configuration build…

Tried with shipping config and also with shipping + For Distribution: same exact intermittent crash.

When the game launches successfully, everything works as expected. No issues. The problem is the launch crash: apart for being a terrible experience for the final user, it would automatically trigger an App Store rejection if the reviewer happens to experience it during app review.

The status of UE-384788 changed to ‘Needs Triage’. We are routing this to the appropriate team for investigation.