mapbox / mapbox/mapbox-search-android
Crash in production: java.lang.UnsatisfiedLinkError: dlopen failed: library "libmapbox-common.so" not found
Nobody has claimed this yet.
- Dominant language
- Kotlin
- Stars
- 39
- Forks
- 10
- PR merge metrics
- No merged PRs in 30d
Description
## Environment
- Search SDK Component (check at least one)
- [x] 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](https://www.gsmarena.com/vivo_s1-9766.php), 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:
```kotlin
suspend fun resolveAddress(latitude: Double, longitude: Double): List {
val options = ReverseGeoOptions(
center = Point.fromLngLat(longitude, latitude)
)
return geocodingSearchEngine.search(options)
}
internal suspend fun SearchEngine.search(
options: ReverseGeoOptions
): List =
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, 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.(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.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the stack trace entries for com.mapbox.common.loader.MapboxLibraryLoader and com.mapbox.common.CoreInitializer, then inspect how the Search SDK packages native libraries into Android APKs. Reproduce the Android 11 startup failure if possible and verify the affected architecture and installed APK contents. Done means the SDK no longer crashes at startup when libmapbox-common.so is required.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, kotlin
- Domain
- build-system, mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100