Thanks to visit codestin.com
Credit goes to github.com

Skip to content

After updating from Flutter 3.24.5 to Flutter 3.29.0, “Could not find ‘libflutter.so’.“ has occurred in ApkLibraryInstaller.installLibrary. #164426

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

Open
yamashita-room-335 opened this issue Mar 1, 2025 · 28 comments
Labels
in triage Presently being triaged by the triage team waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds

Comments

@yamashita-room-335
Copy link

yamashita-room-335 commented Mar 1, 2025

Steps to reproduce

The reproduction procedure is unknown because of the report in Crashlytics.

Expected results

No crashes occur.

Actual results

I have released the application (.aab) on Google Play and have now updated it from Flutter 3.24.5 to Flutter 3.29.0.
Then I started getting crash logs in Crashlytics.

Caused by B5.b: Could not find 'libflutter.so'. Looked for: [arm64-v8a, armeabi-v7a, armeabi], but only found: [].
       at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:175)

4 crash events have occurred and 2 users have been affected, so far all on Pixel 6 Pro (Android 12) devices.

And perhaps these Issues are related.
#151638
#153476

I have not set abiFilters on my app, but I expect that perhaps the following comments will not fix this problem even if I set it.
#153476 (comment)

Probably the same issue, but it seems to be Closed.
#162153

I really wish I could have detected this problem in the Pre-launch report, but now I am also encountering another bug where the Pre-launch report is not generated, so I could not detect it.

https://support.google.com/googleplay/android-developer/thread/325759609?hl=en

Code sample

At the moment it only happens on a specific device (Pixel 6 Pro) and I don't have that device, so I can't provide a reproducible code sample.

Logs

Logs (Crashlytics txt)
Fatal Exception: java.lang.RuntimeException: java.util.concurrent.ExecutionException: B5.b: Could not find 'libflutter.so'. Looked for: [arm64-v8a, armeabi-v7a, armeabi], but only found: [].
       at io.flutter.embedding.engine.loader.FlutterLoader.ensureInitializationComplete(FlutterLoader.java:398)
       at io.flutter.embedding.engine.FlutterEngineGroup.<init>(FlutterEngineGroup.java:63)
       at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.setUpFlutterEngine(FlutterActivityAndFragmentDelegate.java:330)
       at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:195)
       at io.flutter.embedding.android.FlutterFragment.onAttach(FlutterFragment.java:1057)
       at androidx.fragment.app.Fragment.performAttach(Fragment.java:3071)
       at androidx.fragment.app.FragmentStateManager.attach(FragmentStateManager.java:502)
       at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:271)
       at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2103)
       at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1998)
       at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1941)
       at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3206)
       at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3116)
       at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263)
       at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350)
       at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1467)
       at android.app.Activity.performStart(Activity.java:8079)
       at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3732)
       at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
       at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
       at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2253)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:201)
       at android.os.Looper.loop(Looper.java:288)
       at android.app.ActivityThread.main(ActivityThread.java:7870)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1009)

Caused by java.util.concurrent.ExecutionException: B5.b: Could not find 'libflutter.so'. Looked for: [arm64-v8a, armeabi-v7a, armeabi], but only found: [].
       at java.util.concurrent.FutureTask.report(FutureTask.java:123)
       at java.util.concurrent.FutureTask.get(FutureTask.java:193)
       at io.flutter.embedding.engine.loader.FlutterLoader.ensureInitializationComplete(FlutterLoader.java:267)
       at io.flutter.embedding.engine.FlutterEngineGroup.<init>(FlutterEngineGroup.java:63)
       at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.setUpFlutterEngine(FlutterActivityAndFragmentDelegate.java:330)
       at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:195)
       at io.flutter.embedding.android.FlutterFragment.onAttach(FlutterFragment.java:1057)
       at androidx.fragment.app.Fragment.performAttach(Fragment.java:3071)
       at androidx.fragment.app.FragmentStateManager.attach(FragmentStateManager.java:502)
       at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:271)
       at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2103)
       at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1998)
       at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1941)
       at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3206)
       at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3116)
       at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263)
       at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350)
       at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1467)
       at android.app.Activity.performStart(Activity.java:8079)
       at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3732)
       at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
       at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
       at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2253)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:201)
       at android.os.Looper.loop(Looper.java:288)
       at android.app.ActivityThread.main(ActivityThread.java:7870)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1009)

Caused by B5.b: Could not find 'libflutter.so'. Looked for: [arm64-v8a, armeabi-v7a, armeabi], but only found: [].
       at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:175)
       at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:180)
       at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:136)
       at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:70)
       at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:51)
       at io.flutter.embedding.engine.FlutterJNI.loadLibrary(FlutterJNI.java:147)
       at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:187)
       at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:180)
       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 java.lang.Thread.run(Thread.java:920)

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:920)

RxCachedThreadScheduler-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.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
       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:920)

WM.task-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 java.lang.Thread.run(Thread.java:920)

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:920)

Firebase-Messaging-Topics-Io:
       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.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
       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 com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.5.0:2)
       at java.lang.Thread.run(Thread.java:920)

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:920)

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

Firebase Lite 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:920)

RxCachedWorkerPoolEvictor-1:
       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:920)

Okio Watchdog:
       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.android.okhttp.okio.AsyncTimeout.awaitTimeout(AsyncTimeout.java:313)
       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:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

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.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:920)

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:920)

RxSchedulerPurge-1:
       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:920)

glide-active-resources:
       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 com.bumptech.glide.load.engine.ActiveResources.cleanReferenceQueue(ActiveResources.java:128)
       at com.bumptech.glide.load.engine.ActiveResources$2.run(ActiveResources.java:61)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at com.bumptech.glide.load.engine.ActiveResources$1$1.run(ActiveResources.java:43)
       at java.lang.Thread.run(Thread.java:920)

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:920)

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:920)

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:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

Firebase Background Thread #1:
       at dalvik.system.VMStack.getThreadStackTrace(VMStack.java)
       at java.lang.Thread.getStackTrace(Thread.java:1724)
       at java.lang.Thread.getAllStackTraces(Thread.java:1800)
       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:336)
       at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistFatalEvent(SessionReportingCoordinator.java:129)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:209)
       at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:195)
       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:920)

Firebase-Messaging-Init:
       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.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
       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 com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.5.0:2)
       at java.lang.Thread.run(Thread.java:920)

TAG:
       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.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1120)
       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 com.google.android.gms.common.util.concurrent.zza.run(com.google.android.gms:play-services-basement@@18.5.0:2)
       at java.lang.Thread.run(Thread.java:920)

FirebaseSessions_HandlerThread:
       at android.os.MessageQueue.nativePollOnce(MessageQueue.java)
       at android.os.MessageQueue.next(MessageQueue.java:335)
       at android.os.Looper.loopOnce(Looper.java:161)
       at android.os.Looper.loop(Looper.java:288)
       at android.os.HandlerThread.run(HandlerThread.java:67)

DefaultDispatcher-worker-4:
       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:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

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:920)

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:920)

flutter-worker-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 java.lang.Thread.run(Thread.java:920)

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:838)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.kt:783)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:731)
       at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684)

WM.task-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:920)

Flutter Doctor output

Doctor output
flutter doctor -v
[✓] Flutter (Channel stable, 3.29.0, on macOS 15.3.1 24D70 darwin-arm64 (Rosetta), locale ja-JP) [1,144ms]
    • Flutter version 3.29.0 on channel stable at /Users/username/development/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 35c388afb5 (2 weeks ago), 2025-02-10 12:48:41 -0800
    • Engine revision f73bfc4522
    • Dart version 3.7.0
    • DevTools version 2.42.2

[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0) [2.4s]
    • Android SDK at /Users/username/Library/Android/sdk
    • Platform android-35, build-tools 35.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
      This is the JDK bundled with the latest Android Studio installation on this machine.
      To manually set the JDK path, use: `flutter config --jdk-dir="path/to/jdk"`.
    • Java version OpenJDK Runtime Environment (build 21.0.5+-13047016-b750.29)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.2) [1,961ms]
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16C5032a
    • CocoaPods version 1.16.2

[✓] Chrome - develop for the web [28ms]
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2024.2) [28ms]
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 21.0.5+-13047016-b750.29)

[✓] VS Code (version 1.97.2) [25ms]
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.104.0

