objectbox-java icon indicating copy to clipboard operation
objectbox-java copied to clipboard

[split_config.arm64_v8a.apk!libobjectbox-jni.so] Java_io_objectbox_query_Query_nativeFind

Open jobernolte opened this issue 1 year ago • 7 comments

Describe the bug Some of our users experience crashes of our App caused by the ObjectBox library. This is a follow up report to https://github.com/objectbox/objectbox-java/issues/1131

Basic info (please complete the following information):

  • ObjectBox version (are you using the latest version?): 3.7.0
  • Reproducibility: not reproducible
  • Device: all devices
  • OS: any Android version

To Reproduce not applicable

Expected behavior The App should not crash ;)

Logs, stack traces

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 9116 >>> com.elogames.app <<<

backtrace:
  #00  pc 0x000000000013ad98  /data/app/~~W2BhjsM0UKtJwGy4rjk51A==/com.elogames.app-Grauq7pIpDBoNE67XGqjNQ==/split_config.arm64_v8a.apk!libobjectbox-jni.so
  #01  pc 0x00000000000b58dc  /data/app/~~W2BhjsM0UKtJwGy4rjk51A==/com.elogames.app-Grauq7pIpDBoNE67XGqjNQ==/split_config.arm64_v8a.apk!libobjectbox-jni.so (Java_io_objectbox_query_Query_nativeFind+2572)
  #02  pc 0x000000000021e494  /data/app/~~W2BhjsM0UKtJwGy4rjk51A==/com.elogames.app-Grauq7pIpDBoNE67XGqjNQ==/oat/arm64/base.odex (art_jni_trampoline+116)
  #03  pc 0x000000000020b02c  /apex/com.android.art/lib64/libart.so (nterp_helper+7468)
  #04  pc 0x00000000036b31fa  /data/app/~~W2BhjsM0UKtJwGy4rjk51A==/com.elogames.app-Grauq7pIpDBoNE67XGqjNQ==/oat/arm64/base.vdex (io.objectbox.query.Query.lambda$find$2$io-objectbox-query-Query+22)
  #05  pc 0x000000000020a254  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #06  pc 0x00000000036b1190  /data/app/~~W2BhjsM0UKtJwGy4rjk51A==/com.elogames.app-Grauq7pIpDBoNE67XGqjNQ==/oat/arm64/base.vdex (io.objectbox.query.Query$$ExternalSyntheticLambda4.call+4)
  #07  pc 0x000000000020b074  /apex/com.android.art/lib64/libart.so (nterp_helper+7540)
  #08  pc 0x000000000369cb3e  /data/app/~~W2BhjsM0UKtJwGy4rjk51A==/com.elogames.app-Grauq7pIpDBoNE67XGqjNQ==/oat/arm64/base.vdex (io.objectbox.BoxStore.callInReadTx+42)
  #09  pc 0x000000000020a254  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #10  pc 0x000000000369cc3e  /data/app/~~W2BhjsM0UKtJwGy4rjk51A==/com.elogames.app-Grauq7pIpDBoNE67XGqjNQ==/oat/arm64/base.vdex (io.objectbox.BoxStore.callInReadTxWithRetry+6)
  #11  pc 0x000000000020a254  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #12  pc 0x00000000036b3070  /data/app/~~W2BhjsM0UKtJwGy4rjk51A==/com.elogames.app-Grauq7pIpDBoNE67XGqjNQ==/oat/arm64/base.vdex (io.objectbox.query.Query.callInReadTx+20)
  #13  pc 0x000000000020a254  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #14  pc 0x00000000036b318e  /data/app/~~W2BhjsM0UKtJwGy4rjk51A==/com.elogames.app-Grauq7pIpDBoNE67XGqjNQ==/oat/arm64/base.vdex (io.objectbox.query.Query.find+10)
  #15  pc 0x000000000020a254  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #16  pc 0x00000000036b2822  /data/app/~~W2BhjsM0UKtJwGy4rjk51A==/com.elogames.app-Grauq7pIpDBoNE67XGqjNQ==/oat/arm64/base.vdex (io.objectbox.query.QueryPublisher.run+102)
  #17  pc 0x00000000001ea68c  /system/framework/arm64/boot.oat (java.util.concurrent.Executors$RunnableAdapter.call+76)
  #18  pc 0x00000000002985ec  /system/framework/arm64/boot.oat (java.util.concurrent.FutureTask.run+188)
  #19  pc 0x0000000000308ed0  /system/framework/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+976)
  #20  pc 0x00000000003060b8  /system/framework/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+72)
  #21  pc 0x000000000017f210  /system/framework/arm64/boot.oat (java.lang.Thread.run+80)
  #22  pc 0x0000000000457b6c  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+556)
  #23  pc 0x0000000000484e54  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+156)
  #24  pc 0x0000000000484b20  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+400)
  #25  pc 0x00000000005ce3a0  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1684)
  #26  pc 0x00000000000b6668  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
  #27  pc 0x00000000000532cc  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)

jobernolte avatar Aug 29 '23 06:08 jobernolte

Thanks for reporting! It's odd as this should have thrown a Java exception. I passed this on to the team.

greenrobot-team avatar Aug 29 '23 07:08 greenrobot-team

@jobernolte Do you have any additional error logs associated to that crash? Any additional details would help.

greenrobot-team avatar Aug 29 '23 09:08 greenrobot-team

There's only one crash showing up on Crashlytics. But I think this is a different problem.

Fatal Exception: java.lang.RuntimeException: Unable to get provider androidx.startup.InitializationProvider: androidx.startup.StartupException: java.lang.LinkageError: [ObjectBox] Android failed to load native library, check your APK/App Bundle includes a supported ABI or use ReLinker https://docs.objectbox.io/android/app-bundle-and-split-apk (vendor=The Android Project,os=linux,os.arch=x86_64,SUPPORTED_ABIS=[x86_64, arm64-v8a, x86, armeabi-v7a, armeabi])
       at android.app.ActivityThread.installProvider(ActivityThread.java:7464)
       at android.app.ActivityThread.installContentProviders(ActivityThread.java:6976)
       at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6747)
       at android.app.ActivityThread.access$1500(ActivityThread.java:256)
       at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2091)
       at android.os.Handler.dispatchMessage(Handler.java:106)
       at android.os.Looper.loopOnce(Looper.java:201)
       at android.os.Looper.loop(Looper.java:288)
       at android.app.ActivityThread.main(ActivityThread.java:7870)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

jobernolte avatar Aug 29 '23 10:08 jobernolte

@jobernolte I mean like actual log output, e.g. what would be seen in Logcat, related to the error. Though if I remember correctly, Crashlytics can't collect the Android log output.

greenrobot-team avatar Sep 04 '23 06:09 greenrobot-team

Unfortunately this is not possible, as we do not use any other framework to collect crashes and logcat information at the same time (eg Instabug).

jobernolte avatar Sep 04 '23 08:09 jobernolte