Tencent / MMKV

An efficient, small mobile key-value storage framework developed by WeChat. Works on Android, iOS, macOS, Windows, and POSIX.
Other
17.39k stars 1.91k forks source link

empty/missing DT_HASH/DT_GNU_HASH #1356

Closed MrOplus closed 3 months ago

MrOplus commented 3 months ago

Note:

An crash issue will be ignored & closed in a week without logs.

The language of MMKV

Kotlin/Java

The version of MMKV

1.3.7

The platform of MMKV

Android

The installation of MMKV

Maven

What's the issue?

2024-07-14 22:01:51.253  4941-4941  nativeloader            com.test                             D  Load /data/app/~~C8m2eLnWEh4ZKkNJoNaIng==/com.test-MzYc8OFlInIJH6ZHSDSuhg==/base.apk!/lib/arm64-v8a/libmmkv.so using ns clns-6 from class loader (caller=/data/app/~~C8m2eLnWEh4ZKkNJoNaIng==/com.test-MzYc8OFlInIJH6ZHSDSuhg==/base.apk): dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/app/~~C8m2eLnWEh4ZKkNJoNaIng==/com.test-MzYc8OFlInIJH6ZHSDSuhg==/base.apk!/lib/arm64-v8a/libmmkv.so" (new hash type from the future?)
2024-07-14 22:01:51.253  4941-4941  AndroidRuntime          com.test                             D  Shutting down VM
2024-07-14 22:01:51.255  4941-4941  AndroidRuntime          com.test                             E  FATAL EXCEPTION: main
                                                                                                    Process: com.test, PID: 4941
                                                                                                    java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/app/~~C8m2eLnWEh4ZKkNJoNaIng==/com.test-MzYc8OFlInIJH6ZHSDSuhg==/base.apk!/lib/arm64-v8a/libmmkv.so" (new hash type from the future?)
                                                                                                        at java.lang.Runtime.loadLibrary0(Runtime.java:1081)
                                                                                                        at java.lang.Runtime.loadLibrary0(Runtime.java:1003)
                                                                                                        at java.lang.System.loadLibrary(System.java:1765)
                                                                                                        at com.tencent.mmkv.MMKV.doInitialize(MMKV.java:226)
                                                                                                        at com.tencent.mmkv.MMKV.initialize(MMKV.java:208)
                                                                                                        at com.tencent.mmkv.MMKV.initialize(MMKV.java:94)
                                                                                                        at com.test.Application.onCreate(Application.java:9)
                                                                                                        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1386)
                                                                                                        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:7498)
                                                                                                        at android.app.ActivityThread.-$$Nest$mhandleBindApplication(Unknown Source:0)
                                                                                                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2415)
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:107)
                                                                                                        at android.os.Looper.loopOnce(Looper.java:232)
                                                                                                        at android.os.Looper.loop(Looper.java:317)
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:8699)
                                                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:580)
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:886)

What's the log of MMKV when that happened?

Application crashes during MMKV initialize function on arm64 emulator

lingol commented 3 months ago
  1. Please provide the detailed information about the device.
  2. Have you tried using ReLinker as the FAQ wiki suggests?
MrOplus commented 3 months ago

Yes, I've tried ReLinker and the same error showing up. image The Error only showing up on Images with 16k Page Size, it works fine on normal images.

lingol commented 3 months ago

So it's a 16K problem.