[✓] Connected device (5 available) [7.1s]
    • SH M25 (wireless) (mobile)          • adb-SX3LHMB420105423-rrDg4j._adb-tls-connect._tcp • android-arm64  • Android 14 (API
      34)
    • username の iPhone (wireless) (mobile) • 00008140-001045CE0EA3001C                         • ios            • iOS 18.3.1 22D72
    • macOS (desktop)                     • macos                                             • darwin-arm64   • macOS 15.3.1
      24D70 darwin-arm64 (Rosetta)
    • Mac Designed for iPad (desktop)     • mac-designed-for-ipad                             • darwin         • macOS 15.3.1
      24D70 darwin-arm64 (Rosetta)
    • Chrome (web)                        • chrome                                            • web-javascript • Google Chrome
      133.0.6943.128

[✓] Network resources [544ms]
    • All expected network resources are available.

• No issues found!
@khoadng
Copy link

khoadng commented Mar 2, 2025

I’ve seen multiple crash reports from the Vivo Pad and Pixel 6 Pro, all showing the same issue in Flutter 3.27.4.

@darshankawar darshankawar added the in triage Presently being triaged by the triage team label Mar 3, 2025
@darshankawar
Copy link
Member

darshankawar commented Mar 3, 2025

@kouroku-room
Please check if this helps in your case or not.
Also see #164365

@darshankawar darshankawar added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Mar 3, 2025
@yamashita-room-335
Copy link
Author

yamashita-room-335 commented Mar 3, 2025

I added abiFilters and once I submitted the app for review as a production version, but the crush were sent to Crashlytics.

Same: 4 crash events have occurred and 2 users have been affected, so far all on Pixel 6 Pro (Android 12) devices.

  • build.gradle.kts
android {
    ~~~~~~
    defaultConfig {
        ndk {
            abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86_64", "x86")
        }
    }
}

However, since the timing of the crash log was when the app had not yet passed the app review process, I noticed that this crash caused by Google Pre-launch report.
Since the numbers are the same, the first crash log may also have been generated by the Google Pre-launch report.

And I don't know if this is related, but I updated Sentry's Gradle plugin and resubmitted the app review, and no crash logs have flown in yet.

  • build.gradle.kts

crashlytics log flowed

plugins {
    id("io.sentry.android.gradle") version "5.2.0"
}

no crash logs have flown in yet

plugins {
    id("io.sentry.android.gradle") version "5.3.0"
}

I don't know if the Pixel 6 Pro device just happened to not be selected for the Google Pre-launch or if it was due to other things.

However, I did find that there was no change in the occurrence of crashes with abiFilters.


PS

I just looked at Crashlytics and there were 4 crash events have occurred in the version after Sentry's Gradle plugin update.
So it seems that the logs just arrived too late.

@github-actions github-actions bot removed the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Mar 3, 2025
@darshankawar
Copy link
Member

at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:175)

This seems to be coming from https://github.com/KeepSafe/ReLinker
Is there anyway you can check if any config / setting from this package could be causing it ?

@darshankawar darshankawar added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Mar 4, 2025
@yamashita-room-335
Copy link
Author

The above comment to Sentry was found to be incorrect and I added PS.


I did a search on "relinker" in my app directory but did not find a single hit.

I searched the entire PC and there were multiple hits in the following Gradle cache.
/Users/username/.gradle/caches/8.10.2

  • /Users/username/.gradle/caches/8.10.2/transforms/948018b4deba2a6082a42ccc48a15633/transformed/jetified-relinker-1.4.5-runtime
com.getkeepsafe.relinker.ApkLibraryInstaller
com.getkeepsafe.relinker.ApkLibraryInstaller$ZipFileInZipEntry
com.getkeepsafe.relinker.BuildConfig
~~~

etc.

And my own app uses this version of gradle.

  • android/gradle/wrapper/gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-all.zip

I couldn't figure out how to find out if “relinker” is used in my app other than searching.

@github-actions github-actions bot removed the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Mar 4, 2025
@darshankawar
Copy link
Member

@kouroku-room
Please try to create a new flutter app on 3.29.0 and then try to compare it against your existing app to see which setting / config could be leading to the issue.

@darshankawar darshankawar added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Mar 5, 2025
@yamashita-room-335
Copy link
Author

yamashita-room-335 commented Mar 5, 2025

Hmmm, that is difficult.
Because the crash occurs when the app is checked at the time of release. (probably a pre-review checks, but as I mentioned at the beginning issue, it's doesn't show up pre-launch report in the Google Play Console)

Therefore, it is difficult to submit an empty app with nothing in the release.

If this means “Create a new app with Flutter 3.29.0 and compare it to your existing app and tell me what is different in the Android Gradle related parts”, I can look into it.

However, if you mean “add one thing at a time and identify where the problem occurs,” then this is not possible due to the reasons above.

@github-actions github-actions bot removed the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Mar 5, 2025
@yamashita-room-335
Copy link
Author

yamashita-room-335 commented Mar 5, 2025

By the way, as an additional confirmation, I added x86 to abiFilters when this comment.
#164426 (comment)

But I found this in the Flutter documentation.
https://docs.flutter.dev/add-to-app/android/project-setup

  • MyApp/app/build.gradle.kts
android {
    //...
    defaultConfig {
        ndk {
            // Filter for architectures supported by Flutter
            abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86_64")
        }
    }
}

Which is the appropriate abiFilters specification for the current Flutter version (3.29.0)?

@darshankawar
Copy link
Member

Which is the appropriate abiFilters specification for the current Flutter version (3.29.0)?

Check if this issue with underlying comments help further.

@darshankawar darshankawar added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Mar 6, 2025
@yamashita-room-335
Copy link
Author

Hmmm, so in your comment you presented here, x86 was included, but from reading the contents of the link you provided at the end, etc., I understood it to mean that x86 should not be included because Flutter does not support it.

For the time being, I will try to set it up like this in my app.

  • MyApp/app/build.gradle.kts
android {
    //...
    defaultConfig {
        ndk {
            abiFilters += listOf("armeabi-v7a", "arm64-v8a", "x86_64")
        }
    }
}

@github-actions github-actions bot removed the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Mar 7, 2025
@darshankawar
Copy link
Member

Does above help to resolve the issue ?

@darshankawar darshankawar added the waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds label Mar 10, 2025
@ductranit
Copy link

ductranit commented Mar 17, 2025

@darshankawar I have the same issue. My app already config with

defaultConfig {
       ndk {
          //noinspection ChromeOsAbiSupport
          abiFilters "arm64-v8a", "x86_64", "armeabi-v7a"
        }
}

And seem it only happens on Pre-launch report from google play, and it is triggered Crashlytics event.
After release, I don't see any other event on crashlytics.

@HDLA-BG
Copy link

HDLA-BG commented Mar 25, 2025

I have the same issue, after updating to 3.29.2, I can't run the App on an emulator anymore.
I get this error when try to run it:

Launching lib\main.dart on sdk gphone64 x86 64 in debug mode...
√ Built build\app\outputs\flutter-apk\app-debug.apk
E/FlutterLoader( 6528): Flutter initialization failed.
E/FlutterLoader( 6528): java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/com.hdla.fit_sec/app_lib/libflutter.so" is for EM_AARCH64 (183) instead of EM_X86_64 (62)
E/FlutterLoader( 6528): at java.util.concurrent.FutureTask.report(FutureTask.java:123)
E/FlutterLoader( 6528): at java.util.concurrent.FutureTask.get(FutureTask.java:193)
E/FlutterLoader( 6528): at io.flutter.embedding.engine.loader.FlutterLoader.ensureInitializationComplete(FlutterLoader.java:267)
E/FlutterLoader( 6528): at io.flutter.embedding.engine.FlutterEngineGroup.(FlutterEngineGroup.java:63)
E/FlutterLoader( 6528): at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.setUpFlutterEngine(FlutterActivityAndFragmentDelegate.java:330)
E/FlutterLoader( 6528): at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:195)
E/FlutterLoader( 6528): at io.flutter.embedding.android.FlutterFragment.onAttach(FlutterFragment.java:1057)
E/FlutterLoader( 6528): at androidx.fragment.app.Fragment.performAttach(Fragment.java:3071)
E/FlutterLoader( 6528): at androidx.fragment.app.FragmentStateManager.attach(FragmentStateManager.java:502)
E/FlutterLoader( 6528): at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:271)
E/FlutterLoader( 6528): at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2103)
E/FlutterLoader( 6528): at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1998)
E/FlutterLoader( 6528): at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1941)
E/FlutterLoader( 6528): at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3206)
E/FlutterLoader( 6528): at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:3116)
E/FlutterLoader( 6528): at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263)
E/FlutterLoader( 6528): at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350)
E/FlutterLoader( 6528): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1455)
E/FlutterLoader( 6528): at android.app.Activity.performStart(Activity.java:8076)
E/FlutterLoader( 6528): at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3660)
E/FlutterLoader( 6528): at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
E/FlutterLoader( 6528): at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
E/FlutterLoader( 6528): at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
E/FlutterLoader( 6528): at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
E/FlutterLoader( 6528): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210)
E/FlutterLoader( 6528): at android.os.Handler.dispatchMessage(Handler.java:106)
E/FlutterLoader( 6528): at android.os.Looper.loopOnce(Looper.java:201)
E/FlutterLoader( 6528): at android.os.Looper.loop(Looper.java:288)
E/FlutterLoader( 6528): at android.app.ActivityThread.main(ActivityThread.java:7839)
E/FlutterLoader( 6528): at java.lang.reflect.Method.invoke(Native Method)
E/FlutterLoader( 6528): at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
E/FlutterLoader( 6528): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
E/FlutterLoader( 6528): Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/com.hdla.fit_sec/app_lib/libflutter.so" is for EM_AARCH64 (183) instead of EM_X86_64 (62)
E/FlutterLoader( 6528): at java.lang.Runtime.load0(Runtime.java:929)
E/FlutterLoader( 6528): at java.lang.System.load(System.java:1620)
E/FlutterLoader( 6528): at com.getkeepsafe.relinker.SystemLibraryLoader.loadPath(SystemLibraryLoader.java:31)
E/FlutterLoader( 6528): at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:206)
E/FlutterLoader( 6528): at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:136)
E/FlutterLoader( 6528): at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:70)
E/FlutterLoader( 6528): at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:51)
E/FlutterLoader( 6528): at io.flutter.embedding.engine.FlutterJNI.loadLibrary(FlutterJNI.java:147)
E/FlutterLoader( 6528): at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:187)
E/FlutterLoader( 6528): at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:180)
E/FlutterLoader( 6528): at java.util.concurrent.FutureTask.run(FutureTask.java:266)
E/FlutterLoader( 6528): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/FlutterLoader( 6528): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/FlutterLoader( 6528): at java.lang.Thread.run(Thread.java:920)
Application finished.

@javiermrz
Copy link

javiermrz commented Mar 31, 2025

Same, this started happening yesterday for Pixel 6 Pro devices. Flutter 3.24.5. Before yesterday, this error had only happened on Pre-launch reports.

I have yet to try adding abiFilters, will report back if the error happens again after adding that.

@perdomon
Copy link

perdomon commented Apr 2, 2025

@javiermrz @yamashita-room-335 Did abiFilters resolve any of the Pixel 6 errors you were seeing? I'm on Flutter stable 3.27.1 and seeing the same issue.

@javiermrz
Copy link

@perdomon I don't have many users so can't really tell you. I just promoted the update to production this morning, I'll let you know if I see the error again with the new version.

However, I've seen that this abifilters approach is a common thing to do, so I think I would do it even if it doesn't solve this specific issue.

@HDLA-BG
Copy link

HDLA-BG commented Apr 3, 2025

Hi everyone,

I just wanted to tell you that my problem was caused by missing libflutter.so inside the debug APKs.
I am not sure what was the reason for this, because with release version everything was OK, but I fixed also the debug version,
by changing all my build scripts from groovy to kts. I don't know what was causing the issue and why it appeared after flutter upgrade but now it is working again.

@javiermrz
Copy link

javiermrz commented Apr 7, 2025

@perdomon after adding abiFilters, the error keeps happening on Pixel 6 Pro (4 errors yesterday). I also saw a couple of errors the day before from a GCE X86 (Google testing emulator). So not really sure what is happenning here.

It's pretty weird for the Pixel 6 Pro to start appearing in these errors for a lot of people. Let's see if someone knows what is going on.

BTW my flutter version is 3.24.5, so the cause for this is not necessarily a version upgrade, but probably something else.

@tiltmaster
Copy link

any actual solution to this? im getting this same error..

@javiermrz
Copy link

@tiltmaster what device and how much free storage does crashlytics say the device has?

@tiltmaster
Copy link

@javiermrz i tried on android emulator with latest Baklava and im getting a similar error to be of
Caused by: java.lang.UnsatisfiedLinkError: dlopen failed: "/data/data/com.myapp.com/app_lib/libflutter.so" is for EM_AARCH64 (183) instead of EM_X86_64 (62)
and no AI, search, or anything was able to fix this. even when i set the abiFilters correctly..

i even made the space to be 20 GB.

@veloso14

This comment has been minimized.

@darshankawar
Copy link
Member

Everyone in this thread facing the issue, we would need a concrete steps to replicate in order to properly analyze and address the issue, so please try to provide one so that we can make this issue actionable.

@OTanTalum
Copy link

Have a few similar error

Image

I tried to add/remove splits abiFilters like:

 defaultConfig {
        minSdkVersion 29
        targetSdkVersion 34
        versionCode flutterVersionCode.toInteger()
        versionName flutterVersionName
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        ndk.abiFilters 'armeabi-v7a','arm64-v8a','x86','x86_64'
        multiDexEnabled true
    }

or

    splits {
        abi {
            enable true //enables the ABIs split mechanism
            reset()
            include 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'
            universalApk  true
        }
    }

but its still not working.

So i start to research other Crashlytics crashes/errors and found this one

"/data/data/app.appName.android/app_lib/libflutter.so" is 64-bit instead of 32-bit

i don't know what its means, but i hope this will help to find and fix this issue

  Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{.android/app.appName.MainActivity}:
java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed:
"/data/data/app.appName.android/app_lib/libflutter.so" is 64-bit instead of 32-bit
       at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3433)
       at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3607)
       at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:85)
       at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
       at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2068)
       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)

@veloso14
Copy link

I reverted back to flutter 3.22.3 and the issue still persists in firebase.
I reverted now also the dependencies and I am waiting on update rollout.

Image

@SergoFrost
Copy link

SergoFrost commented Apr 25, 2025

I have a similar problem on devices :

Fatal Exception: java.lang.RuntimeException
java.util.concurrent.ExecutionException: r5.b: Could not find 'libflutter.so'. Looked for: [x86_64, arm64-v8a, x86, armeabi-v7a, armeabi], but only found: [].

Model: OnePlus 5 OS version: android 7.1.1 ,
Model: OnePlus 8 Pro OS version: android 11,
Model: GCE X86 Phone OS version: android 9,
Model: Air1 Pro Plus OS version: android 13.0.0,
Model: Galaxy S9+ & S10e OS version: android 7.1.2,

Fatal Exception: java.lang.RuntimeException: java.util.concurrent.ExecutionException: r5.b: Could not find 'libflutter.so'. Looked for: [x86_64, arm64-v8a, x86, armeabi-v7a, armeabi], but only found: [].
at io.flutter.embedding.engine.loader.FlutterLoader.ensureInitializationComplete(FlutterLoader.java:512)
at io.flutter.embedding.engine.FlutterEngineGroup.(FlutterEngineGroup.java:32)
at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.setUpFlutterEngine(FlutterActivityAndFragmentDelegate.java:235)
at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:235)
at io.flutter.embedding.android.FlutterFragment.onAttach(FlutterFragment.java:235)
at androidx.fragment.app.Fragment.performAttach(Fragment.java:197)
at androidx.fragment.app.FragmentStateManager.attach(FragmentStateManager.java:197)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:125)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1171)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:74)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:63)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:32)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:32)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:32)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1674)
at android.app.Activity.performStart(Activity.java:8018)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3469)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2068)
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)

Caused by java.util.concurrent.ExecutionException: r5.b: Could not find 'libflutter.so'. Looked for: [x86_64, arm64-v8a, x86, armeabi-v7a, armeabi], but only found: [].
at java.util.concurrent.FutureTask.report(FutureTask.java:123)
at java.util.concurrent.FutureTask.get(FutureTask.java:193)
at io.flutter.embedding.engine.loader.FlutterLoader.ensureInitializationComplete(FlutterLoader.java:53)
at io.flutter.embedding.engine.FlutterEngineGroup.(FlutterEngineGroup.java:32)
at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.setUpFlutterEngine(FlutterActivityAndFragmentDelegate.java:235)
at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onAttach(FlutterActivityAndFragmentDelegate.java:235)
at io.flutter.embedding.android.FlutterFragment.onAttach(FlutterFragment.java:235)
at androidx.fragment.app.Fragment.performAttach(Fragment.java:197)
at androidx.fragment.app.FragmentStateManager.attach(FragmentStateManager.java:197)
at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:125)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1171)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:74)
at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:63)
at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:32)
at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:32)
at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:32)
at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1674)
at android.app.Activity.performStart(Activity.java:8018)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3469)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:221)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:201)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:173)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2068)
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)

Caused by r5.b: Could not find 'libflutter.so'. Looked for: [x86_64, arm64-v8a, x86, armeabi-v7a, armeabi], but only found: [].
at com.getkeepsafe.relinker.ApkLibraryInstaller.installLibrary(ApkLibraryInstaller.java:385)
at com.getkeepsafe.relinker.ReLinkerInstance.loadLibraryInternal(ReLinkerInstance.java:385)
at com.getkeepsafe.relinker.ReLinkerInstance.loadLibrary(ReLinkerInstance.java:28)
at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:17)
at com.getkeepsafe.relinker.ReLinker.loadLibrary(ReLinker.java:17)
at io.flutter.embedding.engine.FlutterJNI.loadLibrary(FlutterJNI.java:17)
at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:21)
at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:21)
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 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:332)
at java.lang.Thread.run(Thread.java:923)

flutter-worker-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 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.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:18)
at com.google.firebase.crashlytics.internal.settings.SettingsController$1.then(SettingsController.java:18)
at com.google.android.gms.tasks.zzo.run(zzo.java:79)
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:332)
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)

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 Blocking Thread #0:
at java.util.LinkedHashMap.afterNodeInsertion(LinkedHashMap.java:323)
at java.util.HashMap.putVal(HashMap.java:663)
at java.util.HashMap.put(HashMap.java:611)
at org.json.JSONObject.put(JSONObject.java:273)
at com.mojito.utility.MojitoMessage.stackTraceToJSON(MojitoMessage.java:396)
at com.mojito.utility.MojitoMessage.stackArrayToJSON(MojitoMessage.java:415)
at com.mojito.utility.MojitoMessage.toJSONString(MojitoMessage.java:448)
at com.mojito.utility.MojitoLogger.logMessage(MojitoLogger.java:135)
at java.net.InetSocketAddress.init$_aroundBody1$advice(InetSocketAddress.java:30)
at java.net.InetSocketAddress.(InetSocketAddress.java:197)
at libcore.io.Linux.getsockname(Linux.java)
at libcore.io.ForwardingOs.getsockname(ForwardingOs.java:124)
at libcore.io.ForwardingOs.getsockname(ForwardingOs.java:124)
at libcore.io.IoBridge.getLocalInetSocketAddress(IoBridge.java:692)
at java.net.PlainSocketImpl.socketConnect(PlainSocketImpl.java:152)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:390)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:230)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:212)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:436)
at java.net.Socket.connect(Socket.java:621)
at com.android.okhttp.internal.Platform.connectSocket(Platform.java:182)
at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:145)
at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:116)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:186)
at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.connect(DelegatingHttpsURLConnection.java:90)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:30)
at com.google.firebase.crashlytics.internal.network.HttpGetRequest.execute(HttpGetRequest.java:106)
at com.google.firebase.crashlytics.internal.settings.DefaultSettingsSpiCall.invoke(DefaultSettingsSpiCall.java:98)
at com.google.firebase.crashlytics.internal.settings.SettingsController$1.lambda$then$0(SettingsController.java:98)
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:332)
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)

Firebase Background Thread #3:
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:213)
at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateExecutionData(CrashlyticsReportDataCapture.java:213)
at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.populateEventApplicationData(CrashlyticsReportDataCapture.java:213)
at com.google.firebase.crashlytics.internal.common.CrashlyticsReportDataCapture.captureEventData(CrashlyticsReportDataCapture.java:213)
at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistEvent(SessionReportingCoordinator.java:213)
at com.google.firebase.crashlytics.internal.common.SessionReportingCoordinator.persistFatalEvent(SessionReportingCoordinator.java:51)
at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:51)
at com.google.firebase.crashlytics.internal.common.CrashlyticsController$2.call(CrashlyticsController.java:51)
at com.google.firebase.crashlytics.internal.concurrency.CrashlyticsWorker.lambda$submitTask$2(CrashlyticsWorker.java:5)
at com.google.android.gms.tasks.zze.run(zze.java:22)
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:332)
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:332)
at java.lang.Thread.run(Thread.java:923)

WM.task-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)

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

Measurement Worker:
at j$.util.DesugarCollections.synchronizedList(SourceFile:5)
at m.pk.(:com.google.android.gms.dynamite_measurementdynamite@[email protected] (150800-0):6)
at m.qe.az(:com.google.android.gms.dynamite_measurementdynamite@[email protected] (150800-0):39)
at m.qp.r(:com.google.android.gms.dynamite_measurementdynamite@[email protected] (150800-0):5)
at m.qm.run(:com.google.android.gms.dynamite_measurementdynamite@[email protected] (150800-0):62)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at m.qj.run(:com.google.android.gms.dynamite_measurementdynamite@[email protected] (150800-0):48)

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.java:295)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.java:295)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.java:295)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.java:295)

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

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)

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.java:295)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.java:295)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.java:295)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.java:295)

Firebase Blocking Thread #1:
at libcore.io.Linux.android_getaddrinfo(Linux.java)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73)
at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:202)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:73)
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135)
at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
at java.net.InetAddress.getAllByName(InetAddress.java:1152)
at com.android.okhttp.Dns$1.lookup(Dns.java:41)
at com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:178)
at com.android.okhttp.internal.http.RouteSelector.nextProxy(RouteSelector.java:144)
at com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:86)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:176)
at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:128)
at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:97)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:289)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:232)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:465)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:131)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:262)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getOutputStream(DelegatingHttpsURLConnection.java:219)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:30)
at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.writeRequestBodyToOutputStream(FirebaseInstallationServiceClient.java:1)
at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.writeFIDCreateRequestBodyToOutputStream(FirebaseInstallationServiceClient.java:40)
at com.google.firebase.installations.remote.FirebaseInstallationServiceClient.createFirebaseInstallation(FirebaseInstallationServiceClient.java:191)
at com.google.firebase.installations.FirebaseInstallations.registerFidWithServer(FirebaseInstallations.java:191)
at com.google.firebase.installations.FirebaseInstallations.doNetworkCallIfNecessary(FirebaseInstallations.java:79)
at com.google.firebase.installations.FirebaseInstallations.lambda$doRegistrationOrRefresh$3(FirebaseInstallations.java:79)
at com.google.firebase.concurrent.SequentialExecutor$1.run(SequentialExecutor.java:1)
at com.google.firebase.concurrent.SequentialExecutor$QueueWorker.workOnQueue(SequentialExecutor.java:77)
at com.google.firebase.concurrent.SequentialExecutor$QueueWorker.run(SequentialExecutor.java: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:332)
at java.lang.Thread.run(Thread.java:923)

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(zza.java:1)

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)

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)

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.java:295)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.tryPark(CoroutineScheduler.java:295)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.java:295)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.java:295)

@skowalczewski
Copy link

The above comment to Sentry was found to be incorrect and I added PS.

I did a search on "relinker" in my app directory but did not find a single hit.

I searched the entire PC and there were multiple hits in the following Gradle cache. /Users/username/.gradle/caches/8.10.2

  • /Users/username/.gradle/caches/8.10.2/transforms/948018b4deba2a6082a42ccc48a15633/transformed/jetified-relinker-1.4.5-runtime
com.getkeepsafe.relinker.ApkLibraryInstaller
com.getkeepsafe.relinker.ApkLibraryInstaller$ZipFileInZipEntry
com.getkeepsafe.relinker.BuildConfig
~~~

etc.

And my own app uses this version of gradle.

  • android/gradle/wrapper/gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https://services.gradle.org/distributions/gradle-8.10.2-all.zip
I couldn't figure out how to find out if “relinker” is used in my app other than searching.

I am getting the same error on Pixel 6 Pro devices, and can also only find mention of "relinker" in gradle cache.

Running ./gradlew app:dependencies in my android folder (output is 148 pages long so don't want to copy it all) gives me many mentions of \--- com.getkeepsafe.relinker:relinker:1.4.5.

I also found this in several places:
debugImplementationDependenciesMetadata +--- io.flutter:armeabi_v7a_debug:1.0.0-cf56914b326edb0ccb123ffdc60f00060bd513fa +--- io.flutter:arm64_v8a_debug:1.0.0-cf56914b326edb0ccb123ffdc60f00060bd513fa +--- io.flutter:x86_64_debug:1.0.0-cf56914b326edb0ccb123ffdc60f00060bd513fa +--- project :firebase_analytics FAILED +--- project :firebase_core FAILED +--- project :firebase_crashlytics FAILED \--- project :shared_preferences_android FAILED

But I don't know if that's related.

@ductridev
Copy link

ductridev commented May 6, 2025

In my case, having config ndk.abiFilters in android/app/build.gradle causes this problem, remove it and the problem will be fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in triage Presently being triaged by the triage team waiting for customer response The Flutter team cannot make further progress on this issue until the original reporter responds
Projects
None yet
Development

No branches or pull requests