The class is present in the binary. nm on the archived binary shows _OBJC_CLASS_$_RCTImageLoader, +[RCTImageLoader load], +[RCTImageLoader moduleName], -[RCTImageLoader getTurboModule:], and the NativeImageLoaderIOSSpecJSI symbols. Codegen runs successfully, and the generated RCTAppDependencyProvider and RCTModuleProviders files look normal.
Already ruled out: disabling all stripping (COPY_PHASE_STRIP, STRIP_INSTALLED_PRODUCT, DEAD_CODE_STRIPPING), adding an explicit pod 'React-RCTImage', and AppDelegate (matches the standard RCTReactNativeFactory template).
Unable to run locally (no Mac available; the app is built on GitHub Actions). Known environment:
- react-native: 0.82.1
- New Architecture: enabled (RCT_NEW_ARCH_ENABLED=1), Hermes: enabled
- Xcode: 16.4 (GitHub Actions macos-15 runner), iOS SDK 18.5
- CocoaPods: use_frameworks! :linkage => :static
- Device: iPhone 14 Plus (A15), iOS 16.1
TurboModuleRegistry.getEnforcing(...): 'ImageLoader' could not be found. Verify that a module by this name is registered in the native binary.
Crashing chain (native):
facebook::react::convertNSExceptionToJSError
facebook::react::convertNSArrayToJSIArray
facebook::react::convertObjCObjectToJSIValue
facebook::react::convertNSStringToJSIString
hermes::vm ... (crash in Hermes GC during string allocation)
Full crash log and nm symbol output attached below.
Run BINARY="ios/build/PocketPal.xcarchive/Products/Applications/PocketPal.app/PocketPal"
=== Binary exists? ===
-rwxr-xr-x 1 runner staff 57470432 Sep 26 04:41 ios/build/PocketPal.xcarchive/Products/Applications/PocketPal.app/PocketPal
=== Searching binary for ImageLoader-related symbols/strings ===
NSt3__120__shared_ptr_emplaceIN8facebook5react27NativeImageLoaderIOSSpecJSIENS_9allocatorIS3_EEEE
N8facebook5react27NativeImageLoaderIOSSpecJSIE
N8facebook5react34NativeImageLoaderAndroidCxxSpecJSIE
N8facebook5react30NativeImageLoaderIOSCxxSpecJSIE
RCTImageLoader
/Users/runner/work/pocketpal-ai/pocketpal-ai/node_modules/react-native/Libraries/Image/RCTBundleAssetImageLoader.mm
ImageLoader
com.facebook.react.ImageLoaderURLRequestQueue
/Users/runner/work/pocketpal-ai/pocketpal-ai/node_modules/react-native/Libraries/Image/RCTImageLoader.mm
Calling bridge.imageLoader is deprecated and will not work in newer versions of RN. Please update to the moduleForClass API or turboModuleRegistry API.
/Users/runner/work/pocketpal-ai/pocketpal-ai/node_modules/react-native/Libraries/Image/RCTLocalAssetImageLoader.mm
/Users/runner/work/pocketpal-ai/pocketpal-ai/node_modules/react-native-screens/ios/bottom-tabs/extensions/RNSBottomTabsHostComponentView+RNSImageLoader.mm
[RNScreens] unable to retrieve RCTImageLoader
[RNScreens] unable to load tab bar item icons: imageLoader should not be nil
RCTBundleAssetImageLoader
RCTLocalAssetImageLoader
RCTBundleAssetImageLoader
RCTImageLoaderLoggable
RCTImageLoader
NativeImageLoaderIOSSpec
RCTImageLoaderWithAttributionProtocol
RCTImageLoaderProtocol
RCTImageLoaderLoggableProtocol
RCTLocalAssetImageLoader
RNSImageLoader
NativeImageLoaderIOSSpecBase
loadImageFromSource:withImageLoader:asTemplate:completionBlock:
T@"RCTImageLoader",R,N
_imageLoader
configureTabBarItemForTabScreenController:imageLoader:
imageLoader
imageLoaderLoadedImage:error:forImageSource:partial:
initWithConfig:action:menuAction:imageLoader:
initWithImageLoader:
loadImageSyncIfPossibleFromJsonSource:withImageLoader:asTemplate:completionBlock:
reactImageLoader
retrieveImageLoaderFromState:
setIconsForTabBarItem:fromScreenView:withImageLoader:
updateAppearanceOfTabBar:withHostComponentView:tabScreenControllers:imageLoader:
@"<RCTImageLoaderWithAttributionProtocol>"
@"RCTImageLoader"
{RNSScreenStackHeaderConfigState="frameSize"{Size="width"d"height"d}"edgeInsets"{RectangleEdges<double>="left"d"top"d"right"d"bottom"d}"imageLoader_"{weak_ptr<void>="__ptr_"^v"__cntrl_"^{__shared_weak_count}}}
=== Searching for RCTImageLoader class symbol specifically ===
00000001001acd64 t +[RCTImageLoader __rct_export__12350]
00000001001ad0ec t +[RCTImageLoader __rct_export__12551]
00000001001ad528 t +[RCTImageLoader __rct_export__12752]
00000001001ad548 t +[RCTImageLoader __rct_export__12853]
00000001001ad7d0 t +[RCTImageLoader __rct_export__13124]
00000001001a6bac t +[RCTImageLoader load]
00000001001a6ba0 t +[RCTImageLoader moduleName]
00000001001a6bb8 t +[RCTImageLoader requiresMainQueueSetup]
00000001001ad9bc t -[RCTBridge(RCTImageLoader) imageLoader]
00000001001ada08 t -[RCTBridgeProxy(RCTImageLoader) imageLoader]
00000001001ad980 t -[RCTImageLoader .cxx_construct]
00000001001ad8d4 t -[RCTImageLoader .cxx_destruct]
00000001001a7b70 t -[RCTImageLoader _loadImageOrDataWithURLRequest:size:scale:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]
00000001001a9880 t -[RCTImageLoader _loadURLRequest:progressBlock:completionBlock:]
00000001001ad868 t -[RCTImageLoader bridge]
00000001001ac618 t -[RCTImageLoader canHandleRequest:]
00000001016eefa8 t -[RCTImageLoader canHandleRequest:].cold.1
00000001001accdc t -[RCTImageLoader cancelRequest:]
00000001001ab08c t -[RCTImageLoader decodeImageData:size:scale:clipped:resizeMode:completionBlock:]
00000001001a7738 t -[RCTImageLoader dequeueTasks]
00000001001ac2ac t -[RCTImageLoader getImageCacheStatus:]
00000001001abee4 t -[RCTImageLoader getImageSizeForURLRequest:block:]
00000001001acd70 t -[RCTImageLoader getSize:resolve:reject:]
00000001001ad0f8 t -[RCTImageLoader getSizeWithHeaders:headers:resolve:reject:]
00000001001acd28 t -[RCTImageLoader getTurboModule:]
00000001001a6d8c t -[RCTImageLoader handlerPriority]
00000001001a6d94 t -[RCTImageLoader imageCache]
00000001001a7160 t -[RCTImageLoader imageDataDecoderForData:]
00000001001a6e40 t -[RCTImageLoader imageURLLoaderForURL:]
00000001001a6bc0 t -[RCTImageLoader initWithRedirectDelegate:]
00000001001a6c48 t -[RCTImageLoader initWithRedirectDelegate:loadersProvider:decodersProvider:]
00000001001a6bb0 t -[RCTImageLoader init]
00000001001a7454 t -[RCTImageLoader loadImageWithURLRequest:callback:]
00000001001a7478 t -[RCTImageLoader loadImageWithURLRequest:priority:callback:]
00000001001aa224 t -[RCTImageLoader loadImageWithURLRequest:size:scale:clipped:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]
00000001001a74fc t -[RCTImageLoader loadImageWithURLRequest:size:scale:clipped:resizeMode:priority:progressBlock:partialLoadBlock:completionBlock:]
00000001001a74c4 t -[RCTImageLoader loadImageWithURLRequest:size:scale:clipped:resizeMode:progressBlock:partialLoadBlock:completionBlock:]
00000001001ad8c4 t -[RCTImageLoader maxConcurrentDecodingBytes]
00000001001ad8b4 t -[RCTImageLoader maxConcurrentDecodingTasks]
00000001001ad8a4 t -[RCTImageLoader maxConcurrentLoadingTasks]
00000001001ad880 t -[RCTImageLoader moduleRegistry]
00000001001ad534 t -[RCTImageLoader prefetchImage:resolve:reject:]
00000001001ad554 t -[RCTImageLoader prefetchImageWithMetadata:queryRootName:rootTag:resolve:reject:]
00000001001ad7dc t -[RCTImageLoader queryCache:resolve:reject:]
00000001001ac8cc t -[RCTImageLoader sendRequest:withDelegate:]
00000001001a6dd8 t -[RCTImageLoader setImageCache:]
00000001001ad8cc t -[RCTImageLoader setMaxConcurrentDecodingBytes:]
00000001001ad8bc t -[RCTImageLoader setMaxConcurrentDecodingTasks:]
00000001001ad8ac t -[RCTImageLoader setMaxConcurrentLoadingTasks:]
00000001001ad898 t -[RCTImageLoader setModuleRegistry:]
00000001001a6d00 t -[RCTImageLoader setUp]
00000001001aada0 t -[RCTImageLoader shouldEnablePerfLoggingForRequestUrl:]
00000001001aafc4 t -[RCTImageLoader trackURLImageDidDestroy:]
00000001001aaefc t -[RCTImageLoader trackURLImageRequestDidDestroy:]
00000001001aae0c t -[RCTImageLoader trackURLImageVisibilityForRequest:imageView:]
0000000101dc5cf8 S _OBJC_CLASS_$_RCTImageLoader
0000000101dbe3e0 s _OBJC_IVAR_$_RCTImageLoader._URLRequestQueue
0000000101dbe3f8 s _OBJC_IVAR_$_RCTImageLoader._activeBytes
0000000101dbe3ec s _OBJC_IVAR_$_RCTImageLoader._activeTasks
0000000101dbe404 s _OBJC_IVAR_$_RCTImageLoader._bridge
0000000101dbe3d8 s _OBJC_IVAR_$_RCTImageLoader._decoders
0000000101dbe3d0 s _OBJC_IVAR_$_RCTImageLoader._decodersProvider
0000000101dbe3e4 s _OBJC_IVAR_$_RCTImageLoader._imageCache
0000000101dbe3dc s _OBJC_IVAR_$_RCTImageLoader._imageDecodeQueue
0000000101dbe3c4 s _OBJC_IVAR_$_RCTImageLoader._isLoaderSetup
0000000101dbe3c8 s _OBJC_IVAR_$_RCTImageLoader._loaderSetupLock
0000000101dbe3d4 s _OBJC_IVAR_$_RCTImageLoader._loaders
0000000101dbe3fc s _OBJC_IVAR_$_RCTImageLoader._loadersMutex
0000000101dbe3cc s _OBJC_IVAR_$_RCTImageLoader._loadersProvider
0000000101dbe414 s _OBJC_IVAR_$_RCTImageLoader._maxConcurrentDecodingBytes
0000000101dbe410 s _OBJC_IVAR_$_RCTImageLoader._maxConcurrentDecodingTasks
0000000101dbe40c s _OBJC_IVAR_$_RCTImageLoader._maxConcurrentLoadingTasks
0000000101dbe408 s _OBJC_IVAR_$_RCTImageLoader._moduleRegistry
0000000101dbe3f0 s _OBJC_IVAR_$_RCTImageLoader._pendingDecodes
0000000101dbe3e8 s _OBJC_IVAR_$_RCTImageLoader._pendingTasks
0000000101dbe400 s _OBJC_IVAR_$_RCTImageLoader._redirectDelegate
0000000101dbe3f4 s _OBJC_IVAR_$_RCTImageLoader._scheduledDecodes
0000000101dc5d20 S _OBJC_METACLASS_$_RCTImageLoader
00000001001ada38 T _RCTImageLoaderCls
00000001017312a0 s __OBJC_$_CLASS_METHODS_RCTImageLoader
000000010173ede8 s __OBJC_$_INSTANCE_METHODS_RCTBridge(RCTAccessibilityManager|RCTDevMenu|RCTDevSettings|RCTWebSocketModule|RCTImageLoader|RCTImageStoreManager|RCTNetworking|RCTEventDispatcher|RCTSurfacePresenterStub|RCTUIManager)
000000010173f190 s __OBJC_$_INSTANCE_METHODS_RCTBridgeProxy(RCTAccessibilityManager|RCTDevMenu|RCTDevSettings|RCTWebSocketModule|RCTImageLoader|RCTImageStoreManager|RCTNetworking|RCTEventDispatcher|RCTSurfacePresenterStub)
00000001017414e0 s __OBJC_$_INSTANCE_METHODS_RCTImageLoader
0000000101d44a90 s __OBJC_$_INSTANCE_VARIABLES_RCTImageLoader
0000000101d44d38 s __OBJC_$_PROP_LIST_RCTImageLoader
0000000101d44910 s __OBJC_$_PROP_LIST_RCTImageLoaderProtocol
0000000101758b00 s __OBJC_$_PROTOCOL_INSTANCE_METHODS_RCTImageLoaderLoggable
0000000101758b18 s __OBJC_$_PROTOCOL_INSTANCE_METHODS_RCTImageLoaderLoggableProtocol
0000000101758b30 s __OBJC_$_PROTOCOL_INSTANCE_METHODS_RCTImageLoaderProtocol
0000000101758bd8 s __OBJC_$_PROTOCOL_INSTANCE_METHODS_RCTImageLoaderWithAttributionProtocol
0000000101d44740 s __OBJC_$_PROTOCOL_METHOD_TYPES_RCTImageLoaderLoggable
0000000101d449c8 s __OBJC_$_PROTOCOL_METHOD_TYPES_RCTImageLoaderLoggableProtocol
0000000101d44948 s __OBJC_$_PROTOCOL_METHOD_TYPES_RCTImageLoaderProtocol
0000000101d449f0 s __OBJC_$_PROTOCOL_METHOD_TYPES_RCTImageLoaderWithAttributionProtocol
0000000101d449b0 s __OBJC_$_PROTOCOL_REFS_RCTImageLoaderLoggableProtocol
0000000101d448f8 s __OBJC_$_PROTOCOL_REFS_RCTImageLoaderProtocol
0000000101d449d0 s __OBJC_$_PROTOCOL_REFS_RCTImageLoaderWithAttributionProtocol
0000000101d44a10 s __OBJC_CLASS_PROTOCOLS_$_RCTImageLoader
0000000101d44e10 s __OBJC_CLASS_RO_$_RCTImageLoader
0000000101d002b8 s __OBJC_LABEL_PROTOCOL_$_RCTImageLoaderLoggable
0000000101d002d8 s __OBJC_LABEL_PROTOCOL_$_RCTImageLoaderLoggableProtocol
0000000101d002d0 s __OBJC_LABEL_PROTOCOL_$_RCTImageLoaderProtocol
0000000101d002e0 s __OBJC_LABEL_PROTOCOL_$_RCTImageLoaderWithAttributionProtocol
0000000101d44a48 s __OBJC_METACLASS_RO_$_RCTImageLoader
0000000101ddaab8 d __OBJC_PROTOCOL_$_RCTImageLoaderLoggable
0000000101ddacb0 d __OBJC_PROTOCOL_$_RCTImageLoaderLoggableProtocol
0000000101ddac50 d __OBJC_PROTOCOL_$_RCTImageLoaderProtocol
0000000101ddad10 d __OBJC_PROTOCOL_$_RCTImageLoaderWithAttributionProtocol
0000000101dee9e0 b __ZZ35-[RCTImageLoader canHandleRequest:]E10videoRegex
0000000101dee9e8 b __ZZ35-[RCTImageLoader canHandleRequest:]E9onceToken
0000000101ddab78 d __ZZ37+[RCTImageLoader __rct_export__12350]E6config
0000000101ddab90 d __ZZ37+[RCTImageLoader __rct_export__12551]E6config
0000000101ddaba8 d __ZZ37+[RCTImageLoader __rct_export__12752]E6config
0000000101ddabc0 d __ZZ37+[RCTImageLoader __rct_export__12853]E6config
0000000101ddabd8 d __ZZ37+[RCTImageLoader __rct_export__13124]E6config
00000001001a76ec t ___128-[RCTImageLoader loadImageWithURLRequest:size:scale:clipped:resizeMode:priority:progressBlock:partialLoadBlock:completionBlock:]_block_invoke
00000001001a7730 t ___128-[RCTImageLoader loadImageWithURLRequest:size:scale:clipped:resizeMode:priority:progressBlock:partialLoadBlock:completionBlock:]_block_invoke.121
00000001001a88d0 t ___139-[RCTImageLoader _loadImageOrDataWithURLRequest:size:scale:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke
00000001001a8e88 t ___139-[RCTImageLoader _loadImageOrDataWithURLRequest:size:scale:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke.158
00000001001a9738 t ___139-[RCTImageLoader _loadImageOrDataWithURLRequest:size:scale:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke.163
00000001001a8cf4 t ___139-[RCTImageLoader _loadImageOrDataWithURLRequest:size:scale:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke_2
00000001001a90ac t ___139-[RCTImageLoader _loadImageOrDataWithURLRequest:size:scale:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke_2.159
00000001001a90bc t ___139-[RCTImageLoader _loadImageOrDataWithURLRequest:size:scale:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke_3
00000001001a9510 t ___139-[RCTImageLoader _loadImageOrDataWithURLRequest:size:scale:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke_4
00000001001a9520 t ___139-[RCTImageLoader _loadImageOrDataWithURLRequest:size:scale:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke_5
00000001001a9530 t ___139-[RCTImageLoader _loadImageOrDataWithURLRequest:size:scale:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke_6
00000001001aa73c t ___140-[RCTImageLoader loadImageWithURLRequest:size:scale:clipped:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke
00000001001aa7ec t ___140-[RCTImageLoader loadImageWithURLRequest:size:scale:clipped:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke_2
00000001001aaab0 t ___140-[RCTImageLoader loadImageWithURLRequest:size:scale:clipped:resizeMode:priority:attribution:progressBlock:partialLoadBlock:completionBlock:]_block_invoke_3
00000001001a7790 t ___30-[RCTImageLoader dequeueTasks]_block_invoke
00000001001ac820 t ___35-[RCTImageLoader canHandleRequest:]_block_invoke
00000001001a7098 t ___39-[RCTImageLoader imageURLLoaderForURL:]_block_invoke
00000001001aceec t ___41-[RCTImageLoader getSize:resolve:reject:]_block_invoke
00000001001a738c t ___42-[RCTImageLoader imageDataDecoderForData:]_block_invoke
00000001001aca40 t ___43-[RCTImageLoader sendRequest:withDelegate:]_block_invoke
00000001001ac05c t ___50-[RCTImageLoader getImageSizeForURLRequest:block:]_block_invoke
00000001001ad300 t ___60-[RCTImageLoader getSizeWithHeaders:headers:resolve:reject:]_block_invoke
00000001001ad394 t ___60-[RCTImageLoader getSizeWithHeaders:headers:resolve:reject:]_block_invoke.237
00000001001a9bd4 t ___64-[RCTImageLoader _loadURLRequest:progressBlock:completionBlock:]_block_invoke
00000001001a9ec4 t ___64-[RCTImageLoader _loadURLRequest:progressBlock:completionBlock:]_block_invoke.174
00000001001aa130 t ___64-[RCTImageLoader _loadURLRequest:progressBlock:completionBlock:]_block_invoke.175
00000001001aa144 t ___64-[RCTImageLoader _loadURLRequest:progressBlock:completionBlock:]_block_invoke.177
00000001001aa070 t ___64-[RCTImageLoader _loadURLRequest:progressBlock:completionBlock:]_block_invoke_2
00000001001aa1e8 t ___64-[RCTImageLoader _loadURLRequest:progressBlock:completionBlock:]_block_invoke_2.178
00000001001ab530 t ___80-[RCTImageLoader decodeImageData:size:scale:clipped:resizeMode:completionBlock:]_block_invoke
00000001001aba58 t ___80-[RCTImageLoader decodeImageData:size:scale:clipped:resizeMode:completionBlock:]_block_invoke.188
00000001001abdcc t ___80-[RCTImageLoader decodeImageData:size:scale:clipped:resizeMode:completionBlock:]_block_invoke.194
00000001001abea8 t ___80-[RCTImageLoader decodeImageData:size:scale:clipped:resizeMode:completionBlock:]_block_invoke.195
00000001001ab534 t ___80-[RCTImageLoader decodeImageData:size:scale:clipped:resizeMode:completionBlock:]_block_invoke_2
00000001001aba5c t ___80-[RCTImageLoader decodeImageData:size:scale:clipped:resizeMode:completionBlock:]_block_invoke_2.190
00000001001ab73c t ___80-[RCTImageLoader decodeImageData:size:scale:clipped:resizeMode:completionBlock:]_block_invoke_3
00000001001abbac t ___80-[RCTImageLoader decodeImageData:size:scale:clipped:resizeMode:completionBlock:]_block_invoke_3.191
00000001001abd0c t ___80-[RCTImageLoader decodeImageData:size:scale:clipped:resizeMode:completionBlock:]_block_invoke_4
00000001001ad758 t ___81-[RCTImageLoader prefetchImageWithMetadata:queryRootName:rootTag:resolve:reject:]_block_invoke
Incident Identifier: A17F53FE-051D-455C-9E91-117C8FCAC51F
CrashReporter Key: 71d356a0d7980cd8c8a9bac0737e06d176e76d9c
Hardware Model: iPhone14,8
Device Model: D28AP
Process: PocketPal [19225]
Path: /private/var/containers/Bundle/Application/40040173-68F2-411A-A326-6522B5C26A16/PocketPal.app/PocketPal
Identifier: ai.pocketpal
Version: 1.17.2 (146)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: ai.pocketpal [14417]
Date/Time: 2026-09-26 01:02:24.2440 -0600
Launch Time: 2026-09-26 00:46:47.6172 -0600
OS Version: iPhone OS 16.1 (20B82)
Release Type: User
Baseband Version: 1.13.03
UDID: 00008110-000179940EF1401E
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000050
Exception Codes: 0x0000000000000001, 0x0000000000000050
VM Region Info: 0x50 is not in any region. Bytes before following region: 68719476656
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
UNUSED SPACE AT START
--->
commpage (reserved) 1000000000-7000000000 [384.0G] ---/--- SM=NUL ...(unallocated)
Termination Reason: SIGNAL 11 Segmentation fault: 11
Terminating Process: exc handler [19225]
Triggered by Thread: 13
Application Specific Information:
dyld config: DYLD_INSERT_LIBRARIES=/usr/lib/systemhook.dylib
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x20c5a5b48 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x20c5b8008 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x20c5b8248 mach_msg_overwrite + 388
3 libsystem_kernel.dylib 0x20c5a608c mach_msg + 24
4 CoreFoundation 0x1cfa1eaf0 __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x1cfa1fd34 __CFRunLoopRun + 1232
6 CoreFoundation 0x1cfa24ed4 CFRunLoopRunSpecific + 612
7 GraphicsServices 0x208d26368 GSEventRunModal + 164
8 UIKitCore 0x1d1f033d0 -[UIApplication _run] + 888
9 UIKitCore 0x1d1f03034 UIApplicationMain + 340
10 libswiftUIKit.dylib 0x1d84f3308 UIApplicationMain(_:_:_:_:) + 104
11 PocketPal 0x1047e5374 main + 120
12 dyld 0x1080e9960 start + 2528
Thread 1:
0 libsystem_kernel.dylib 0x20c5a641c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x21ca0f06c _pthread_cond_wait + 1232
2 libc++.1.dylib 0x1ddf67acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 PocketPal 0x104848c70 void* std::__1::__thread_proxy[abi:ne190102]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPool::startWorkers(unsigned long)::$_0> >(void*) + 164
4 libsystem_pthread.dylib 0x21ca086cc _pthread_start + 148
5 libsystem_pthread.dylib 0x21ca07ba4 thread_start + 8
Thread 2:
0 libsystem_kernel.dylib 0x20c5a641c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x21ca0f06c _pthread_cond_wait + 1232
2 libc++.1.dylib 0x1ddf67acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 PocketPal 0x104848c70 void* std::__1::__thread_proxy[abi:ne190102]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPool::startWorkers(unsigned long)::$_0> >(void*) + 164
4 libsystem_pthread.dylib 0x21ca086cc _pthread_start + 148
5 libsystem_pthread.dylib 0x21ca07ba4 thread_start + 8
Thread 3:
0 libsystem_kernel.dylib 0x20c5a641c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x21ca0f06c _pthread_cond_wait + 1232
2 libc++.1.dylib 0x1ddf67acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 PocketPal 0x104848c70 void* std::__1::__thread_proxy[abi:ne190102]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPool::startWorkers(unsigned long)::$_0> >(void*) + 164
4 libsystem_pthread.dylib 0x21ca086cc _pthread_start + 148
5 libsystem_pthread.dylib 0x21ca07ba4 thread_start + 8
Thread 4:
0 libsystem_kernel.dylib 0x20c5a641c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x21ca0f06c _pthread_cond_wait + 1232
2 libc++.1.dylib 0x1ddf67acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 PocketPal 0x104848c70 void* std::__1::__thread_proxy[abi:ne190102]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPool::startWorkers(unsigned long)::$_0> >(void*) + 164
4 libsystem_pthread.dylib 0x21ca086cc _pthread_start + 148
5 libsystem_pthread.dylib 0x21ca07ba4 thread_start + 8
Thread 5:
0 libsystem_kernel.dylib 0x20c5a641c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x21ca0f06c _pthread_cond_wait + 1232
2 libc++.1.dylib 0x1ddf67acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 PocketPal 0x104848c70 void* std::__1::__thread_proxy[abi:ne190102]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPool::startWorkers(unsigned long)::$_0> >(void*) + 164
4 libsystem_pthread.dylib 0x21ca086cc _pthread_start + 148
5 libsystem_pthread.dylib 0x21ca07ba4 thread_start + 8
Thread 6:
0 libsystem_kernel.dylib 0x20c5a641c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x21ca0f06c _pthread_cond_wait + 1232
2 libc++.1.dylib 0x1ddf67acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 PocketPal 0x104848c70 void* std::__1::__thread_proxy[abi:ne190102]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, ThreadPool::startWorkers(unsigned long)::$_0> >(void*) + 164
4 libsystem_pthread.dylib 0x21ca086cc _pthread_start + 148
5 libsystem_pthread.dylib 0x21ca07ba4 thread_start + 8
Thread 7 name: com.apple.uikit.eventfetch-thread
Thread 7:
0 libsystem_kernel.dylib 0x20c5a5b48 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x20c5b8008 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x20c5b8248 mach_msg_overwrite + 388
3 libsystem_kernel.dylib 0x20c5a608c mach_msg + 24
4 CoreFoundation 0x1cfa1eaf0 __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x1cfa1fd34 __CFRunLoopRun + 1232
6 CoreFoundation 0x1cfa24ed4 CFRunLoopRunSpecific + 612
7 Foundation 0x1c9dca334 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
8 Foundation 0x1c9dca21c -[NSRunLoop(NSRunLoop) runUntilDate:] + 64
9 UIKitCore 0x1d203833c -[UIEventFetcher threadMain] + 436
10 Foundation 0x1c9de3808 __NSThread__start__ + 716
11 libsystem_pthread.dylib 0x21ca086cc _pthread_start + 148
12 libsystem_pthread.dylib 0x21ca07ba4 thread_start + 8
Thread 8 name: com.facebook.react.runtime.JavaScript
Thread 8:
0 hermesvm 0x108677b5c hermes::vm::DictPropertyMap::lookupEntryFor(hermes::vm::DictPropertyMap*, hermes::vm::SymbolID) + 44
1 hermesvm 0x108677d4c hermes::vm::DictPropertyMap::findOrAdd(hermes::vm::MutableHandle<hermes::vm::DictPropertyMap>&, hermes::vm::Runtime&, hermes::vm::SymbolID) + 72
2 hermesvm 0x10867e568 hermes::vm::HiddenClass::addToPropertyMap(hermes::vm::Handle<hermes::vm::HiddenClass>, hermes::vm::Runtime&, hermes::vm::SymbolID, hermes::vm::NamedPropertyDescriptor) + 140
3 hermesvm 0x10867e104 hermes::vm::HiddenClass::addProperty(hermes::vm::Handle<hermes::vm::HiddenClass>, hermes::vm::Runtime&, hermes::vm::SymbolID, hermes::vm::PropertyFlags) + 188
4 hermesvm 0x1086964c4 hermes::vm::JSObject::addOwnPropertyImpl(hermes::vm::Handle<hermes::vm::JSObject>, hermes::vm::Runtime&, hermes::vm::SymbolID, hermes::vm::PropertyFlags, hermes::vm::Handle<hermes::vm::HermesValue>) + 144
5 hermesvm 0x108694c38 hermes::vm::JSObject::addOwnProperty(hermes::vm::Handle<hermes::vm::JSObject>, hermes::vm::Runtime&, hermes::vm::SymbolID, hermes::vm::DefinePropertyFlags, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::PropOpFlags) + 148
6 hermesvm 0x1086953a4 hermes::vm::JSObject::putComputedWithReceiver_RJS(hermes::vm::Handle<hermes::vm::JSObject>, hermes::vm::Runtime&, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::Handle<hermes::vm::HermesValue>, hermes::vm::PropOpFlags) + 1264
7 hermesvm 0x108685638 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::Interpreter::interpretFunction<false, false>(hermes::vm::Runtime&, hermes::vm::InterpreterState&) + 8208
8 hermesvm 0x108683600 hermes::vm::Runtime::interpretFunctionImpl(hermes::vm::CodeBlock*) + 52
9 hermesvm 0x108675f60 hermes::vm::JSFunction::_callImpl(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime&) + 40
10 hermesvm 0x108674750 hermes::vm::Callable::executeCall0(hermes::vm::Handle<hermes::vm::Callable>, hermes::vm::Runtime&, hermes::vm::Handle<hermes::vm::HermesValue>, bool) + 156
11 hermesvm 0x1086b2df4 hermes::vm::Runtime::drainJobs() + 240
12 hermesvm 0x108656c48 facebook::hermes::(anonymous namespace)::HermesRuntimeImpl::drainMicrotasks(int) + 36
13 PocketPal 0x104d599d4 facebook::react::RuntimeScheduler_Modern::performMicrotaskCheckpoint(facebook::jsi::Runtime&) + 124
14 PocketPal 0x104d59828 facebook::react::RuntimeScheduler_Modern::runEventLoopTick(facebook::jsi::Runtime&, facebook::react::Task&) + 188
15 PocketPal 0x104d59560 facebook::react::RuntimeScheduler_Modern::runEventLoop(facebook::jsi::Runtime&) + 112
16 PocketPal 0x104d2c6f8 std::__1::__function::__func<auto facebook::react::ReactInstance::ReactInstance(std::__1::unique_ptr<facebook::react::JSRuntime, std::__1::default_delete<facebook::react::JSRuntime> >, std::__1::shared_ptr<facebook::react::MessageQueueThread>, std::__1::shared_ptr<facebook::react::TimerManager>, std::__1::function<void (facebook::jsi::Runtime&, facebook::react::JsErrorHandler::ProcessedError const&)>, facebook::react::jsinspector_modern::HostTarget*)::$_0::operator()<std::__1::function<void (facebook::jsi::Runtime&)> >(std::__1::function<void (facebook::jsi::Runtime&)>) const::'lambda'(), std::__1::allocator<std::__1::allocator>, void ()>::operator()() + 140
17 PocketPal 0x104b4ddc8 facebook::react::tryAndReturnError(std::__1::function<void ()> const&) + 32
18 PocketPal 0x104b5b204 facebook::react::RCTMessageThread::tryFunc(std::__1::function<void ()> const&) + 24
19 PocketPal 0x104b5b010 invocation function for block in facebook::react::RCTMessageThread::runAsync(std::__1::function<void ()>) + 44
20 CoreFoundation 0x1cf9e7564 __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ + 28
21 CoreFoundation 0x1cfa4fd9c __CFRunLoopDoBlocks + 368
22 CoreFoundation 0x1cfa201f8 __CFRunLoopRun + 2452
23 CoreFoundation 0x1cfa24ed4 CFRunLoopRunSpecific + 612
24 PocketPal 0x104d27c7c +[RCTJSThreadManager runRunLoop] + 212
25 Foundation 0x1c9de3808 __NSThread__start__ + 716
26 libsystem_pthread.dylib 0x21ca086cc _pthread_start + 148
27 libsystem_pthread.dylib 0x21ca07ba4 thread_start + 8
Thread 9 name: hades
Thread 9:
0 libsystem_kernel.dylib 0x20c5a641c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x21ca0f06c _pthread_cond_wait + 1232
2 libc++.1.dylib 0x1ddf67acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 hermesvm 0x10871f538 hermes::vm::HadesGC::Executor::worker() + 116
4 hermesvm 0x10871f4a0 void* std::__1::__thread_proxy[abi:nn180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hermes::vm::HadesGC::Executor::Executor()::'lambda'()> >(void*) + 44
5 libsystem_pthread.dylib 0x21ca086cc _pthread_start + 148
6 libsystem_pthread.dylib 0x21ca07ba4 thread_start + 8
Thread 10 name: hades
Thread 10:
0 libsystem_kernel.dylib 0x20c5a641c __psynch_cvwait + 8
1 libsystem_pthread.dylib 0x21ca0f06c _pthread_cond_wait + 1232
2 libc++.1.dylib 0x1ddf67acc std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 28
3 hermesvm 0x10871f538 hermes::vm::HadesGC::Executor::worker() + 116
4 hermesvm 0x10871f4a0 void* std::__1::__thread_proxy[abi:nn180100]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, hermes::vm::HadesGC::Executor::Executor()::'lambda'()> >(void*) + 44
5 libsystem_pthread.dylib 0x21ca086cc _pthread_start + 148
6 libsystem_pthread.dylib 0x21ca07ba4 thread_start + 8
Thread 11 name: AXSpeech
Thread 11:
0 libsystem_kernel.dylib 0x20c5a5b48 mach_msg2_trap + 8
1 libsystem_kernel.dylib 0x20c5b8008 mach_msg2_internal + 80
2 libsystem_kernel.dylib 0x20c5b8248 mach_msg_overwrite + 388
3 libsystem_kernel.dylib 0x20c5a608c mach_msg + 24
4 CoreFoundation 0x1cfa1eaf0 __CFRunLoopServiceMachPort + 160
5 CoreFoundation 0x1cfa1fd34 __CFRunLoopRun + 1232
6 CoreFoundation 0x1cfa24ed4 CFRunLoopRunSpecific + 612
7 Foundation 0x1c9dca334 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 212
8 libAXSpeechManager.dylib 0x2335cd3b4 -[AXSpeechThread main] + 544
9 Foundation 0x1c9de3808 __NSThread__start__ + 716
10 libsystem_pthread.dylib 0x21ca086cc _pthread_start + 148
11 libsystem_pthread.dylib 0x21ca07ba4 thread_start + 8
Thread 12:
0 libsystem_pthread.dylib 0x21ca07b90 start_wqthread + 0
Thread 13 name: Dispatch queue: com.meta.react.turbomodulemanager.queue
Thread 13 Crashed:
0 hermesvm 0x10871da68 hermes::vm::HadesGC::updateYoungGenSizeFactor() + 24
1 hermesvm 0x10871da68 hermes::vm::HadesGC::updateYoungGenSizeFactor() + 24
2 hermesvm 0x10871af9c hermes::vm::HadesGC::youngGenCollection(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, bool) + 916
3 hermesvm 0x10871d108 hermes::vm::HadesGC::allocSlow(unsigned int) + 56
4 hermesvm 0x1086c6c00 hermes::vm::DynamicStringPrimitive<char, false>* hermes::vm::GCBase::makeAVariable<hermes::vm::DynamicStringPrimitive<char, false>, (hermes::vm::HasFinalizer)0, (hermes::vm::LongLived)0, unsigned int&>(unsigned int, unsigned int&) + 88
5 hermesvm 0x1086c48c8 hermes::vm::CallResult<hermes::vm::HermesValue, (hermes::vm::detail::CallResultSpecialize)2> hermes::vm::StringPrimitive::createEfficientImpl<char>(hermes::vm::Runtime&, llvh::ArrayRef<char>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) + 176
6 hermesvm 0x1086c49ec hermes::vm::StringPrimitive::createEfficient(hermes::vm::Runtime&, llvh::ArrayRef<unsigned char>, bool) + 80
7 hermesvm 0x108660cd0 facebook::hermes::(anonymous namespace)::HermesRuntimeImpl::stringHVFromUtf8(unsigned char const*, unsigned long) + 28
8 hermesvm 0x108657aa4 facebook::hermes::(anonymous namespace)::HermesRuntimeImpl::createStringFromUtf8(unsigned char const*, unsigned long) + 132
9 PocketPal 0x104ccff94 facebook::react::TurboModuleConvertUtils::convertNSStringToJSIString(facebook::jsi::Runtime&, NSString*) + 136
10 PocketPal 0x104ccfdcc facebook::react::TurboModuleConvertUtils::convertObjCObjectToJSIValue(facebook::jsi::Runtime&, objc_object*) + 84
11 PocketPal 0x104cd02a8 facebook::react::TurboModuleConvertUtils::convertNSArrayToJSIArray(facebook::jsi::Runtime&, NSArray*) + 140
12 PocketPal 0x104cd1804 facebook::react::TurboModuleConvertUtils::convertNSExceptionToJSError(facebook::jsi::Runtime&, NSException*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) + 252
13 PocketPal 0x104cd2264 invocation function for block in facebook::react::ObjCTurboModule::performVoidMethodInvocation(facebook::jsi::Runtime&, char const*, NSInvocation*, NSMutableArray*) + 336
14 PocketPal 0x104cd70d0 std::__1::__function::__func<facebook::react::ObjCTurboModule::performVoidMethodInvocation(facebook::jsi::Runtime&, char const*, NSInvocation*, NSMutableArray*)::$_1, std::__1::allocator<facebook::react::ObjCTurboModule::performVoidMethodInvocation(facebook::jsi::Runtime&, char const*, NSInvocation*, NSMutableArray*)::$_1>, void ()>::operator()() + 104
15 libdispatch.dylib 0x1d6f7c4b4 _dispatch_call_block_and_release + 32
16 libdispatch.dylib 0x1d6f7dfdc _dispatch_client_callout + 20
17 libdispatch.dylib 0x1d6f85694 _dispatch_lane_serial_drain + 672
18 libdispatch.dylib 0x1d6f861e0 _dispatch_lane_invoke + 384
19 libdispatch.dylib 0x1d6f90e10 _dispatch_workloop_worker_thread + 652
20 libsystem_pthread.dylib 0x21ca07df8 _pthread_wqthread + 288
21 libsystem_pthread.dylib 0x21ca07b98 start_wqthread + 8
Thread 13 crashed with ARM Thread State (64-bit):
x0: 0x000f23a864ed3a7d x1: 0x000000016b74e170 x2: 0x00000000000120a8 x3: 0x00000001088625ec
x4: 0xffffffffee990528 x5: 0x0000000000000008 x6: 0x3fe8000000000000 x7: 0x0000000000000000
x8: 0x00000000004105d2 x9: 0x000000003001867d x10: 0x000000003b9aca00 x11: 0x00000000fffffffd
x12: 0x0000010000000000 x13: 0x0000000000000000 x14: 0x0000000000000000 x15: 0x0000000000000000
x16: 0x000000020c5a62f8 x17: 0x00000001d6fca458 x18: 0x0000000000000000 x19: 0x0000000143d62388
x20: 0x0000000000000000 x21: 0x000000016b74e3b8 x22: 0x0000000000000001 x23: 0x0000000143d626a0
x24: 0x0000000143d64178 x25: 0x0000000000000828 x26: 0x0000000143d64178 x27: 0x0000000000000000
x28: 0x0000000000000290 fp: 0x000000016b74e1a0 lr: 0x955844010871da68
sp: 0x000000016b74e190 pc: 0x000000010871da68 cpsr: 0x60001000
far: 0x0000000000000050 esr: 0x92000006 (Data Abort) byte read Translation fault
Binary Images:
0x20c5a5000 - 0x20c5dbffb libsystem_kernel.dylib arm64e <ff27fc8f90ba3332ab7ac5bc2d9ca7b1> /usr/lib/system/libsystem_kernel.dylib
0x1cf9a4000 - 0x1cfd89fff CoreFoundation arm64e <5cdc5d9ae5063740b64ebb30867b4f1b> /System/Library/Frameworks/CoreFoundation.framework/CoreFoundation
0x208d25000 - 0x208d2dfff GraphicsServices arm64e <a633a095122639428f413877660185ee> /System/Library/PrivateFrameworks/GraphicsServices.framework/GraphicsServices
0x1d1b61000 - 0x1d333efff UIKitCore arm64e <179501b60fc2344ab969b4e3961ebe10> /System/Library/PrivateFrameworks/UIKitCore.framework/UIKitCore
0x1d84be000 - 0x1d8532fff libswiftUIKit.dylib arm64e <6383e8e8672633918d95bb5ee497e9aa> /usr/lib/swift/libswiftUIKit.dylib
0x1047c4000 - 0x1063c3fff PocketPal arm64 <1b85896d5b1f3113962c851ec5f02af3> /private/var/containers/Bundle/Application/40040173-68F2-411A-A326-6522B5C26A16/PocketPal.app/PocketPal
0x1080d0000 - 0x10815ffff dyld arm64e <444f5041332e302e3900eca13f9fb6c3> /private/preboot/BD79D7EB4AB74EE8A7556E46F05AA338A51E7683FA3F013815BB5301E880B19CC31AB17485C59F4FDE88E49AA35B797C/dopamine-fOaKUt/procursus/basebin/gen/dyld
0x21ca07000 - 0x21ca12fff libsystem_pthread.dylib arm64e <1aa3a4b6f9e730568c8b4e4dd81312a4> /usr/lib/system/libsystem_pthread.dylib
0x1ddf5b000 - 0x1ddfc1ff3 libc++.1.dylib arm64e <64c24b16049731bb8db53b5f6c74ec6b> /usr/lib/libc++.1.dylib
0x1c9d88000 - 0x1ca6d1fff Foundation arm64e <c431acb6fe043d28b6774de6e1c7d81f> /System/Library/Frameworks/Foundation.framework/Foundation
0x108650000 - 0x108853fff hermesvm arm64 <c5fdda8d39df30dc9a24ef9999bb4541> /private/var/containers/Bundle/Application/40040173-68F2-411A-A326-6522B5C26A16/PocketPal.app/Frameworks/hermesvm.framework/hermesvm
0x2335ba000 - 0x2335d4fff libAXSpeechManager.dylib arm64e <02ff7b2b1673342492c3f3a4d1d51408> /usr/lib/libAXSpeechManager.dylib
0x1d6f7a000 - 0x1d6fc0fff libdispatch.dylib arm64e <fea36690a0003c55b7009120b05aa69b> /usr/lib/system/libdispatch.dylib
0x0 - 0xffffffffffffffff ??? unknown-arch <00000000000000000000000000000000> ???
Filtered syslog:
Timestamp Type Thread Act Process[pid] (Sender)
2026-09-26 00:57:41.2216 -0600 info 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Battery information has changed.
2026-09-26 01:02:21.9503 -0600 default 0x12a9f87 0x4517211 PocketPal[19225] (UIKitCore): sceneOfRecord: sceneID: sceneID:ai.pocketpal-default persistentID: 05BB47DF-C688-411C-96DB-F86911E73199
2026-09-26 01:02:22.5295 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Evaluating dispatch of UIEvent: 0x28358ab10; type: 0; subtype: 0; backing type: 11; shouldSend: 1; ignoreInteractionEvents: 0, systemGestureStateChange: 0
2026-09-26 01:02:22.5296 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Sending UIEvent type: 0; subtype: 0; to windows: 1
2026-09-26 01:02:22.5296 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Sending UIEvent type: 0; subtype: 0; to window: <UIWindow: 0x143e4f4d0>; contextId: 0xA015A1A8
2026-09-26 01:02:22.5314 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Evaluating dispatch of UIEvent: 0x28358ab10; type: 0; subtype: 0; backing type: 11; shouldSend: 0; ignoreInteractionEvents: 0, systemGestureStateChange: 0
2026-09-26 01:02:22.6095 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Evaluating dispatch of UIEvent: 0x28358ab10; type: 0; subtype: 0; backing type: 11; shouldSend: 0; ignoreInteractionEvents: 0, systemGestureStateChange: 1
2026-09-26 01:02:22.6263 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Evaluating dispatch of UIEvent: 0x28358ab10; type: 0; subtype: 0; backing type: 11; shouldSend: 1; ignoreInteractionEvents: 0, systemGestureStateChange: 0
2026-09-26 01:02:22.6263 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Sending UIEvent type: 0; subtype: 0; to windows: 1
2026-09-26 01:02:22.6263 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Sending UIEvent type: 0; subtype: 0; to window: <UIWindow: 0x143e4f4d0>; contextId: 0xA015A1A8
2026-09-26 01:02:24.0612 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Evaluating dispatch of UIEvent: 0x28358ab10; type: 0; subtype: 0; backing type: 11; shouldSend: 1; ignoreInteractionEvents: 0, systemGestureStateChange: 0
2026-09-26 01:02:24.0612 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Sending UIEvent type: 0; subtype: 0; to windows: 1
2026-09-26 01:02:24.0612 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Sending UIEvent type: 0; subtype: 0; to window: <UIWindow: 0x143e4f4d0>; contextId: 0xA015A1A8
2026-09-26 01:02:24.0762 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Evaluating dispatch of UIEvent: 0x28358ab10; type: 0; subtype: 0; backing type: 11; shouldSend: 0; ignoreInteractionEvents: 0, systemGestureStateChange: 0
2026-09-26 01:02:24.1762 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Evaluating dispatch of UIEvent: 0x28358ab10; type: 0; subtype: 0; backing type: 11; shouldSend: 1; ignoreInteractionEvents: 0, systemGestureStateChange: 0
2026-09-26 01:02:24.1763 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Sending UIEvent type: 0; subtype: 0; to windows: 1
2026-09-26 01:02:24.1763 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Sending UIEvent type: 0; subtype: 0; to window: <UIWindow: 0x143e4f4d0>; contextId: 0xA015A1A8
2026-09-26 01:02:24.1927 -0600 default 0x12a9f87 0x0 PocketPal[19225] (UIKitCore): Evaluating dispatch of UIEvent: 0x28358ab10; type: 0; subtype: 0; backing type: 11; shouldSend: 0; ignoreInteractionEvents: 0, systemGestureStateChange: 1
2026-09-26 01:02:24.2167 -0600 error 0x12a9fb7 0x0 PocketPal[19225] (PocketPal): { [Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'ImageLoader' could not be found. Verify that a module by this name is registered in the native binary.] name: 'Invariant Violation', framesToPop: 1 }
2026-09-26 01:02:24.2173 -0600 error 0x12ab003 0x0 PocketPal[19225] (PocketPal): Unhandled JS Exception: Invariant Violation: TurboModuleRegistry.getEnforcing(...): 'ImageLoader' could not be found. Verify that a module by this name is registered in the native binary.
EOF
Description
On launch, the app throws
TurboModuleRegistry.getEnforcing(...): 'ImageLoader' could not be found. The crash happens while React Native converts that exception into a JS error (convertNSExceptionToJSError → convertNSArrayToJSIArray → Hermes string allocation → crash in Hermes GC).The class is present in the binary.
nmon the archived binary shows_OBJC_CLASS_$_RCTImageLoader,+[RCTImageLoader load],+[RCTImageLoader moduleName],-[RCTImageLoader getTurboModule:], and theNativeImageLoaderIOSSpecJSIsymbols. Codegen runs successfully, and the generated RCTAppDependencyProvider and RCTModuleProviders files look normal.Already ruled out: disabling all stripping (COPY_PHASE_STRIP, STRIP_INSTALLED_PRODUCT, DEAD_CODE_STRIPPING), adding an explicit
pod 'React-RCTImage', and AppDelegate (matches the standard RCTReactNativeFactory template).Steps to reproduce
use_frameworks! :linkage => :static, usingxcodebuild archivewith CODE_SIGNING_ALLOWED=NO (GitHub Actions, macos-15, Xcode 16.4)React Native Version
0.82.1
Affected Platforms
Runtime - iOS
Output of
npx @react-native-community/cli infoStacktrace or Logs
MANDATORY Reproducer
https://github.com/zoj26/pocketpal-ai (Fork of a-ghorbani/pocketpal-ai. The build workflow is at .github/workflows/build-ipa.yml.)
Screenshots and Videos
No response