Skip to content

java.lang.UnsatisfiedLinkError at Runtime.loadLibrary0 crashes #144291

@jacobsimionato

Description

@jacobsimionato

A Google app has seen a cluster of new crashes with UnsatisfiedLinkError in FlutterJNI.java.

The message is:

java.lang.UnsatisfiedLinkError: dlopen failed: library "libflutter.so" not found

See Google internal bug b/327180104 for details.

The crashes only started a few days ago and they are affecting many Android API levels and devices, so it seems like it has been triggered by a change to the Flutter Android codebase. We don't have a reproduction, but just filing this to ask if there are any changes recently that might be expected to cause this issue.

Full stack trace
java.lang.RuntimeException: Unable to start activity ComponentInfo{<REDACTED>}: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.UnsatisfiedLinkError: dlopen failed: library "libflutter.so" not found

java.lang.RuntimeException
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3833)
	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3970)
	at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101)
	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:145)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:105)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2393)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:204)
	at android.os.Looper.loop(Looper.java:291)
	at android.app.ActivityThread.main(ActivityThread.java:8134)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:588)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1019)
Caused by: java.lang.RuntimeException
	at io.flutter.embedding.engine.loader.FlutterLoader.ensureInitializationComplete(FlutterLoader.java:358)
	at io.flutter.embedding.engine.FlutterEngine.<init>(FlutterEngine.java:354)
	at io.flutter.embedding.engine.FlutterEngine.<init>(FlutterEngine.java:287)
	at io.flutter.embedding.engine.FlutterEngine.<init>(FlutterEngine.java:268)
	at io.flutter.embedding.engine.FlutterEngine.<init>(FlutterEngine.java:248)
	at io.flutter.embedding.engine.FlutterEngine.<init>(FlutterEngine.java:181)
	at com.google.mobile.flutter.contrib.background.FlutterEngineConfiguration.warmUpEngineAndSetRoute(FlutterEngineConfiguration.java:175)
	at com.google.mobile.flutter.contrib.background.FlutterEngineConfiguration.startDartIsolateAndSetRoute(FlutterEngineConfiguration.java:253)
	at <REDACTED>.FlutterEngineManager.startDartIsolate(FlutterEngineManager.java:60)
	at <REDACTED>.StandaloneFlutterActivityInitializer.initialize(StandaloneFlutterActivityInitializer.java:32)
	at <REDACTED>.StandaloneFlutterActivity.onCreate(StandaloneFlutterActivity.java:44)
	at android.app.Activity.performCreate(Activity.java:8338)
	at android.app.Activity.performCreate(Activity.java:8317)
	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1388)
	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3756)
	... 12 more
Caused by: java.util.concurrent.ExecutionException
	at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:596)
	at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:555)
	at io.flutter.embedding.engine.loader.FlutterLoader.ensureInitializationComplete(FlutterLoader.java:243)
	... 24 more
Caused by: java.lang.UnsatisfiedLinkError
	at java.lang.Runtime.loadLibrary0(Runtime.java:1082)
	at java.lang.Runtime.loadLibrary0(Runtime.java:1003)
	at java.lang.System.loadLibrary(System.java:1661)
	at io.flutter.embedding.engine.FlutterJNI.loadLibrary(FlutterJNI.java:145)
	at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:191)
	at io.flutter.embedding.engine.loader.FlutterLoader$1.call(FlutterLoader.java:185)
	at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:133)
	at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:77)
	at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:84)
	at com.google.common.labs.concurrent.FixedThreadPool$Worker.run(FixedThreadPool.java:564)
	at com.google.android.libraries.concurrent.AndroidExecutorsModule.lambda$withStrictMode$5(AndroidExecutorsModule.java:453)
	at com.google.android.libraries.concurrent.AndroidExecutorsModule$$ExternalSyntheticLambda10.run(AndroidExecutorsModule.java)
	at java.lang.Thread.run(Thread.java:1012)
	at com.google.android.libraries.concurrent.ManagedPriorityThread.run(ManagedPriorityThread.kt:34)

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work lista: productionIssues experienced in live production appsc: crashStack traces logged to the consolecustomer: googleVarious Google teamscustomer: huggsy (g3)platform-androidAndroid applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-androidOwned by Android platform team

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions