Fresco: Could not initialize SoLoader 1.13.0

Created on 15 May 2019  路  4Comments  路  Source: facebook/fresco

Description

We have 5k+ crashes in Google Play Console and Crashlytics with the following error:
```
java.lang.RuntimeException:
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:5892)
at android.app.ActivityThread.access$1100 (ActivityThread.java:200)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1653)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loop (Looper.java:193)
at android.app.ActivityThread.main (ActivityThread.java:6694)
at java.lang.reflect.Method.invoke (Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858)
Caused by: java.lang.RuntimeException:
at com.facebook.drawee.backends.pipeline.Fresco.initialize (Fresco.java:76)
at com.facebook.drawee.backends.pipeline.Fresco.initialize (Fresco.java:45)
at com.myapp.Application.onCreate (Application.java:166)
at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1155)
at android.app.ActivityThread.handleBindApplication (ActivityThread.java:5887)
Caused by: java.io.IOException:
at sun.nio.ch.FileDispatcherImpl.lock0 (Native Method)
at sun.nio.ch.FileDispatcherImpl.lock (FileDispatcherImpl.java:115)
at sun.nio.ch.FileChannelImpl.lock (FileChannelImpl.java:1097)
at java.nio.channels.FileChannel.lock (FileChannel.java:1053)
at com.facebook.soloader.FileLocker. (FileLocker.java:38)
at com.facebook.soloader.FileLocker.lock (FileLocker.java:31)
at com.facebook.soloader.UnpackingSoSource.prepare (UnpackingSoSource.java:417)
at com.facebook.soloader.SoLoader.initSoSources (SoLoader.java:304)
at com.facebook.soloader.SoLoader.init (SoLoader.java:181)
at com.facebook.soloader.SoLoader.init (SoLoader.java:164)
at com.facebook.drawee.backends.pipeline.Fresco.initialize (Fresco.java:68)

### Reproduction

I can't reproduce this crash on all my devices and emulators. 
We use fresco:1.13.0 and imagepipeline-okhttp3:1.13.0

Application.java:

OkHttpClient.Builder ohcb = new OkHttpClient.Builder()
.addInterceptor(new Interceptor() {
@Override
public Response intercept(Chain chain) throws IOException {
Request.Builder ongoing = chain.request().newBuilder();

            ongoing.addHeader("X-device", "android");
            // etc..

            return chain.proceed(ongoing.build());
        }
    });

ImagePipelineConfig imagePipelineConfig = OkHttpImagePipelineConfigFactory
.newBuilder(this, ohcb.build())
.build();
Fresco.initialize(this, imagePipelineConfig);
```

Additional Information

  • Fresco version: 1.13.0
  • androidx
  • okhttp: 3.12.1

Google Play Console says that the error is only on android 9.0, but in crashlytics I have this:

Screenshot 2019-05-15 19 02 50

Google Play Console:

Screenshot 2019-05-15 19 09 32

All 4 comments

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may also label this issue as "bug" or "enhancement" and I will leave it open. Thank you for your contributions.

it is still relevant

Thanks for the bug report. Seems like a SoLoader issue. Can you also open a bug report for https://github.com/facebook/soloader ?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

goodev picture goodev  路  4Comments

bigfreeZhou picture bigfreeZhou  路  4Comments

hanhmh1203 picture hanhmh1203  路  4Comments

rhettor picture rhettor  路  3Comments

satyarths picture satyarths  路  3Comments