Skip to content

couldn't find DSO to load: libc++_shared.so #54624

Closed

Description

@ashishmisal23

Description

I'm using "react-native": "0.81.1",
I got crash on my mobile pixel 6 pro, below is the stack trace.

`

Crashlytics - Stack trace

Application: com.ubimeat.app

Platform: android

Version: 1.8.00 (159)

Issue: 6e2cae1e73c733980f40111772f9b872

Session: 693AB90E010B00013B0FE742F97724BB_DNE_0_v2

Date: Thu Nov 20 2025 17:59:03 GMT+0530 (India Standard Time)

Fatal Exception: com.facebook.soloader.B: couldn't find DSO to load: libc++_shared.so
existing SO sources:
SoSource 0: ApplicationSoSource[DirectorySoSource[root = /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/lib/x86_64 flags = 0]]
SoSource 1: DirectApkSoSource[root = [/data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.fa.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.nb.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.uk.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.is.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.lt.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.ka.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.iw.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.ml.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.mn.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.bn.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.gl.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.sw.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.mdpi.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.xxxhdpi.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.lv.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-C<truncated: 8289 chars>
at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:1216)
at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:1078)
at com.facebook.soloader.SoLoader.loadDependency(SoLoader.java:920)
at com.facebook.soloader.DirectApkSoSource.loadDependencies(DirectApkSoSource.java:166)
at com.facebook.soloader.DirectApkSoSource.loadLibrary(DirectApkSoSource.java:76)
at com.facebook.soloader.SoLoader.loadLibraryFromSoSource(SoLoader.java:1246)
at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:1210)
at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:1078)
at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:943)
at com.facebook.soloader.SoLoader.loadLibraryOnAndroid(SoLoader.java:859)
at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:842)
at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:812)
at com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsCxxInterop.(ReactNativeFeatureFlagsCxxInterop.kt:28)
at com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsCxxAccessor.override(ReactNativeFeatureFlagsCxxAccessor.kt:615)
at com.facebook.react.internal.featureflags.ReactNativeFeatureFlags.override(ReactNativeFeatureFlags.kt:402)
at com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load(DefaultNewArchitectureEntryPoint.kt:97)
at com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load(DefaultNewArchitectureEntryPoint.kt:43)
at com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative(ReactNativeApplicationEntryPoint.java:31)
at com.ubimeat.app.MainApplication.onCreate(MainApplication.kt:39)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1194)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6735)
at android.app.ActivityThread.access$1300(ActivityThread.java:239)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1915)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7680)
at java.lang.reflect.Method.invokeNative(Method.java)
at java.lang.reflect.Method.invoke(Method.java:423)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

ReferenceQueueDaemon:
at java.lang.Object.wait(Object.java)
at java.lang.Object.wait(Object.java:442)
at java.lang.Object.wait(Object.java:568)
at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:217)
at java.lang.Daemons$Daemon.run(Daemons.java:139)
at java.lang.Thread.run(Thread.java:923)

Firebase Background Thread #1:
at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
at java.lang.Thread.getStackTrace(Thread.java:1736)
at java.lang.Thread.getAllStackTraces(Thread.java:1812)
at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateThreadsList(CrashlyticsReportDataCapture.java:343)
at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateExecutionData(CrashlyticsReportDataCapture.java:314)
at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateEventApplicationData(CrashlyticsReportDataCapture.java:261)
at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.captureEventData(CrashlyticsReportDataCapture.java:112)
at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistEvent(SessionReportingCoordinator.java:337)
at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistFatalEvent(SessionReportingCoordinator.java:130)
at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:218)
at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:204)
at com.google.firebase.crashlytics.internal.concurrency.CrashlyticsWorker.lambda$submitTask$2(CrashlyticsWorker.java:118)
at com.google.android.gms.tasks.zze.run(com.google.android.gms:play-services-tasks@@18.1.0:1)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
at java.lang.Thread.run(Thread.java:923)

Okio Watchdog:
at java.lang.Object.wait(Object.java)
at com.android.okhttp.okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:325)
at com.android.okhttp.okio.AsyncTimeout.access$000(AsyncTimeout.java:42)
at com.android.okhttp.okio.AsyncTimeout$Watchdog.run(AsyncTimeout.java:288)

DefaultDispatcher-worker-2:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:858)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:806)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:754)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)

queued-work-looper:
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loop(Looper.java:183)
at android.os.HandlerThread.run(HandlerThread.java:67)

Firebase Blocking Thread #1:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
at java.lang.Thread.run(Thread.java:923)

ScionFrontendApi:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)

DefaultDispatcher-worker-1:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:858)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:806)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:754)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)

FileObserver:
at android.os.FileObserver$ObserverThread.observe(FileObserver.java)
at android.os.FileObserver$ObserverThread.run(FileObserver.java:113)

OkHttp ConnectionPool:
at java.lang.Object.wait(Object.java)
at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:106)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)

Firebase Blocking Thread #0:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
at java.lang.Thread.run(Thread.java:923)

Firebase Blocking Thread #4:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
at java.lang.Thread.run(Thread.java:923)

FinalizerWatchdogDaemon:
at java.lang.Object.wait(Object.java)
at java.lang.Object.wait(Object.java:442)
at java.lang.Object.wait(Object.java:568)
at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:341)
at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:321)
at java.lang.Daemons$Daemon.run(Daemons.java:139)
at java.lang.Thread.run(Thread.java:923)

pool-4-thread-1:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)

GoogleApiHandler:
at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
at android.os.MessageQueue.next(MessageQueue.java:335)
at android.os.Looper.loop(Looper.java:183)
at android.os.HandlerThread.run(HandlerThread.java:67)

FinalizerDaemon:
at java.lang.Object.wait(Object.java)
at java.lang.Object.wait(Object.java:442)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:211)
at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:273)
at java.lang.Daemons$Daemon.run(Daemons.java:139)
at java.lang.Thread.run(Thread.java:923)

Firebase Background Thread #2:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
at java.lang.Thread.run(Thread.java:923)

Firebase Background Thread #3:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:450)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at com.google.firebase.crashlytics.internal.settings.SettingsController$1.then(SettingsController.java:206)
at com.google.firebase.crashlytics.internal.settings.SettingsController$1.then(SettingsController.java:194)
at com.google.android.gms.tasks.zzo.run(com.google.android.gms:play-services-tasks@@18.1.0:1)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
at java.lang.Thread.run(Thread.java:923)

Firebase Background Thread #0:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
at java.lang.Thread.run(Thread.java:923)

ProcessStablePhenotypeFlag:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:923)

Firebase Blocking Thread #2:
at java.net.SocketInputStream.socketRead0(SocketInputStream.java)
at java.net.SocketInputStream.socketRead(SocketInputStream.java:119)
at java.net.SocketInputStream.read(SocketInputStream.java:176)
at java.net.SocketInputStream.read(SocketInputStream.java:144)
at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:936)
at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:900)
at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:815)
at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:788)
at com.android.okhttp.okio.Okio$2.read(Okio.java:138)
at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:213)
at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:307)
at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:301)
at com.android.okhttp.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:197)
at com.android.okhttp.internal.http.Http1xStream.readResponse(Http1xStream.java:188)
at com.android.okhttp.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:129)
at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:750)
at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:622)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:475)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:106)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:30)
at com.google.firebase.crashlytics.internal.network.HttpGetRequest.execute(HttpGetRequest.java:81)
at com.google.firebase.crashlytics.internal.settings.DefaultSettingsSpiCall.invoke(DefaultSettingsSpiCall.java:114)
at com.google.firebase.crashlytics.internal.settings.SettingsController$1.lambda$then$0(SettingsController.java:204)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
at java.lang.Thread.run(Thread.java:923)

DefaultDispatcher-worker-3:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:858)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:806)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:754)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)

GmsDynamite:
at java.lang.Object.wait(Object.java)
at java.lang.Object.wait(Object.java:442)
at java.lang.Object.wait(Object.java:568)
at com.google.android.gms.dynamite.zza.run(com.google.android.gms:play-services-basement@@18.8.0:2)

Measurement Worker:
at java.lang.String.getChars(String.java:780)
at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:449)
at java.lang.StringBuilder.append(StringBuilder.java:137)
at com.mojito.utility.MojitoLogger.logToFile(MojitoLogger.java:267)
at com.mojito.utility.MojitoLogger.logMessage(MojitoLogger.java:135)
at com.mojito.framework.Intent.logSetAction(Intent.java:52)
at android.content.Intent.setAction(Intent.java:8819)
at android.content.Intent.init$_aroundBody0(Intent.java:6817)
at android.content.Intent$AjcClosure1.run(Intent.java:1)
at org.mojitoaspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:167)
at com.mojito.framework.Intent.logConstructor(Intent.java:74)
at android.content.Intent.(Intent.java:6816)
at m7.hb.a(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):164)
at m7.ge.z(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):235)
at m7.ge.d(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):5)
at m7.vh.r(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):128)
at m7.vh.E(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):50)
at m7.tk.D(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):118)
at m7.rh.run(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):151)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at m7.re.run(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):48)

Firebase Blocking Thread #5:
at sun.misc.Unsafe.park(Unsafe.java)
at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
at java.lang.Thread.run(Thread.java:923)

Firebase Blocking Thread #3:
at android.util.Log.println_native(Log.java)
at android.util.Log.e_aroundBody16(Log.java:253)
at android.util.Log$AjcClosure17.run(Log.java:1)
at org.mojitoaspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:167)
at com.mojito.framework.Log.logE(Log.java:110)
at android.util.Log.e(Log.java:253)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.initHttpEngine(HttpURLConnectionImpl.java)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:404)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:106)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:30)
at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.createFirebaseInstallation(FirebaseInstallationServiceClient.java:176)
at com.google.firebase.installations.FirebaseInstallations.registerFidWithServer(FirebaseInstallations.java:534)
at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:388)
at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$3(FirebaseInstallations.java:373)
at com.google.firebase.concurrent.SequentialExecutor$1.run(SequentialExecutor.java:117)
at com.google.firebase.concurrent.SequentialExecutor$QueueWorker.workOnQueue(SequentialExecutor.java:229)
at com.google.firebase.concurrent.SequentialExecutor$QueueWorker.run(SequentialExecutor.java:174)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
at java.lang.Thread.run(Thread.java:923)
`

React Native Version: 0.81.1

Steps to reproduce

This is came while using application.

React Native Version: 0.81.1

React Native Version

0.81.1

Affected Platforms

Runtime - Android

Areas

TurboModule - The New Native Module System

Output of npx @react-native-community/cli info

System:
  OS: macOS 26.1
  CPU: (8) x64 Intel(R) Core(TM) i5-1038NG7 CPU @ 2.00GHz
  Memory: 43.88 MB / 16.00 GB
  Shell:
    version: 3.2.57
    path: /bin/bash
Binaries:
  Node:
    version: 24.9.0
    path: /Users/ashish.misal/.nvm/versions/node/v24.9.0/bin/node
  Yarn: Not Found
  npm:
    version: 11.6.1
    path: /Users/ashish.misal/.nvm/versions/node/v24.9.0/bin/npm
  Watchman:
    version: 2025.06.30.00
    path: /usr/local/bin/watchman
Managers:
  CocoaPods:
    version: 1.16.2
    path: /usr/local/bin/pod
SDKs:
  iOS SDK: Not Found
  Android SDK:
    API Levels:
      - "30"
      - "33"
      - "34"
      - "35"
      - "36"
    Build Tools:
      - 26.0.0
      - 33.0.0
      - 34.0.0
      - 35.0.0
      - 35.0.1
      - 36.0.0
    System Images:
      - android-34 | Google Play Intel x86_64 Atom
      - android-35 | Google Play Intel x86_64 Atom
      - android-36.1 | Google Play Intel x86_64 Atom
      - android-36.1 | Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom
      - android-36 | Google Play Intel x86_64 Atom
    Android NDK: 22.1.7171670
