mapbox / mapbox-search-android

Android SDK for Mapbox Search including preconfigured UI
https://docs.mapbox.com/android/search/guides/
Other
29 stars 7 forks source link

Crash in production: java.lang.UnsatisfiedLinkError: dlopen failed: library "libmapbox-common.so" not found #163

Open amv-bamboo opened 11 months ago

amv-bamboo commented 11 months ago

Environment

Code examples

Code where we use Search SDK:

suspend fun resolveAddress(latitude: Double, longitude: Double): List<SearchResult> {
        val options = ReverseGeoOptions(
            center = Point.fromLngLat(longitude, latitude)
        )

        return geocodingSearchEngine.search(options)
    }

internal suspend fun SearchEngine.search(
    options: ReverseGeoOptions
): List<SearchResult> =
    suspendCancellableCoroutine { continuation ->
        val task = search(
            options,
            object : SearchCallback {
                override fun onError(e: Exception) {
                    if (continuation.isCancelled) {
                        return
                    }
                    continuation.resumeWithException(e)
                }

                override fun onResults(results: List<SearchResult>, responseInfo: ResponseInfo) {
                    continuation.resume(results)
                }
            }
        )

        continuation.invokeOnCancellation {
            task.cancel()
        }
    }

Observed behavior and steps

App crashes on start for 1 user in Crashlytics. It may be the delivery error by the Play Store (it didn't include necessary SO file into the APK during an install) or SDK error (necessary SO is not available for the given architecture, which is unlikely)

Stacktrace:

# Crashlytics - Stack trace
# Application: com.gasanmamo.claims
# Platform: android
# Version: 1.0.6 (13)
# Issue: 513ffd6894244f60388c2500fa974886
# Session: 64B4AB1A031D00010E38BB1596302A83_DNE_0_v2
# Date: Mon Jul 17 2023 05:44:42 GMT+0300 (Eastern European Summer Time)

Fatal Exception: java.lang.RuntimeException: Unable to get provider androidx.startup.InitializationProvider: m5.c: m5.c: m5.c: java.lang.UnsatisfiedLinkError: dlopen failed: library "libmapbox-common.so" not found
       at android.app.ActivityThread.installProvider(ActivityThread.java:7289)
       at android.app.ActivityThread.installContentProviders(ActivityThread.java:6825)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6739)
       at android.app.ActivityThread.access$1300(ActivityThread.java:241)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1917)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7702)
       at java.lang.reflect.Method.invokeImpl(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:425)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:617)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:948)

Caused by m5.c: m5.c: m5.c: java.lang.UnsatisfiedLinkError: dlopen failed: library "libmapbox-common.so" not found
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:98)
       at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:81)
       at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:50)
       at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:50)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:2388)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:2358)
       at android.app.ActivityThread.installProvider(ActivityThread.java:7284)
       at android.app.ActivityThread.installContentProviders(ActivityThread.java:6825)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6739)
       at android.app.ActivityThread.access$1300(ActivityThread.java:241)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1917)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7702)
       at java.lang.reflect.Method.invokeImpl(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:425)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:617)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:948)

Caused by m5.c: m5.c: java.lang.UnsatisfiedLinkError: dlopen failed: library "libmapbox-common.so" not found
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:98)
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:77)
       at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:81)
       at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:50)
       at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:50)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:2388)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:2358)
       at android.app.ActivityThread.installProvider(ActivityThread.java:7284)
       at android.app.ActivityThread.installContentProviders(ActivityThread.java:6825)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6739)
       at android.app.ActivityThread.access$1300(ActivityThread.java:241)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1917)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7702)
       at java.lang.reflect.Method.invokeImpl(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:425)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:617)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:948)

Caused by m5.c: java.lang.UnsatisfiedLinkError: dlopen failed: library "libmapbox-common.so" not found
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:98)
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:77)
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:77)
       at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:81)
       at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:50)
       at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:50)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:2388)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:2358)
       at android.app.ActivityThread.installProvider(ActivityThread.java:7284)
       at android.app.ActivityThread.installContentProviders(ActivityThread.java:6825)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6739)
       at android.app.ActivityThread.access$1300(ActivityThread.java:241)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1917)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7702)
       at java.lang.reflect.Method.invokeImpl(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:425)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:617)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:948)

Caused by java.lang.UnsatisfiedLinkError: dlopen failed: library "libmapbox-common.so" not found
       at java.lang.Runtime.loadLibrary0(Runtime.java:1107)
       at java.lang.Runtime.loadLibrary0(Runtime.java:1028)
       at java.lang.System.loadLibrary(System.java:1664)
       at com.mapbox.common.loader.MapboxLibraryLoader.load(:5)
       at com.mapbox.common.CoreInitializer.create(CoreInitializer.java:1)
       at com.mapbox.common.CoreInitializer.create(CoreInitializer.java:2)
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:85)
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:77)
       at androidx.startup.AppInitializer.doInitialize(AppInitializer.java:77)
       at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:81)
       at androidx.startup.AppInitializer.discoverAndInitialize(AppInitializer.java:50)
       at androidx.startup.InitializationProvider.onCreate(InitializationProvider.java:50)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:2388)
       at android.content.ContentProvider.attachInfo(ContentProvider.java:2358)
       at android.app.ActivityThread.installProvider(ActivityThread.java:7284)
       at android.app.ActivityThread.installContentProviders(ActivityThread.java:6825)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6739)
       at android.app.ActivityThread.access$1300(ActivityThread.java:241)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1917)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loop(Looper.java:223)
       at android.app.ActivityThread.main(ActivityThread.java:7702)
       at java.lang.reflect.Method.invokeImpl(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:425)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:617)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:948)

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:978)
       at java.lang.Thread.run(Thread.java:923)

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 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:978)
       at java.lang.Thread.run(Thread.java:923)

Measurement Worker:
       at sun.misc.Unsafe.park(Unsafe.java)
       at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:230)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1063)
       at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1358)
       at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:278)
       at com.google.android.gms.tasks.zzad.zzb(zzad.java:40)
       at com.google.android.gms.tasks.Tasks.await(Tasks.java:40)
       at com.google.firebase.analytics.FirebaseAnalytics.getFirebaseInstanceId(FirebaseAnalytics.java:10)
       at java.lang.reflect.Method.invokeImpl(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:425)
       at com.google.android.gms.measurement.internal.zzel.zzj(zzel.java:546)
       at com.google.android.gms.measurement.internal.zzjy.zzO(zzjy.java:546)
       at com.google.android.gms.measurement.internal.zzjy.zzu(zzjy.java:7)
       at com.google.android.gms.measurement.internal.zzge.zzH(zzge.java:2068)
       at com.google.android.gms.measurement.internal.zzgd.run(zzgd.java:2068)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at com.google.android.gms.measurement.internal.zzga.run(zzga.java:47)

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 #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 com.google.firebase.concurrent.CustomThreadFactory.lambda$newThread$0(CustomThreadFactory.java:978)
       at java.lang.Thread.run(Thread.java:923)

Crashlytics Exception Handler1:
       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:225)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateExecutionData(CrashlyticsReportDataCapture.java:225)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateEventApplicationData(CrashlyticsReportDataCapture.java:225)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.captureEventData(CrashlyticsReportDataCapture.java:225)
       at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistEvent(SessionReportingCoordinator.java:225)
       at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistFatalEvent(SessionReportingCoordinator.java:225)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:225)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:225)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsBackgroundWorker$3.then(CrashlyticsBackgroundWorker.java:4)
       at com.google.android.gms.tasks.zze.run(zze.java:274)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:2)
       at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:5)
       at java.lang.Thread.run(Thread.java:923)

Firebase Blocking Thread #3:
       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:978)
       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:978)
       at java.lang.Thread.run(Thread.java:923)

com.google.firebase.crashlytics.startup1:
       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.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:2)
       at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:5)
       at java.lang.Thread.run(Thread.java:923)

Firebase Blocking Thread #2:
       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:978)
       at java.lang.Thread.run(Thread.java:923)

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 Background Thread #3:
       at libcore.io.Linux.openImpl(Linux.java)
       at libcore.io.Linux.open(Linux.java:159)
       at libcore.io.ForwardingOs.open(ForwardingOs.java:166)
       at libcore.io.BlockGuardOs.open(BlockGuardOs.java:254)
       at libcore.io.ForwardingOs.open(ForwardingOs.java:166)
       at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:7588)
       at libcore.io.IoBridge.open(IoBridge.java:478)
       at java.io.FileInputStream.<init>(FileInputStream.java:160)
       at com.google.firebase.installations.local.PersistedInstallation.readJSONFromFile(PersistedInstallation.java:15)
       at com.google.firebase.installations.local.PersistedInstallation.readPersistedInstallationEntryValue(PersistedInstallation.java:15)
       at com.google.firebase.installations.FirebaseInstallations.getPrefsWithGeneratedIdMultiProcessSafe(FirebaseInstallations.java:16)
       at com.google.firebase.installations.FirebaseInstallations.doRegistrationOrRefresh(FirebaseInstallations.java:16)
       at com.google.firebase.installations.FirebaseInstallations.lambda$getId$1(FirebaseInstallations.java:13)
       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:978)
       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)

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:978)
       at java.lang.Thread.run(Thread.java:923)

awaitEvenIfOnMainThread task continuation executor1:
       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.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:2)
       at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:5)
       at java.lang.Thread.run(Thread.java:923)

pool-7-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)

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)

Expected behavior

App starts just fine, initialization happens without issues.

amv-bamboo commented 11 months ago

This crash appeared once more with 1.0.0-rc07 and some Google Mainline device on Android 10. Here's stacktrace

Although this Google Mainline device is weird and is likely something they use during pre-release tests, but still

amv-bamboo commented 7 months ago

There were more crashes like this on 1.0.0-rc07, all of them on rooted devices. Not sure how it can affect that, but it's strange

djexperion commented 6 months ago

same crash here

Fatal Exception: java.lang.RuntimeException
Unable to get provider androidx.startup.InitializationProvider: androidx.startup.StartupException: androidx.startup.StartupException: androidx.startup.StartupException: java.lang.UnsatisfiedLinkError: dlopen failed: library "libmapbox-common.so" not found

Caused by androidx.startup.StartupException
androidx.startup.StartupException: androidx.startup.StartupException: java.lang.UnsatisfiedLinkError: dlopen failed: library "libmapbox-common.so" not found

Caused by androidx.startup.StartupException
androidx.startup.StartupException: java.lang.UnsatisfiedLinkError: dlopen failed: library "libmapbox-common.so" not found

Caused by androidx.startup.StartupException
java.lang.UnsatisfiedLinkError: dlopen failed: library "libmapbox-common.so" not found

Caused by java.lang.UnsatisfiedLinkError
dlopen failed: library "libmapbox-common.so" not found

com.mapbox.common.loader.MapboxLibraryLoader.load (MapboxLibraryLoader.kt:19)
com.mapbox.common.CoreInitializer.create (CoreInitializer.kt:69)
com.mapbox.common.CoreInitializer.create (CoreInitializer.kt:11)

Device

Brand:Motorola Model:Moto G Power (2022) Orientation:Portrait RAM free: 1.96 GB Disk free: 95.05 GB Operating System Version:Android 12 Orientation:Portrait Rooted:No Crash

Vaseltior commented 3 months ago

Same here on Samsung A52, without being rooted, Android 14,

/base.apk!/lib/arm64-v8a/libSearchCore.so"...

eugenes78 commented 2 months ago

I checked the APKs that we build, and found no issues with them. It's trivial to verify that an APK contains certain libraries (just rename it to a zip file and unpack). I don't think that troubleshooting such an issue is possible without clear steps to reproduce. If someone has a complete project that demonstrates the issue, I'll be more than happy to take a look.