hf/leveldb-android

Got java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol __aeabi_memcpy

gedeh opened this issue · 4 comments

gedeh commented

Hi @hf ,

Thanks for your library, its awesome!

Recently I got report from fabric.io that several devices got this error when using leveldb as the storage. I am not sure yet why since all working fine on several emulators and devices I got.

Fatal Exception: java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__aeabi_memcpy" referenced by "/data/app/app.package.name/lib/arm/libleveldb.so"...
   at java.lang.Runtime.loadLibrary(Runtime.java:372)
   at java.lang.System.loadLibrary(System.java:1076)
   at com.github.hf.leveldb.implementation.NativeLevelDB.(NativeLevelDB.java)
   at com.github.hf.leveldb.LevelDB.open(LevelDB.java:54)

Devices reported having this issue are mostly Samsung with model, ordered respectively by issue occurrence:

  • SM-G610F
  • Galaxy Note4
  • Galaxy A3(2016)
  • Galaxy J7

Wish I can help further, but I don''t know much about NDK.

Thanks,
Hendra

@hf Hello. If I understand correctly this is an issue with the NDK https://android-review.googlesource.com/c/platform/bionic/+/195350. I found that other libs that were using the NDK had the same issues
card-io card-io/card.io-Android-source#113
flutter flutter/buildroot#23

Seems updating the NDK solves it. Do you see any problem with updating the NDK ?

hf commented

Hi guys, I've been busy for quite a while. You should have opened a PR. :)

I will try to update the NDK as soon as possible.

Hey hf, just wondering if this has been resolved. I'm not certain how to resolve it myself but I am experiencing it regularly on physical devices.

hf commented

@mikemcelligott It has not. I'm unable to maintain this codebase, as I've moved on. If you're up for it please send a PR, there's already been some good work by @proxain on this.