IDEs:
  Android Studio: 2025.1 AI-251.26094.121.2513.14007798
  Xcode:
    version: /undefined
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.16
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli":
    installed: 20.0.0
    wanted: 20.0.0
  react:
    installed: 19.1.0
    wanted: 19.1.0
  react-native:
    installed: 0.81.1
    wanted: 0.81.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: Not found
  newArchEnabled: false

Stacktrace or Logs

# Crashlytics - Stack trace
# Application: com.ubimeat.app
# Platform: android
# Version: 1.8.00 (159)
# Issue: 6e2cae1e73c733980f40111772f9b872
# Session: 693AB90E010B00013B0FE742F97724BB_DNE_0_v2
# Date: Thu Nov 20 2025 17:59:03 GMT+0530 (India Standard Time)

Fatal Exception: com.facebook.soloader.B: couldn't find DSO to load: libc++_shared.so
	existing SO sources: 
		SoSource 0: ApplicationSoSource[DirectorySoSource[root = /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/lib/x86_64 flags = 0]]
		SoSource 1: DirectApkSoSource[root = [/data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.fa.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.nb.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.uk.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.is.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.lt.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.ka.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.iw.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.ml.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.mn.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.bn.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.gl.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.sw.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.mdpi.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.xxxhdpi.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-CNNYUBeEdZIA==/split_config.lv.apk!/lib/arm64-v8a, /data/app/~~idv6_G3GaSL-hkxbk8aQBw==/com.ubimeat.app-Zfa6z939i-C<truncated: 8289 chars>
       at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:1216)
       at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:1078)
       at com.facebook.soloader.SoLoader.loadDependency(SoLoader.java:920)
       at com.facebook.soloader.DirectApkSoSource.loadDependencies(DirectApkSoSource.java:166)
       at com.facebook.soloader.DirectApkSoSource.loadLibrary(DirectApkSoSource.java:76)
       at com.facebook.soloader.SoLoader.loadLibraryFromSoSource(SoLoader.java:1246)
       at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:1210)
       at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:1078)
       at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:943)
       at com.facebook.soloader.SoLoader.loadLibraryOnAndroid(SoLoader.java:859)
       at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:842)
       at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:812)
       at com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsCxxInterop.<clinit>(ReactNativeFeatureFlagsCxxInterop.kt:28)
       at com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsCxxAccessor.override(ReactNativeFeatureFlagsCxxAccessor.kt:615)
       at com.facebook.react.internal.featureflags.ReactNativeFeatureFlags.override(ReactNativeFeatureFlags.kt:402)
       at com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load(DefaultNewArchitectureEntryPoint.kt:97)
       at com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load(DefaultNewArchitectureEntryPoint.kt:43)
       at com.facebook.react.ReactNativeApplicationEntryPoint.loadReactNative(ReactNativeApplicationEntryPoint.java:31)
       at com.ubimeat.app.MainApplication.onCreate(MainApplication.kt:39)
       at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1194)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6735)
       at android.app.ActivityThread.access$1300(ActivityThread.java:239)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1915)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7680)
       at java.lang.reflect.Method.invokeNative(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:423)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

