Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
1 of 4 tasks
amv-bamboo opened this issue Jul 18, 2023 · 5 comments
Labels
bug Something isn't working

Comments

@amv-bamboo
Copy link

Environment

  • Search SDK Component (check at least one)
    • Core Search SDK (SearchEngine class, and etc.)
    • Offline Search SDK (OfflineSearchEngine class, and etc.)
    • Address Autofill SDK
    • Search UI SDK
  • Android OS version: 11
  • Devices affected: Vivo S1, rooted
  • Search SDK Version: 1.0.0-rc.4
  • Included in project Maps SDK, Nav SDK versions if available:

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 amv-bamboo added the bug Something isn't working label Jul 18, 2023
@amv-bamboo
Copy link
Author

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
Copy link
Author

amv-bamboo commented Nov 17, 2023

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
Copy link

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
Copy link

Vaseltior commented Mar 13, 2024

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

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

@ghost
Copy link

ghost commented Apr 18, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants