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.

PRODUCTION CRASH: Fatal Exception: java.lang.UnsatisfiedLinkError couldn't find DSO to load: libhermes.so

See original GitHub issue

Please provide all the information requested. Issues that do not follow this format are likely to stall.

Description

Please provide a clear and concise description of what the bug is. Include screenshots if needed. Please test using the latest React Native release to make sure your issue has not already been fixed: https://reactnative.dev/docs/upgrading.html

React Native version:

Run react-native info in your terminal and copy the results here.

System:
    OS: macOS 11.2.1
    CPU: (8) x64 Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
    Memory: 401.39 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 15.10.0 - /var/folders/zg/f6_98ss10lj5b841clyhsxlh0000gn/T/yarn--1618131301327-0.47985465111075376/node
    Yarn: 1.22.10 - /var/folders/zg/f6_98ss10lj5b841clyhsxlh0000gn/T/yarn--1618131301327-0.47985465111075376/yarn
    npm: 7.5.3 - ~/.nvm/versions/node/v15.10.0/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.10.1 - /usr/local/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
    Android SDK:
      API Levels: 24, 26, 28, 29, 30
      Build Tools: 28.0.3, 29.0.2, 29.0.3, 30.0.2
      System Images: android-24 | Google Play Intel x86 Atom, android-26 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom, android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 4.1 AI-201.8743.12.41.6953283
    Xcode: 12.4/12D4e - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_282 - /usr/bin/javac
    Python: 2.7.16 - /usr/bin/python
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.1 => 17.0.1
    react-native: 0.63.4 => 0.63.4
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce

I am unsure, it seems to be an intermittent crash that doesn’t really affect every user. I can only see this in google firebase crashlytics report, so far there have been 8 crashes of the same error on various android devices.

I have hermes enabled.

This is happening on my app, Entrepic http://entrepic.com/, and only on Android so far.

Here’s the complete error message:

Fatal Exception: java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libhermes.so
	SoSource 0: com.facebook.soloader.ApkSoSource[root = /data/data/com.aprmp.projpronetplataa/lib-main flags = 1]
	SoSource 1: com.facebook.soloader.DirectorySoSource[root = /data/app/com.aprmp.projpronetplataa-Stx0SDtLuXCZ6kmaa1x9Jg==/lib/arm64 flags = 0]
	SoSource 2: com.facebook.soloader.DirectorySoSource[root = /vendor/lib64 flags = 2]
	SoSource 3: com.facebook.soloader.DirectorySoSource[root = /system/lib64 flags = 2]
	Native lib dir: /data/app/com.aprmp.projpronetplataa-Stx0SDtLuXCZ6kmaa1x9Jg==/lib/arm64
 result: 0
       at com.facebook.soloader.SoLoader.doLoadLibraryBySoName(SoLoader.java:896)
       at com.facebook.soloader.SoLoader.loadLibraryBySoNameImpl(SoLoader.java:725)
       at com.facebook.soloader.SoLoader.loadLibraryBySoName(SoLoader.java:649)
       at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:629)
       at com.facebook.soloader.SoLoader.loadLibrary(SoLoader.java:577)
       at com.facebook.hermes.reactexecutor.HermesExecutor.<clinit>(HermesExecutor.java:20)
       at com.facebook.hermes.reactexecutor.HermesExecutorFactory.create(HermesExecutorFactory.java:29)
       at com.facebook.react.ReactInstanceManager$5.run(ReactInstanceManager.java:1017)
       at java.lang.Thread.run(Thread.java:764)

stack trace related to com.google.firebase.crashlytics.startup1

com.google.firebase.crashlytics.startup1
       at com.android.org.conscrypt.NativeCrypto.SSL_read(NativeCrypto.java)
       at com.android.org.conscrypt.SslWrapper.read(SslWrapper.java:384)
       at com.android.org.conscrypt.ConscryptFileDescriptorSocket$SSLInputStream.read(ConscryptFileDescriptorSocket.java:541)
       at com.android.okhttp.okio.Okio$2.read(Okio.java:136)
       at com.android.okhttp.okio.AsyncTimeout$2.read(AsyncTimeout.java:211)
       at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:306)
       at com.android.okhttp.okio.RealBufferedSource.indexOf(RealBufferedSource.java:300)
       at com.android.okhttp.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:196)
       at com.android.okhttp.internal.http.Http1xStream.readResponse(Http1xStream.java:186)
       at com.android.okhttp.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:127)
       at com.android.okhttp.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:737)
       at com.android.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:609)
       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:471)
       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:407)
       at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:538)
       at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
       at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode()
       at com.google.firebase.crashlytics.internal.network.HttpGetRequest.execute(HttpGetRequest.java:77)
       at com.google.firebase.crashlytics.internal.settings.network.DefaultSettingsSpiCall.invoke(DefaultSettingsSpiCall.java:113)
       at com.google.firebase.crashlytics.internal.settings.SettingsController$1.then(SettingsController.java:199)
       at com.google.firebase.crashlytics.internal.settings.SettingsController$1.then(SettingsController.java:192)
       at com.google.android.gms.tasks.zzp.run(:2)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
       at com.google.firebase.crashlytics.internal.common.ExecutorUtils$1$1.onRun(ExecutorUtils.java:64)
       at com.google.firebase.crashlytics.internal.common.BackgroundPriorityRunnable.run(BackgroundPriorityRunnable.java:27)
       at java.lang.Thread.run(Thread.java:764)

I don’t think android version has anything to do with this, I can see this happened to variety of devices:

  • 1.0.17 (30) Android 4.1.2, LG K4 LTE, Apr 10, 2021, 4:55:13 PM
  • 1.0.17 (30) Android 9, Pixel 3 XL, Apr 10, 2021, 2:44:42 PM, seems it happened 7 times on this device,
  • 1.0.17 (30) Android 11, Pixel 3a, Apr 10, 2021, 12:05:36 AM, seems it happened 3 times on this device

For the meantime, what I tried is yarn add hermes-engine jsc-android, maybe that will change something? I’ll release this as soon as I can. So far, I have not experienced this happening on local development.

Expected Results

This crash should not happen

Snack, code example, screenshot, or link to a repository:

Please provide a Snack (https://snack.expo.io/), a link to a repository on GitHub, or provide a minimal code example that reproduces the problem. You may provide a screenshot of the application if you think it is relevant to your bug report. Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve

Issue Analytics

  • State:open
  • Created 2 years ago
  • Reactions:4
  • Comments:6

github_iconTop GitHub Comments

6reactions
mym0404commented, Jul 15, 2021

Also LGE Nexus 5X suffers same issue. But other devices are going well. I turned on hermes in Android.

3reactions
felansucommented, Dec 9, 2021

+1 in:

  • Motorola with android 9
  • LGE Nexus 5X with android 8
  • Google Pixel 3 with android 10 & 11
Read more comments on GitHub >

github_iconTop Results From Across the Web

React-Native :java.lang.UnsatisfiedLinkError: couldn't find ...
In case you're facing this error while updating to React Native version 0.62.2 : Add the following to your android/app/build.gradle file:
Read more >
[Android] Couldn't find DSO to load crash in release build and ...
Fatal Exception : java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libhermes-executor-release.so caused by: couldn't find DSO to ...
Read more >
App fixes flagged on Firebase Crashylitics - Mon 4th Jan, 2020
:java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libhermes.so. I was seeing this error intermitently on some Android devices.
Read more >
Getting “java.lang.UnsatisfiedLinkError: couldn't find DSO to ...
UnsatisfiedLinkError : couldn't find DSO to load: libhermes.so” error ... Android app with react-native run-android I get the following crash at startup :...
Read more >
Unable to configure zoom video sdk in react native project
java.lang.UnsatisfiedLinkError: couldn't find DSO to load: libjscexecutor.so caused by: dlopen failed: cannot locate symbol ...
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