ReferenceQueueDaemon:
       at java.lang.Object.wait(Object.java)
       at java.lang.Object.wait(Object.java:442)
       at java.lang.Object.wait(Object.java:568)
       at java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:217)
       at java.lang.Daemons$Daemon.run(Daemons.java:139)
       at java.lang.Thread.run(Thread.java:923)

Firebase Background Thread #1:
       at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
       at java.lang.Thread.getStackTrace(Thread.java:1736)
       at java.lang.Thread.getAllStackTraces(Thread.java:1812)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateThreadsList(CrashlyticsReportDataCapture.java:343)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateExecutionData(CrashlyticsReportDataCapture.java:314)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateEventApplicationData(CrashlyticsReportDataCapture.java:261)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.captureEventData(CrashlyticsReportDataCapture.java:112)
       at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistEvent(SessionReportingCoordinator.java:337)
       at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistFatalEvent(SessionReportingCoordinator.java:130)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:218)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:204)
       at com.google.firebase.crashlytics.internal.concurrency.CrashlyticsWorker.lambda$submitTask$2(CrashlyticsWorker.java:118)
       at com.google.android.gms.tasks.zze.run(com.google.android.gms:play-services-tasks@@18.1.0:1)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:923)

Okio Watchdog:
       at java.lang.Object.wait(Object.java)
       at com.android.okhttp.okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:325)
       at com.android.okhttp.okio.AsyncTimeout.access$000(AsyncTimeout.java:42)
       at com.android.okhttp.okio.AsyncTimeout$Watchdog.run(AsyncTimeout.java:288)

DefaultDispatcher-worker-2:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:858)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:806)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:754)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)

queued-work-looper:
       at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
       at android.os.MessageQueue.next(MessageQueue.java:335)
       at android.os.Looper.loop(Looper.java:183)
       at android.os.HandlerThread.run(HandlerThread.java:67)

