question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

android.system.ErrnoException on Android 10 and 11

See original GitHub issue

I’m getting crash reports for an app using SoLoader v0.10.1. The reports are coming from devices running Android 10 and 11. The app is published as an AAB (Android App Bundle), which may or may not be related to the problem. I’m wondering if these exceptions are happening when users try to install the app on an incompatible architecture as described in this comment. So this might not be a bug, but I don’t know for sure. All the reports are from new high-end devices like the Galaxy S21, which might indicate that the users are technically savvy enough to sideload APKs.

java.lang.RuntimeException: 
  at android.app.ActivityThread.handleMakeApplication (ActivityThread.java:7469)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:7405)
  at android.app.ActivityThread.access$1500 (ActivityThread.java:301)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2130)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:246)
  at android.app.ActivityThread.main (ActivityThread.java:8456)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:596)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1130)
Caused by: java.lang.RuntimeException: 
  at com.facebook.soloader.SoLoader.init (SoLoader.java:12)
  at com.mypackage.App.setupMapbox (App.java:12)
  at com.mypackage.App.onCreate (App.java:15)
  at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1192)
  at android.app.ActivityThread.handleMakeApplication (ActivityThread.java:7464)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:7405)
  at android.app.ActivityThread.access$1500 (ActivityThread.java:301)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2130)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:246)
  at android.app.ActivityThread.main (ActivityThread.java:8456)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:596)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1130)
Caused by: java.io.FileNotFoundException: 
  at libcore.io.IoBridge.open (IoBridge.java:492)
  at java.io.FileOutputStream.<init> (FileOutputStream.java:236)
  at java.io.FileOutputStream.<init> (FileOutputStream.java:186)
  at com.facebook.soloader.FileLocker.<init> (FileLocker.java:5)
  at com.facebook.soloader.FileLocker.lock (FileLocker.java:3)
  at com.facebook.soloader.UnpackingSoSource.prepare (UnpackingSoSource.java:3)
  at com.facebook.soloader.SoLoader.initSoSources (SoLoader.java:7)
  at com.facebook.soloader.SoLoader.init (SoLoader.java:4)
  at com.facebook.soloader.SoLoader.init (SoLoader.java:4)
  at com.facebook.soloader.SoLoader.init (SoLoader.java:4)
  at com.mypackage.App.setupMapbox (App.java:4)
  at com.mypackage.App.onCreate (App.java:15)
  at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1192)
  at android.app.ActivityThread.handleMakeApplication (ActivityThread.java:7464)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:7405)
  at android.app.ActivityThread.access$1500 (ActivityThread.java:301)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2130)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:246)
  at android.app.ActivityThread.main (ActivityThread.java:8456)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:596)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1130)
Caused by: android.system.ErrnoException: 
  at libcore.io.Linux.open (Linux.java)
  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:8317)
  at libcore.io.IoBridge.open (IoBridge.java:478)
  at java.io.FileOutputStream.<init> (FileOutputStream.java:236)
  at java.io.FileOutputStream.<init> (FileOutputStream.java:186)
  at com.facebook.soloader.FileLocker.<init> (FileLocker.java:5)
  at com.facebook.soloader.FileLocker.lock (FileLocker.java:3)
  at com.facebook.soloader.UnpackingSoSource.prepare (UnpackingSoSource.java:3)
  at com.facebook.soloader.SoLoader.initSoSources (SoLoader.java:7)
  at com.facebook.soloader.SoLoader.init (SoLoader.java:4)
  at com.facebook.soloader.SoLoader.init (SoLoader.java:4)
  at com.facebook.soloader.SoLoader.init (SoLoader.java:4)
  at com.mypackage.App.setupMapbox (App.java:4)
  at com.mypackage.App.onCreate (App.java:15)
  at android.app.Instrumentation.callApplicationOnCreate (Instrumentation.java:1192)
  at android.app.ActivityThread.handleMakeApplication (ActivityThread.java:7464)
  at android.app.ActivityThread.handleBindApplication (ActivityThread.java:7405)
  at android.app.ActivityThread.access$1500 (ActivityThread.java:301)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2130)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loop (Looper.java:246)
  at android.app.ActivityThread.main (ActivityThread.java:8456)
  at java.lang.reflect.Method.invoke (Method.java)
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:596)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1130)

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:8
  • Comments:25 (1 by maintainers)

github_iconTop GitHub Comments

9reactions
wildseansycommented, Nov 15, 2021

Updating gradle.properties didn’t actually correctly update the version for my project. There may be a RN node_modules dependency that might be overriding it in my case, I’m not totally sure. This is what I did to resolve the version for my project

// gradle.properties
SO_LOADER_VERSION=0.10.3

// app/build.gradle
configurations.all {
    resolutionStrategy {
        eachDependency { details ->
            if (details.requested.group == 'com.facebook.soloader') {
                //https://github.com/facebook/SoLoader/issues/74#issuecomment-961986593
                switch (details.requested.name) {
                    case 'soloader':
                        details.useVersion SO_LOADER_VERSION
                        break
                }
            }
        }
    }
}

Pretty sure you can just update your gradle.properties to include

SO_LOADER_VERSION=0.10.3

This was helpful for me too, seeing the changes: https://github.com/facebook/SoLoader/releases

Thanks for flagging the new release @mym0404 🙏

8reactions
nes123commented, Jun 19, 2021

It is becoming a big issue in our application which is in production. Did anyone manage to find a workaround?

Is it essential to include soloader for react-native apps? is there an alternative?

Read more comments on GitHub >

github_iconTop Results From Across the Web

ErrnoException - Android Developers
public final class ErrnoException extends Exception ... ErrnoException(String functionName, int errno, Throwable cause) ... Android 11 · Android 10 ...
Read more >
Exception 'open failed - EACCES (Permission denied)
In Android 10, you can use the suggested solution to bypass the system restrictions, but in Android 11 (R) it is mandatory to...
Read more >
How to downgrade from Android 11 to Android 10 - YouTube
How to downgrade your Android version from a developer build back to a stable build.How to downgrade from Android 12 back to Android...
Read more >
Fix FileNotFoundException in Android 10 Q | by Rommer Cañete
Unlike the previous old OS versions, Android 10 doesn't permit access ... the upcoming Android 11 won't tolerate the legacy storage anymore.
Read more >
Android Upgrade Matrix - Lenovo Support US
Smartphone Model Android OS at. Time of Launch Upgrade Plan Available Lenovo Vibe A Android 5.0 Lollipop No upgrade planned Lenovo Vibe A Plus Android...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found