Native crash in `getEntryByPath(actualPath)`, and `getData()` methods.
Describe the bug PlayStore reported this native crash for kiwix-app, and some custom apps as well e.g. wikivoyage, wikimed, etc. There are some occurrence in all these applications.
Expected behavior It should not crash the application.
Steps to reproduce the behavior: No reproducing steps are available. But, we have a PR https://github.com/kiwix/kiwix-android/pull/3937 where @CalebKL facing this issue when we are creating the new zimFileReader with a different zimFile(see https://github.com/kiwix/kiwix-android/issues/3937#issuecomment-2236153494). This issue is occurring here https://github.com/kiwix/kiwix-android/blob/7dcf0424cef46a811b2c33902babf00797a61aed/core/src/main/java/org/kiwix/kiwixmobile/core/reader/ZimFileReader.kt#L365, when we are writing the content to pipe.
Environment
- Version of Kiwix Android : 3.11.1
- Device : Many devices.
- OS version : Android 10, Android 12, Android 13.
Logs
- [base.apk!libzim_wrapper.so] Java_org_kiwix_libzim_Item_getData
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 12200 >>> org.kiwix.kiwixcustomwikimed <<<
backtrace:
#00 pc 0x0000000000063126 /apex/com.android.runtime/lib/bionic/libc.so (abort+138)
#01 pc 0x0000000000013e8d /apex/com.android.os.statsd/lib/libstatssocket.so (abort_message+104)
#02 pc 0x00000000000147b3 /apex/com.android.os.statsd/lib/libstatssocket.so (demangling_terminate_handler()+130)
#03 pc 0x0000000000014677 /apex/com.android.os.statsd/lib/libstatssocket.so (std::__terminate(void (*)())+2)
#04 pc 0x0000000000014015 /apex/com.android.os.statsd/lib/libstatssocket.so (__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*)+12)
#05 pc 0x0000000000013fa1 /apex/com.android.os.statsd/lib/libstatssocket.so (__cxa_throw+72)
#06 pc 0x00000000000160e1 /apex/com.android.os.statsd/lib/libstatssocket.so (operator new(unsigned int)+52)
#07 pc 0x00000000001ed3a9 /apex/com.android.art/lib/libart.so (art::Thread::CreateInternalStackTrace(art::ScopedObjectAccessAlreadyRunnable const&) const+32)
#08 pc 0x00000000004b7859 /apex/com.android.art/lib/libart.so (art::Throwable_nativeFillInStackTrace(_JNIEnv*, _jclass*) (.__uniq.282764230813858432628848516352795405182)+28)
#09 pc 0x0000000000327773 /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (art_jni_trampoline+42)
#10 pc 0x00000000003f3fff /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (java.lang.Throwable.fillInStackTrace+86)
#11 pc 0x0000000000475685 /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat ([DEDUPED] ?.<init>+124)
#12 pc 0x00000000001441d5 /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68)
#13 pc 0x0000000000143c0f /apex/com.android.art/lib/libart.so (art_quick_invoke_stub+256)
#14 pc 0x00000000002738bb /apex/com.android.art/lib/libart.so (art::JValue art::InvokeWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+546)
#15 pc 0x0000000000428f2d /apex/com.android.art/lib/libart.so (art::JNI<false>::CallNonvirtualVoidMethodA(_JNIEnv*, _jobject*, _jclass*, _jmethodID*, jvalue const*)+500)
#16 pc 0x0000000000417bb1 /apex/com.android.art/lib/libart.so (art::JNI<false>::NewObjectA(_JNIEnv*, _jclass*, _jmethodID*, jvalue const*)+192)
#17 pc 0x00000000004118a9 /apex/com.android.art/lib/libart.so (art::ThrowNewException(_JNIEnv*, _jclass*, char const*, _jobject*)+144)
#18 pc 0x0000000000016871 /data/app/~~6XGCYiWOUmxEpYdHCqew9w==/org.kiwix.kiwixcustomwikimed-k7w1oehgWtmf_-uGR22Rag==/base.apk!libzim_wrapper.so (Java_org_kiwix_libzim_Item_getData+564) (BuildId: 156c0086f806093be1da1b1615c4232400f11639)
#19 pc 0x000000000009ccfd /data/app/~~6XGCYiWOUmxEpYdHCqew9w==/org.kiwix.kiwixcustomwikimed-k7w1oehgWtmf_-uGR22Rag==/oat/arm/base.odex (art_jni_trampoline+68)
#20 pc 0x00000000002273c9 /data/app/~~6XGCYiWOUmxEpYdHCqew9w==/org.kiwix.kiwixcustomwikimed-k7w1oehgWtmf_-uGR22Rag==/oat/arm/base.odex (org.kiwix.kiwixmobile.core.reader.ZimFileReader$$ExternalSyntheticLambda0.run+680)
#21 pc 0x000000000020e9bf /data/app/~~6XGCYiWOUmxEpYdHCqew9w==/org.kiwix.kiwixcustomwikimed-k7w1oehgWtmf_-uGR22Rag==/oat/arm/base.odex (io.reactivex.internal.operators.completable.CompletableFromAction.subscribeActual+222)
#22 pc 0x0000000000174101 /data/app/~~6XGCYiWOUmxEpYdHCqew9w==/org.kiwix.kiwixcustomwikimed-k7w1oehgWtmf_-uGR22Rag==/oat/arm/base.odex (io.reactivex.Completable.subscribe+48)
#23 pc 0x000000000020ec69 /data/app/~~6XGCYiWOUmxEpYdHCqew9w==/org.kiwix.kiwixcustomwikimed-k7w1oehgWtmf_-uGR22Rag==/oat/arm/base.odex (io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run+64)
#24 pc 0x000000000020cb85 /data/app/~~6XGCYiWOUmxEpYdHCqew9w==/org.kiwix.kiwixcustomwikimed-k7w1oehgWtmf_-uGR22Rag==/oat/arm/base.odex (io.reactivex.Scheduler$DisposeTask.run+84)
#25 pc 0x00000000002101a1 /data/app/~~6XGCYiWOUmxEpYdHCqew9w==/org.kiwix.kiwixcustomwikimed-k7w1oehgWtmf_-uGR22Rag==/oat/arm/base.odex (io.reactivex.internal.schedulers.ScheduledRunnable.run+360)
#26 pc 0x000000000020f987 /data/app/~~6XGCYiWOUmxEpYdHCqew9w==/org.kiwix.kiwixcustomwikimed-k7w1oehgWtmf_-uGR22Rag==/oat/arm/base.odex (io.reactivex.internal.schedulers.ScheduledRunnable.call+38)
#27 pc 0x00000000004c4dbb /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (java.util.concurrent.FutureTask.run+178)
#28 pc 0x000000000054e66f /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run+118)
#29 pc 0x0000000000517625 /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+828)
#30 pc 0x0000000000514bdf /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+62)
#31 pc 0x00000000003f0ebf /data/misc/apexdata/com.android.art/dalvik-cache/arm/boot.oat (java.lang.Thread.run+70)
#32 pc 0x00000000001441d5 /apex/com.android.art/lib/libart.so (art_quick_invoke_stub_internal+68)
#33 pc 0x00000000001bc28b /apex/com.android.art/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+466)
#34 pc 0x0000000000235faf /apex/com.android.art/lib/libart.so (art::Thread::CreateCallback(void*)+2070)
#35 pc 0x00000000000ae253 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+40)
#36 pc 0x0000000000064123 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30)
- [split_config.arm64_v8a.apk!libzim_wrapper.so] Java_org_kiwix_libzim_Archive_getEntryByPath__Ljava_lang_String_2
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 9522 >>> org.kiwix.kiwixcustomwikivoyage <<<
backtrace:
#00 pc 0x0000000000010630 /data/app/~~ZWq4a5wFIOiLihQUR4TxQg==/org.kiwix.kiwixcustomwikivoyage-1eeF-UmrHGT7jjv0YYjmXw==/split_config.arm64_v8a.apk!libzim_wrapper.so (Java_org_kiwix_libzim_Archive_getEntryByPath__Ljava_lang_String_2+120) (BuildId: bb96395f5068f1755a93f5daa08b7a934333f07e)
#01 pc 0x000000000002c530 /data/app/~~ZWq4a5wFIOiLihQUR4TxQg==/org.kiwix.kiwixcustomwikivoyage-1eeF-UmrHGT7jjv0YYjmXw==/oat/arm64/base.odex (art_jni_trampoline+128)
#02 pc 0x0000000002007034 /memfd:jit-cache (org.kiwix.kiwixmobile.core.reader.ZimFileReader.getItem+420)
#03 pc 0x000000000200232c /memfd:jit-cache (org.kiwix.kiwixmobile.core.reader.ZimFileReader$$ExternalSyntheticLambda0.run+524)
#04 pc 0x00000000005b9cd4 /apex/com.android.art/lib64/libart.so (nterp_helper+7636)
#05 pc 0x00000000001d0e78 /data/app/~~ZWq4a5wFIOiLihQUR4TxQg==/org.kiwix.kiwixcustomwikivoyage-1eeF-UmrHGT7jjv0YYjmXw==/base.apk (io.reactivex.internal.operators.completable.CompletableFromAction.subscribeActual+24)
#06 pc 0x00000000005b8e54 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#07 pc 0x00000000001cea50 /data/app/~~ZWq4a5wFIOiLihQUR4TxQg==/org.kiwix.kiwixcustomwikivoyage-1eeF-UmrHGT7jjv0YYjmXw==/base.apk (io.reactivex.Completable.subscribe+4)
#08 pc 0x00000000005b8e54 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#09 pc 0x00000000001d0f80 /data/app/~~ZWq4a5wFIOiLihQUR4TxQg==/org.kiwix.kiwixcustomwikivoyage-1eeF-UmrHGT7jjv0YYjmXw==/base.apk (io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run+4)
#10 pc 0x00000000005b9c74 /apex/com.android.art/lib64/libart.so (nterp_helper+7540)
#11 pc 0x00000000001cee6a /data/app/~~ZWq4a5wFIOiLihQUR4TxQg==/org.kiwix.kiwixcustomwikivoyage-1eeF-UmrHGT7jjv0YYjmXw==/base.apk (io.reactivex.Scheduler$DisposeTask.run+18)
#12 pc 0x00000000005b9c74 /apex/com.android.art/lib64/libart.so (nterp_helper+7540)
#13 pc 0x00000000001d963e /data/app/~~ZWq4a5wFIOiLihQUR4TxQg==/org.kiwix.kiwixcustomwikivoyage-1eeF-UmrHGT7jjv0YYjmXw==/base.apk (io.reactivex.internal.schedulers.ScheduledRunnable.run+42)
#14 pc 0x00000000005b8e54 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#15 pc 0x00000000001d94e0 /data/app/~~ZWq4a5wFIOiLihQUR4TxQg==/org.kiwix.kiwixcustomwikivoyage-1eeF-UmrHGT7jjv0YYjmXw==/base.apk (io.reactivex.internal.schedulers.ScheduledRunnable.call)
#16 pc 0x000000000057b574 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.FutureTask.run+180)
#17 pc 0x000000000061b5e8 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run+136)
#18 pc 0x00000000005db70c /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+796)
#19 pc 0x00000000005d8810 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+64)
#20 pc 0x0000000000484088 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.lang.Thread.run+72)
#21 pc 0x000000000033a7a4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612)
#22 pc 0x000000000023a01c /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+144)
#23 pc 0x0000000000539054 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1600)
#24 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
#25 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 6158 >>> org.kiwix.kiwixmobile <<<
backtrace:
#00 pc 0x0000000000010630 /data/app/~~XfkD8GunLX5B2CTJlo4Vog==/org.kiwix.kiwixmobile-8Um864IImUF4SI8brnfITw==/split_config.arm64_v8a.apk!libzim_wrapper.so (Java_org_kiwix_libzim_Archive_getEntryByPath__Ljava_lang_String_2+120) (BuildId: 6633925cfdce17aa0079498777317a589d32289b)
#01 pc 0x0000000000123530 /data/app/~~XfkD8GunLX5B2CTJlo4Vog==/org.kiwix.kiwixmobile-8Um864IImUF4SI8brnfITw==/oat/arm64/base.odex (art_jni_trampoline+128)
#02 pc 0x00000000002b3cfc /data/app/~~XfkD8GunLX5B2CTJlo4Vog==/org.kiwix.kiwixmobile-8Um864IImUF4SI8brnfITw==/oat/arm64/base.odex (org.kiwix.kiwixmobile.core.reader.ZimFileReader.getItem+700)
#03 pc 0x0000000000406c34 /data/app/~~XfkD8GunLX5B2CTJlo4Vog==/org.kiwix.kiwixmobile-8Um864IImUF4SI8brnfITw==/oat/arm64/base.odex (org.kiwix.kiwixmobile.core.reader.ZimFileReader$$ExternalSyntheticLambda0.run+308)
#04 pc 0x00000000003b6fe0 /data/app/~~XfkD8GunLX5B2CTJlo4Vog==/org.kiwix.kiwixmobile-8Um864IImUF4SI8brnfITw==/oat/arm64/base.odex (io.reactivex.internal.operators.completable.CompletableFromAction.subscribeActual+224)
#05 pc 0x0000000000243048 /data/app/~~XfkD8GunLX5B2CTJlo4Vog==/org.kiwix.kiwixmobile-8Um864IImUF4SI8brnfITw==/oat/arm64/base.odex (io.reactivex.Completable.subscribe+56)
#06 pc 0x00000000003b75d0 /data/app/~~XfkD8GunLX5B2CTJlo4Vog==/org.kiwix.kiwixmobile-8Um864IImUF4SI8brnfITw==/oat/arm64/base.odex (io.reactivex.internal.operators.completable.CompletableSubscribeOn$SubscribeOnObserver.run+64)
#07 pc 0x00000000003b1d80 /data/app/~~XfkD8GunLX5B2CTJlo4Vog==/org.kiwix.kiwixmobile-8Um864IImUF4SI8brnfITw==/oat/arm64/base.odex (io.reactivex.Scheduler$DisposeTask.run+96)
#08 pc 0x00000000003b9c8c /data/app/~~XfkD8GunLX5B2CTJlo4Vog==/org.kiwix.kiwixmobile-8Um864IImUF4SI8brnfITw==/oat/arm64/base.odex (io.reactivex.internal.schedulers.ScheduledRunnable.run+508)
#09 pc 0x00000000003b9414 /data/app/~~XfkD8GunLX5B2CTJlo4Vog==/org.kiwix.kiwixmobile-8Um864IImUF4SI8brnfITw==/oat/arm64/base.odex (io.reactivex.internal.schedulers.ScheduledRunnable.call+36)
#10 pc 0x00000000005b49b4 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.FutureTask.run+180)
#11 pc 0x000000000065d6e8 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run+136)
#12 pc 0x0000000000618ddc /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+796)
#13 pc 0x0000000000615860 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+64)
#14 pc 0x00000000004a3208 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.lang.Thread.run+72)
#15 pc 0x000000000033a7a4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612)
#16 pc 0x000000000023a01c /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+144)
#17 pc 0x0000000000539054 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1600)
#18 pc 0x0000000000104fc4 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
#19 pc 0x000000000009e764 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 19622 >>> org.kiwix.kiwixmobile <<<
backtrace:
#00 pc 0x0000000000010630 /data/app/~~LMCz14mH1-Ckp0KmqDPclA==/org.kiwix.kiwixmobile-z0FDyYTCOYItpbhReKfOjg==/split_config.arm64_v8a.apk!libzim_wrapper.so (Java_org_kiwix_libzim_Archive_getEntryByPath__Ljava_lang_String_2+120) (BuildId: 6633925cfdce17aa0079498777317a589d32289b)
#01 pc 0x00000000000a4420 /data/app/~~LMCz14mH1-Ckp0KmqDPclA==/org.kiwix.kiwixmobile-z0FDyYTCOYItpbhReKfOjg==/oat/arm64/base.odex (art_jni_trampoline+128)
#02 pc 0x00000000005b8eb0 /apex/com.android.art/lib64/libart.so (nterp_helper+4016)
#03 pc 0x000000000025e460 /data/app/~~LMCz14mH1-Ckp0KmqDPclA==/org.kiwix.kiwixmobile-z0FDyYTCOYItpbhReKfOjg==/base.apk (org.kiwix.kiwixmobile.core.reader.ZimFileReader.getItem+84)
#04 pc 0x0000000002001410 /memfd:jit-cache (org.kiwix.kiwixmobile.core.reader.ZimReaderContainer.load+1280)
#05 pc 0x00000000005b8eb0 /apex/com.android.art/lib64/libart.so (nterp_helper+4016)
#06 pc 0x00000000002537fa /data/app/~~LMCz14mH1-Ckp0KmqDPclA==/org.kiwix.kiwixmobile-z0FDyYTCOYItpbhReKfOjg==/base.apk (org.kiwix.kiwixmobile.core.main.CoreWebViewClient.shouldInterceptRequest+94)
#07 pc 0x00000000005b8e54 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#08 pc 0x0000000000098548 /data/app/~~FRN2LmSd2MM0bUfZ6WxOiQ==/com.google.android.webview-abqVvjuBUpnPfboRKXR72A==/base.apk (WV.z6.a+164)
#09 pc 0x00000000005b8e54 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#10 pc 0x0000000000188264 /data/app/~~FRN2LmSd2MM0bUfZ6WxOiQ==/com.google.android.webview-abqVvjuBUpnPfboRKXR72A==/base.apk (org.chromium.android_webview.AwContentsBackgroundThreadClient.shouldInterceptRequestFromNative+28)
#11 pc 0x000000000033a7a4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612)
#12 pc 0x00000000003388ec /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithVarArgs<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, std::__va_list)+772)
#13 pc 0x0000000000559448 /apex/com.android.art/lib64/libart.so (art::JNI<false>::CallObjectMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+196)
#14 pc 0x000000000627bbb0 /data/app/~~ceUTIqZXrubUSXI-9Z8bsA==/com.google.android.trichromelibrary_647813433-FGc108jUnT3NKBLM-by9ZQ==/base.apk!libmonochrome_64.so (BuildId: 3b01474b0b136f5cad3e663eb096868a1db81f42)
#15 pc 0x00000000026aeac0 /data/app/~~ceUTIqZXrubUSXI-9Z8bsA==/com.google.android.trichromelibrary_647813433-FGc108jUnT3NKBLM-by9ZQ==/base.apk!libmonochrome_64.so (BuildId: 3b01474b0b136f5cad3e663eb096868a1db81f42)
#16 pc 0x00000000026afdd0 /data/app/~~ceUTIqZXrubUSXI-9Z8bsA==/com.google.android.trichromelibrary_647813433-FGc108jUnT3NKBLM-by9ZQ==/base.apk!libmonochrome_64.so (BuildId: 3b01474b0b136f5cad3e663eb096868a1db81f42)
#17 pc 0x00000000026afe78 /data/app/~~ceUTIqZXrubUSXI-9Z8bsA==/com.google.android.trichromelibrary_647813433-FGc108jUnT3NKBLM-by9ZQ==/base.apk!libmonochrome_64.so (BuildId: 3b01474b0b136f5cad3e663eb096868a1db81f42)
#18 pc 0x00000000057e494c /data/app/~~ceUTIqZXrubUSXI-9Z8bsA==/com.google.android.trichromelibrary_647813433-FGc108jUnT3NKBLM-by9ZQ==/base.apk!libmonochrome_64.so (BuildId: 3b01474b0b136f5cad3e663eb096868a1db81f42)
#19 pc 0x00000000057e4904 /data/app/~~ceUTIqZXrubUSXI-9Z8bsA==/com.google.android.trichromelibrary_647813433-FGc108jUnT3NKBLM-by9ZQ==/base.apk!libmonochrome_64.so (BuildId: 3b01474b0b136f5cad3e663eb096868a1db81f42)
#20 pc 0x0000000006343158 /data/app/~~ceUTIqZXrubUSXI-9Z8bsA==/com.google.android.trichromelibrary_647813433-FGc108jUnT3NKBLM-by9ZQ==/base.apk!libmonochrome_64.so (BuildId: 3b01474b0b136f5cad3e663eb096868a1db81f42)
#21 pc 0x0000000006342194 /data/app/~~ceUTIqZXrubUSXI-9Z8bsA==/com.google.android.trichromelibrary_647813433-FGc108jUnT3NKBLM-by9ZQ==/base.apk!libmonochrome_64.so (BuildId: 3b01474b0b136f5cad3e663eb096868a1db81f42)
#22 pc 0x00000000063454a0 /data/app/~~ceUTIqZXrubUSXI-9Z8bsA==/com.google.android.trichromelibrary_647813433-FGc108jUnT3NKBLM-by9ZQ==/base.apk!libmonochrome_64.so (BuildId: 3b01474b0b136f5cad3e663eb096868a1db81f42)
#23 pc 0x000000000633d944 /data/app/~~ceUTIqZXrubUSXI-9Z8bsA==/com.google.android.trichromelibrary_647813433-FGc108jUnT3NKBLM-by9ZQ==/base.apk!libmonochrome_64.so (BuildId: 3b01474b0b136f5cad3e663eb096868a1db81f42)
#24 pc 0x000000000633d85c /data/app/~~ceUTIqZXrubUSXI-9Z8bsA==/com.google.android.trichromelibrary_647813433-FGc108jUnT3NKBLM-by9ZQ==/base.apk!libmonochrome_64.so (BuildId: 3b01474b0b136f5cad3e663eb096868a1db81f42)
#25 pc 0x00000000062c068c /data/app/~~ceUTIqZXrubUSXI-9Z8bsA==/com.google.android.trichromelibrary_647813433-FGc108jUnT3NKBLM-by9ZQ==/base.apk!libmonochrome_64.so (BuildId: 3b01474b0b136f5cad3e663eb096868a1db81f42)
#26 pc 0x00000000000be888 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
#27 pc 0x000000000005b370 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
@mgautierfr Can you please have a look at this issue?
@veloman-yunkan Could younhelp please on this issue?
We have to mainly focus on this issue before releasing the 3.14.0 there are many occurrences reported by the playStore for version 3.13.0. So I am moving this issue to the current milestone.
The logs are, that there is a null pointer dereference issue.
--------- beginning of crash
10-21 07:14:15.729 11546 11698 F libc : Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0 in tid 11698 (DefaultDispatch), pid 11546 (wix.kiwixmobile)
10-21 07:14:15.787 11762 11762 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
10-21 07:14:15.787 11762 11762 F DEBUG : Build fingerprint: 'Android/sdk_phone_x86_64/generic_x86_64:11/RSR1.210722.013.A2/10067904:userdebug/test-keys'
10-21 07:14:15.787 11762 11762 F DEBUG : Revision: '0'
10-21 07:14:15.787 11762 11762 F DEBUG : ABI: 'x86_64'
10-21 07:14:15.787 11762 11762 F DEBUG : Timestamp: 2024-10-21 07:14:15+0000
10-21 07:14:15.787 11762 11762 F DEBUG : pid: 11546, tid: 11698, name: DefaultDispatch >>> org.kiwix.kiwixmobile <<<
10-21 07:14:15.787 11762 11762 F DEBUG : uid: 10130
10-21 07:14:15.787 11762 11762 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
10-21 07:14:15.787 11762 11762 F DEBUG : Cause: null pointer dereference
10-21 07:14:15.787 11762 11762 F DEBUG : rax 0000000000000000 rbx 000072f77354f9d0 rcx 000072f7935cfa50 rdx 0000000000000000
10-21 07:14:15.787 11762 11762 F DEBUG : r8 000072f6c433b348 r9 0000000000000006 r10 000072f7199ed003 r11 000072fa07979048
10-21 07:14:15.787 11762 11762 F DEBUG : r12 000072f6c433b488 r13 000072f8335dcd50 r14 000072f6c433b484 r15 000072f6d0b8d5a0
10-21 07:14:15.787 11762 11762 F DEBUG : rdi 000072f6c433b350 rsi 000072f6c433b360
10-21 07:14:15.787 11762 11762 F DEBUG : rbp 000072f6c433b490 rsp 000072f6c433b3f0 rip 000072f6d488fffe
10-21 07:14:15.897 11546 11546 E SEARCH_RESULT: Cancelled the previous job StandaloneCoroutine was cancelled
10-21 07:14:15.897 11762 11762 F DEBUG : backtrace:
10-21 07:14:15.897 11762 11762 F DEBUG : #00 pc 000000000000fffe /data/app/~~pKKiDHI0Z-dobzA2RUiTXg==/org.kiwix.kiwixmobile-yr3UR3PFZZmURpgco4Ns3A==/base.apk!libzim_wrapper.so (offset 0x65ad000) (Java_org_kiwix_libzim_Archive_getEntryByPath__Ljava_lang_String_2+94) (BuildId: c1ca9c45d87c97e8151f68367e0b8dc5be5e5ae6)
10-21 07:14:15.897 11762 11762 F DEBUG : #01 pc 00000000001840c7 /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+215) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #02 pc 0000000000178cb4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+756) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #03 pc 000000000020ba92 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+242) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #04 pc 00000000003a7ad5 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+357) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #05 pc 000000000039c414 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1252) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #06 pc 000000000078a882 /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1026) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #07 pc 0000000000162f99 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+25) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #08 pc 0000000000007408 [anon:dalvik-classes13.dex extracted in memory from /data/app/~~pKKiDHI0Z-dobzA2RUiTXg==/org.kiwix.kiwixmobile-yr3UR3PFZZmURpgco4Ns3A==/base.apk!classes13.dex] (org.kiwix.kiwixmobile.core.reader.ZimFileReader.getItem+88)
10-21 07:14:15.897 11762 11762 F DEBUG : #09 pc 0000000000392b7f /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.13122177071831748680)+335) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #10 pc 000000000039b8c8 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+200) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #11 pc 000000000039c3f9 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1225) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #12 pc 000000000078a882 /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1026) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #13 pc 0000000000162f99 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+25) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #14 pc 00000000000063a4 [anon:dalvik-classes13.dex extracted in memory from /data/app/~~pKKiDHI0Z-dobzA2RUiTXg==/org.kiwix.kiwixmobile-yr3UR3PFZZmURpgco4Ns3A==/base.apk!classes13.dex] (org.kiwix.kiwixmobile.core.reader.ZimFileReader.loadContent+8)
10-21 07:14:15.897 11762 11762 F DEBUG : #15 pc 0000000000392b7f /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.13122177071831748680)+335) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.897 11762 11762 F DEBUG : #16 pc 000000000039b8c8 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+200) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #17 pc 000000000039c3f9 /apex/com.android.art/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+1225) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #18 pc 000000000078d5b0 /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+688) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #19 pc 0000000000163099 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+25) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #20 pc 00000000000062f6 [anon:dalvik-classes13.dex extracted in memory from /data/app/~~pKKiDHI0Z-dobzA2RUiTXg==/org.kiwix.kiwixmobile-yr3UR3PFZZmURpgco4Ns3A==/base.apk!classes13.dex] (org.kiwix.kiwixmobile.core.reader.ZimFileReader.access$loadContent+18)
10-21 07:14:15.898 11762 11762 F DEBUG : #21 pc 0000000000392b7f /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.13122177071831748680)+335) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #22 pc 00000000007765af /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+1103) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #23 pc 000000000018424c /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+140) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #24 pc 000000000017080a /apex/com.android.art/lib64/libart.so (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #25 pc 00000000000055ea [anon:dalvik-classes13.dex extracted in memory from /data/app/~~pKKiDHI0Z-dobzA2RUiTXg==/org.kiwix.kiwixmobile-yr3UR3PFZZmURpgco4Ns3A==/base.apk!classes13.dex] (org.kiwix.kiwixmobile.core.reader.ZimFileReader$load$2.invokeSuspend+502)
10-21 07:14:15.898 11762 11762 F DEBUG : #26 pc 00000000021ba27e /memfd:jit-cache (deleted) (offset 0x2000000) (kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith+430)
10-21 07:14:15.898 11762 11762 F DEBUG : #27 pc 000000000213d570 /memfd:jit-cache (deleted) (offset 0x2000000) (kotlinx.coroutines.DispatchedTask.run+1904)
10-21 07:14:15.898 11762 11762 F DEBUG : #28 pc 0000000000171f7a /apex/com.android.art/lib64/libart.so (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #29 pc 00000000004b850c [anon:dalvik-classes30.dex extracted in memory from /data/app/~~pKKiDHI0Z-dobzA2RUiTXg==/org.kiwix.kiwixmobile-yr3UR3PFZZmURpgco4Ns3A==/base.apk!classes30.dex] (kotlinx.coroutines.internal.LimitedDispatcher$Worker.run+32)
10-21 07:14:15.898 11762 11762 F DEBUG : #30 pc 00000000001718ea /apex/com.android.art/lib64/libart.so (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #31 pc 00000000004d295e [anon:dalvik-classes30.dex extracted in memory from /data/app/~~pKKiDHI0Z-dobzA2RUiTXg==/org.kiwix.kiwixmobile-yr3UR3PFZZmURpgco4Ns3A==/base.apk!classes30.dex] (kotlinx.coroutines.scheduling.TaskImpl.run+18)
10-21 07:14:15.898 11762 11762 F DEBUG : #32 pc 0000000000170d5d /apex/com.android.art/lib64/libart.so (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #33 pc 00000000004d0e46 [anon:dalvik-classes30.dex extracted in memory from /data/app/~~pKKiDHI0Z-dobzA2RUiTXg==/org.kiwix.kiwixmobile-yr3UR3PFZZmURpgco4Ns3A==/base.apk!classes30.dex] (kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely+18)
10-21 07:14:15.898 11762 11762 F DEBUG : #34 pc 0000000000170d5d /apex/com.android.art/lib64/libart.so (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #35 pc 00000000004cec72 [anon:dalvik-classes30.dex extracted in memory from /data/app/~~pKKiDHI0Z-dobzA2RUiTXg==/org.kiwix.kiwixmobile-yr3UR3PFZZmURpgco4Ns3A==/base.apk!classes30.dex] (kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask+74)
10-21 07:14:15.898 11762 11762 F DEBUG : #36 pc 0000000000170d5d /apex/com.android.art/lib64/libart.so (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #37 pc 00000000004ceea4 [anon:dalvik-classes30.dex extracted in memory from /data/app/~~pKKiDHI0Z-dobzA2RUiTXg==/org.kiwix.kiwixmobile-yr3UR3PFZZmURpgco4Ns3A==/base.apk!classes30.dex] (kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker+128)
10-21 07:14:15.898 11762 11762 F DEBUG : #38 pc 0000000000170d5d /apex/com.android.art/lib64/libart.so (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #39 pc 00000000004cee00 [anon:dalvik-classes30.dex extracted in memory from /data/app/~~pKKiDHI0Z-dobzA2RUiTXg==/org.kiwix.kiwixmobile-yr3UR3PFZZmURpgco4Ns3A==/base.apk!classes30.dex] (kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run+8)
10-21 07:14:15.898 11762 11762 F DEBUG : #40 pc 0000000000178cb4 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+756) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #41 pc 000000000020ba92 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+242) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #42 pc 000000000062a1be /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+478) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #43 pc 000000000068d843 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1411) (BuildId: 1dfb27162fe62a7ac7a10ea361233369)
10-21 07:14:15.898 11762 11762 F DEBUG : #44 pc 00000000000c7d2a /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+58) (BuildId: 3707c39fc397eeaa328142d90b50a973)
10-21 07:14:15.898 11762 11762 F DEBUG : #45 pc 000000000005f0c7 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+55) (BuildId:
@mgautierfr , @veloman-yunkan can we catch this error and throw a normal error which can be caught by the java-libkiwix?