Firebase Blocking Thread #1:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
       at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
       at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
       at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:923)

ScionFrontendApi:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
       at java.util.concurrent.LinkedBlockingQueue.poll(LinkedBlockingQueue.java:467)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:923)

DefaultDispatcher-worker-1:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:858)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:806)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:754)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)

FileObserver:
       at android.os.FileObserver$ObserverThread.observe(FileObserver.java)
       at android.os.FileObserver$ObserverThread.run(FileObserver.java:113)

OkHttp ConnectionPool:
       at java.lang.Object.wait(Object.java)
       at com.android.okhttp.ConnectionPool$1.run(ConnectionPool.java:106)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:923)

Firebase Blocking Thread #0:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
       at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
       at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
       at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:923)

Firebase Blocking Thread #4:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
       at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
       at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
       at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:923)

FinalizerWatchdogDaemon:
       at java.lang.Object.wait(Object.java)
       at java.lang.Object.wait(Object.java:442)
       at java.lang.Object.wait(Object.java:568)
       at java.lang.Daemons$FinalizerWatchdogDaemon.sleepUntilNeeded(Daemons.java:341)
       at java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:321)
       at java.lang.Daemons$Daemon.run(Daemons.java:139)
       at java.lang.Thread.run(Thread.java:923)

pool-4-thread-1:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:923)

GoogleApiHandler:
       at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
       at android.os.MessageQueue.next(MessageQueue.java:335)
       at android.os.Looper.loop(Looper.java:183)
       at android.os.HandlerThread.run(HandlerThread.java:67)

FinalizerDaemon:
       at java.lang.Object.wait(Object.java)
       at java.lang.Object.wait(Object.java:442)
       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:190)
       at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:211)
       at java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:273)
       at java.lang.Daemons$Daemon.run(Daemons.java:139)
       at java.lang.Thread.run(Thread.java:923)

Firebase Background Thread #2:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:923)

Firebase Background Thread #3:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
       at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:450)
       at java.util.concurrent.FutureTask.get(FutureTask.java:192)
       at com.google.firebase.crashlytics.internal.settings.SettingsController$1.then(SettingsController.java:206)
       at com.google.firebase.crashlytics.internal.settings.SettingsController$1.then(SettingsController.java:194)
       at com.google.android.gms.tasks.zzo.run(com.google.android.gms:play-services-tasks@@18.1.0:1)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:923)

Firebase Background Thread #0:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.park(LockSupport.java:190)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2067)
       at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:923)

ProcessStablePhenotypeFlag:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2109)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1132)
       at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:849)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1092)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:923)

Firebase Blocking Thread #2:
       at java.net.SocketInputStream.socketRead0(SocketInputStream.java)
       at java.net.SocketInputStream.socketRead(SocketInputStream.java:119)
       at java.net.SocketInputStream.read(SocketInputStream.java:176)
       at java.net.SocketInputStream.read(SocketInputStream.java:144)
       at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readFromSocket(ConscryptEngineSocket.java:936)
       at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.processDataFromSocket(ConscryptEngineSocket.java:900)
       at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.readUntilDataAvailable(ConscryptEngineSocket.java:815)
       at com.android.org.conscrypt.ConscryptEngineSocket$SSLInputStream.read(ConscryptEngineSocket.java:788)
       at com.android.okhttp.okio.Okio$2.read(Okio.java:138)
       at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:213)
       at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:307)
       at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:301)
       at com.android.okhttp.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:197)
       at com.android.okhttp.internal.http.Http1xStream.readResponse(Http1xStream.java:188)
       at com.android.okhttp.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:129)
       at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:750)
       at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:622)
       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:475)
       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:411)
       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
       at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:106)
       at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:30)
       at com.google.firebase.crashlytics.internal.network.HttpGetRequest.execute(HttpGetRequest.java:81)
       at com.google.firebase.crashlytics.internal.settings.DefaultSettingsSpiCall.invoke(DefaultSettingsSpiCall.java:114)
       at com.google.firebase.crashlytics.internal.settings.SettingsController$1.lambda$then$0(SettingsController.java:204)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:923)

DefaultDispatcher-worker-3:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:353)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.park(CoroutineScheduler.kt:858)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:806)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:754)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)

GmsDynamite:
       at java.lang.Object.wait(Object.java)
       at java.lang.Object.wait(Object.java:442)
       at java.lang.Object.wait(Object.java:568)
       at com.google.android.gms.dynamite.zza.run(com.google.android.gms:play-services-basement@@18.8.0:2)

Measurement Worker:
       at java.lang.String.getChars(String.java:780)
       at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:449)
       at java.lang.StringBuilder.append(StringBuilder.java:137)
       at com.mojito.utility.MojitoLogger.logToFile(MojitoLogger.java:267)
       at com.mojito.utility.MojitoLogger.logMessage(MojitoLogger.java:135)
       at com.mojito.framework.Intent.logSetAction(Intent.java:52)
       at android.content.Intent.setAction(Intent.java:8819)
       at android.content.Intent.init$_aroundBody0(Intent.java:6817)
       at android.content.Intent$AjcClosure1.run(Intent.java:1)
       at org.mojitoaspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:167)
       at com.mojito.framework.Intent.logConstructor(Intent.java:74)
       at android.content.Intent.<init>(Intent.java:6816)
       at m7.hb.a(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):164)
       at m7.ge.z(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):235)
       at m7.ge.d(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):5)
       at m7.vh.r(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):128)
       at m7.vh.E(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):50)
       at m7.tk.D(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):118)
       at m7.rh.run(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):151)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at m7.re.run(:com.google.android.gms.dynamite_measurementdynamite@254232026@25.42.32 (150800-0):48)

Firebase Blocking Thread #5:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
       at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:461)
       at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:362)
       at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:937)
       at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1091)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:923)

Firebase Blocking Thread #3:
       at android.util.Log.println_native(Log.java)
       at android.util.Log.e_aroundBody16(Log.java:253)
       at android.util.Log$AjcClosure17.run(Log.java:1)
       at org.mojitoaspectj.runtime.reflect.JoinPointImpl.proceed(JoinPointImpl.java:167)
       at com.mojito.framework.Log.logE(Log.java:110)
       at android.util.Log.e(Log.java:253)
       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.initHttpEngine(HttpURLConnectionImpl.java)
       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:404)
       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:542)
       at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:106)
       at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:30)
       at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.createFirebaseInstallation(FirebaseInstallationServiceClient.java:176)
       at com.google.firebase.installations.FirebaseInstallations.registerFidWithServer(FirebaseInstallations.java:534)
       at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:388)
       at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$3(FirebaseInstallations.java:373)
       at com.google.firebase.concurrent.SequentialExecutor$1.run(SequentialExecutor.java:117)
       at com.google.firebase.concurrent.SequentialExecutor$QueueWorker.workOnQueue(SequentialExecutor.java:229)
       at com.google.firebase.concurrent.SequentialExecutor$QueueWorker.run(SequentialExecutor.java:174)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:47)
       at java.lang.Thread.run(Thread.java:923)

MANDATORY Reproducer

..

Screenshots and Videos

No response

Activity

  1. react-native-bot commented on Nov 21, 2025

    @react-native-bot
    Collaborator

    Warning

    Missing reproducer: We could not detect a reproducible example in your issue report. Reproducers are mandatory and we can accept only one of those as a valid reproducer:


    You can read more about about it on our website: How to report a bug.

  2. cortinico commented on Nov 21, 2025

    @cortinico
    Contributor

    Missing Repro + this type of error are unrelated to React Native.

    Your application is failing to load libc++_shared which is the C++ standard library, not sure what you're doing but definitely without the C++ standard library, the app won't work

  3. AyushMittal42 commented on Nov 29, 2025

    @AyushMittal42

    I am facing the same issue actually, my RN version is 0.79.6 and it happens only in release build (get the log from crashlytics)
    Also not happening in all the devices, and when I checked my bundle it do have libc++_shared.so file

    	existing SO sources: 
    		SoSource 0: ApplicationSoSource[DirectorySoSource[root = /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/lib/x86_64 flags = 0]]
    		SoSource 1: DirectApkSoSource[root = [/data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.ja.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.x86_64.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.kn.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.sq.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.mdpi.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.no.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.te.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.xxxhdpi.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.de.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.et.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.kok.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.pt.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.ur.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/split_config.fr.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/in.mobility.cumta-fJrx0tNDUhz_DcfTjKjfnA==/base.apk!/lib/arm64-v8a, /data/app/~~CuRP5BcvCa2WWNVugzd34w==/i<truncated: 9282 chars>
           at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:1216)
           at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:1078)
           at com.facebook.soloader.SoLoader.loadDependency(SoLoader.java:920)
           at com.facebook.soloader.DirectApkSoSource.loadDependencies(DirectApkSoSource.java:166)
           at com.facebook.soloader.DirectApkSoSource.loadLibrary(DirectApkSoSource.java:76)
           at com.facebook.soloader.SoLoader.loadLibraryFromSoSource(SoLoader.java:1246)
           at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:1210)
           at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:1078)
           at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:943)
           at com.facebook.soloader.SoLoader.loadLibraryOnAndroid(SoLoader.java:859)
           at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:842)
           at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:812)
           at com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsCxxInterop.<clinit>(ReactNativeFeatureFlagsCxxInterop.kt:28)
           at com.facebook.react.internal.featureflags.ReactNativeFeatureFlagsCxxAccessor.override(ReactNativeFeatureFlagsCxxAccessor.kt:465)
           at com.facebook.react.internal.featureflags.ReactNativeFeatureFlags.override(ReactNativeFeatureFlags.kt:310)
           at com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load(DefaultNewArchitectureEntryPoint.kt:57)
           at com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.load$default(DefaultNewArchitectureEntryPoint.kt:35)
           at com.mobility.movingtech.MainApplication.onCreate(MainApplication.kt:53)
           at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1194)
           at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6735)
           at android.app.ActivityThread.access$1300(ActivityThread.java:239)
           at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1915)
           at android.os.Handler.dispatchMessage(Handler.java:106)
           at android.os.Looper.loop(Looper.java:223)
           at android.app.ActivityThread.main(ActivityThread.java:7680)
           at java.lang.reflect.Method.invokeNative(Method.java)
           at java.lang.reflect.Method.invoke(Method.java:423)
           at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)```
    
  4. thisisadarshjaiswal commented on Dec 23, 2025

    @thisisadarshjaiswal

    Facing same issue on Android11. @cortinico

  5. thisisadarshjaiswal commented on Dec 23, 2025

    @thisisadarshjaiswal

    Earlier I had this in mycode base force "com.facebook.soloader:soloader:0.10.4" which was helping to solve this issue. But with the upgraded version I am not able to use this as this gives me build error

    I am using rn: 77.3

    error: no suitable method found for init(MainApplication,OpenSourceMergedSoMapping)
                SoLoader.init(this, OpenSourceMergedSoMapping.INSTANCE);
                        ^
        method SoLoader.init(Context,int) is not applicable
          (argument mismatch; OpenSourceMergedSoMapping cannot be converted to int)
        method SoLoader.init(Context,boolean) is not applicable
          (argument mismatch; OpenSourceMergedSoMapping cannot be converted to boolean)
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    Note: /Users/lsn-adarsh/Work/titan-rider-app/android/app/src/main/java/com/loadshare/deliveryapp/ScannerActivity/SecondaryQCActivity.java uses unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.
    Note: Some messages have been simplified; recompile with -Xdiags:verbose to get full output
    1 error```
    
  6. thisisadarshjaiswal commented on Dec 23, 2025

    @thisisadarshjaiswal

    I solve the build error by using the same version of SoLoader (12.1(, smae as what rn-77 uses internally. I don't know if that makes any sense and is that safe to do and will this solve the issue?

  7. udaychauhanhd commented on Feb 25, 2026

    @udaychauhanhd

    where do you set the SoLoader version , could you guide us ? @thisisadarshjaiswal

  8. nico-gonzalez commented on Oct 26, 2026

    @nico-gonzalez

    We hit this too (RN 0.84.1, SoLoader 0.12.1) and tracked it down. The library isn't missing from the app. SoLoader looks for it in the wrong ABI folder.

    Root cause (SoLoader, not RN code)

    When native libs are loaded straight from the APK (extractNativeLibs=false, the AGP default), DirectApkSoSource builds its search path as <apk>!/lib/ + SysUtil.getSupportedAbis()[0] (getFallbackApkLdPath). It never asks the package manager which ABI it actually installed (applicationInfo.nativeLibraryDir).

    On x86_64 hosts that also run ARM code (emulators, redroid/cloud-phone containers, and devices that spoof an ARM model), the two can differ. The traces in this thread show it:

    SoSource 0: ApplicationSoSource[... /lib/x86_64]                     <- what the package manager installed
    SoSource 1: DirectApkSoSource[... split_config.*.apk!/lib/arm64-v8a]  <- where SoLoader searches
    

    In our Crashlytics, almost all of these crashes come from Android 11 "devices" reporting popular ARM phone models, but the app is installed with lib/x86_64 and every config split is present. Play never installs every split on a real phone, so these are x86_64 hosts. That is why the crash can't be reproduced on a real Pixel.

    Reproducer

    The same mismatch can be forced the other way round on a stock x86_64 emulator:

    1. Build any release APK (it ships arm64-v8a and x86_64 libs).
    2. Remove the non-ARM libs: zip -d app.apk 'lib/x86/*' 'lib/x86_64/*' 'lib/armeabi-v7a/*', then zipalign -p -f 4 and apksigner sign.
    3. adb install it on a google_apis x86_64 emulator, API 30 or 34. dumpsys package <pkg> | grep primaryCpuAbi shows arm64-v8a.
    4. Launch the app. It crashes with SoLoaderDSONotFoundError: couldn't find DSO to load: libreactnative.so, because SoLoader searches !/lib/x86_64.

    Workaround

    Before RN initializes SoLoader, add an APK source for the installed ABI, and only when it differs from SUPPORTED_ABIS[0]. SoLoader.init ignores repeat calls, so RN's own init later does nothing:

    // In Application.onCreate(), before loadReactNative(this) / SoLoader.init(...)
    private fun prependInstalledAbiSoSourceIfMismatched() {
        val installedAbi = mapOf("arm" to "armeabi-v7a", "arm64" to "arm64-v8a", "x86" to "x86", "x86_64" to "x86_64")[
            File(applicationInfo.nativeLibraryDir).name] ?: return
        if (SysUtil.getSupportedAbis().firstOrNull() == installedAbi) return
        SoLoader.init(this, OpenSourceMergedSoMapping)
        val apks = listOf(applicationInfo.sourceDir) + applicationInfo.splitSourceDirs.orEmpty()
        SoLoader.prependSoSource(DirectApkSoSource(apks.mapTo(LinkedHashSet()) { "$it!/lib/$installedAbi" }))
    }

    With this, the reproducer above launches normally on API 34. Normal installs return early and behave as before.

    The other workaround is packaging { jniLibs { useLegacyPackaging = true } }. Android then extracts the libs and picks the ABI itself. It costs install size and install time for every user, so we didn't take it.

    The real fix belongs in SoLoader: derive the ABI from nativeLibraryDir instead of SUPPORTED_ABIS[0]. @cortinico, would you rather we open this on facebook/SoLoader? I couldn't find an existing issue there.

  9. cortinico commented on Oct 26, 2026

    @cortinico
    Contributor

    13. The real fix belongs in SoLoader: derive the ABI from nativeLibraryDir instead of SUPPORTED_ABIS[0]. @cortinico, would you rather we open this on facebook/SoLoader? I couldn't find an existing issue there.

    yes please create an issue and PR on that repo please and we can look into it

  10. nico-gonzalez commented on Oct 26, 2026

    @nico-gonzalez

    @cortinico Opened facebook/SoLoader#154 with the details and a reproducer, plus a fix in facebook/SoLoader#155 (searches the ABI the app was installed for first).

    Worth noting: #148 on SoLoader main already covers part of this but isn't in a release yet, and RN still pins 0.12.1. Once a SoLoader release includes the fix, bumping RN's pin would get it to everyone.

  11. abhisheksof-jpg commented on Oct 27, 2026

    @abhisheksof-jpg

    @nico-gonzalez have you tested this code changes in the live app, did you see any occurences on crashlytics for this crash after you added this patch or was there any other impact in user experience?

  12. nico-gonzalez commented on Oct 29, 2026

    @nico-gonzalez

    Hi @abhisheksof-jpg, we are progressively rolling out our Android app version, which includes the workaround mentioned here.

    So far, the crash hasn't reappeared, nor detected any side effects, but I'll be able to tell more in the upcoming days

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    API: ShareNeeds: ReproThis issue could be improved with a clear list of steps to reproduce the issue.Resolution: AnsweredWhen the issue is resolved with a simple answer

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions