Select to view content in your preferred language

App crash related to jni.CoreRequest.a and io.handler.request.e$a.run

1519
15
02-02-2024 01:05 AM
EirikH
by
Occasional Contributor

I am seeing an increase in crashes with this stack trace (from Google crash details).

This is running runtime version 100.15.1. According to Google it happens on Android 11-14.

backtrace:
  #00  pc 0x00000000036c8ef4  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #01  pc 0x00000000036c90d4  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #02  pc 0x000000000366aed4  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #03  pc 0x000000000366eab0  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #04  pc 0x0000000003670d08  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #05  pc 0x00000000036702d0  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #06  pc 0x0000000003681220  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #07  pc 0x000000000367c4f0  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #08  pc 0x0000000003677bd8  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #09  pc 0x0000000003657620  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #10  pc 0x0000000002ba1ff8  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #11  pc 0x0000000002b8ee00  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #12  pc 0x0000000002b8fc78  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #13  pc 0x0000000002bad8f4  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #14  pc 0x000000000221c4fc  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #15  pc 0x000000000224f79c  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #16  pc 0x000000000225b430  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #17  pc 0x000000000225bae4  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #18  pc 0x0000000002f54c98  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #19  pc 0x0000000002f54bf4  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #20  pc 0x0000000002f54b54  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #21  pc 0x0000000001f012c4  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Request_handleResponseWithHTTPStatusCode+124) (BuildId: e72d6cff612404e88c5c97eb8cb164dd79475694)
  #22  pc 0x0000000000218ac8  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/split_config.arm64_v8a.apk!libruntimecore_java.so (Java_com_esri_arcgisruntime_internal_jni_CoreRequest_nativeHandleResponseWithHTTPStatusCode+148) (BuildId: fca1a20778839a2d8d084173a5d0466db9a4a1de)
  #23  pc 0x00000000001dae14  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/oat/arm64/base.odex (art_jni_trampoline+164)
  #24  pc 0x000000000031c088  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/oat/arm64/base.odex (com.esri.arcgisruntime.internal.jni.CoreRequest.a+104)
  #25  pc 0x0000000000273d7c  /data/app/~~3bzna1SGdHMbAdz-H0LcwQ==/com.my.app-O3wq21-_L2A-ITp1RXsW1w==/oat/arm64/base.odex (com.esri.arcgisruntime.internal.io.handler.request.e$a.run+492)
  #26  pc 0x00000000005b0744  /system/framework/arm64/boot-framework.oat (android.os.Handler.dispatchMessage+84)
  #27  pc 0x00000000005b3ca4  /system/framework/arm64/boot-framework.oat (android.os.Looper.loopOnce+1044)
  #28  pc 0x00000000005b37f0  /system/framework/arm64/boot-framework.oat (android.os.Looper.loop+560)
  #29  pc 0x0000000000338448  /system/framework/arm64/boot-framework.oat (android.app.ActivityThread.main+1768)
  #30  pc 0x0000000000360a80  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #31  pc 0x000000000026a8a0  /apex/com.android.art/lib64/libart.so (_jobject* art::InvokeMethod<(art::PointerSize)8>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned long)+780)
  #32  pc 0x000000000026a584  /apex/com.android.art/lib64/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*) (.__uniq.165753521025965369065708152063621506277)+32)
  #33  pc 0x00000000000a2578  /system/framework/arm64/boot.oat (art_jni_trampoline+120)
  #34  pc 0x000000000090ebfc  /system/framework/arm64/boot-framework.oat (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+140)
  #35  pc 0x0000000000918b2c  /system/framework/arm64/boot-framework.oat (com.android.internal.os.ZygoteInit.main+3420)
  #36  pc 0x0000000000360a80  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+640)
  #37  pc 0x00000000004946cc  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeWithVarArgs<_jmethodID*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+516)
  #38  pc 0x000000000055369c  /apex/com.android.art/lib64/libart.so (art::JNI<true>::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+112)
  #39  pc 0x00000000000deab4  /system/lib64/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+104)
  #40  pc 0x00000000000eaf58  /system/lib64/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+852)
  #41  pc 0x0000000000002550  /system/bin/app_process64 (main+1276)
  #42  pc 0x00000000000526d8  /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+104)


I haven't been able to reproduce it myself, and I'm a bit empty on ideas. Does anyone here perhaps recognise what this could be related to, or maybe it's something you have seen before? From the stack trace I can't find which part of my code that triggers this either.

0 Kudos
15 Replies
ChanganShi1
Regular Contributor

Do you have any removing Graphic or GraphicOverlay operations in your code? It seems a removing operation is triggered repeatedly. We need more details to narrow down the crash.

0 Kudos
EirikH
by
Occasional Contributor

Good tip, I can debug in that direction, then. I'm drawing some graphics on the map with a few graphic overlays, I'll try to see if I can trigger something in the app that could make it perform many removes at the same time.

Edit: Upon closer inspection the only time we remove graphics is through this. I need to investigate if we could end up in a situation where we call it too often.

 

  void clearGraphics(Boolean includeFunctional, Promise result) {
    if (mapView != null) {
      this.clearAllSelectionGraphics();
      if (includeFunctional) {
        this.clearAllFunctionalGraphics();
      }
    }
    result.resolve(true);
  }

  private void clearAllFunctionalGraphics() {
    if (this.graphicsOverlayFunctional != null) {
      this.graphicsOverlayFunctional.getGraphics().clear();
    }
  }

  private void clearAllSelectionGraphics() {
    if (this.graphicsOverlaySelection != null) {
      this.graphicsOverlaySelection.getGraphics().clear();
    }
  }

 

@ChanganShi1 Just to confirm, you are quite certain that the crash details above points to something with graphics/graphicsoverlay and not e.g. vector basemaps? Just noticed "RT_Vector_" and came to think if it could be something with that instead.

 

0 Kudos
ChanganShi1
Regular Contributor

@EirikH  It is just a guess,  RT_Vector is a Vector data structure holding a list of elements.  setElementRemovedCallback indicates that an element being hooked with a removedCallback is being held or invalid access.  What else was on the map view when the crash happened, e.g. a Popup?

0 Kudos
EirikH
by
Occasional Contributor

We are not using anything else than a vector basemap, some layers from a dynamic mapservice, and some grahics (icons) that we draw.

 

Edit: I'll try to try/catch the grapics clear call, and do some logging to see if it happens related to that.

0 Kudos
ChanganShi1
Regular Contributor

Thanks, let us know if you could provide more details to help us debug.

0 Kudos
EirikH
by
Occasional Contributor

Not sure it helps, but we have gotten a few more variants of this. New with this one as far as I can see is the "__shared_weak_count" lines

 

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 21481 >>> com.our.app <<<

backtrace:
  #00  pc 0x0000000001e1b428  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore.so (std::__ndk1::__shared_weak_count::__add_weak()+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #01  pc 0x00000000023b3470  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #02  pc 0x0000000001f8508c  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #03  pc 0x0000000001f84ff8  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #04  pc 0x00000000023b40b4  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #05  pc 0x0000000002395dbc  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #06  pc 0x0000000001e1b458  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore.so (std::__ndk1::__shared_weak_count::__add_weak()+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #07  pc 0x0000000002204d04  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #08  pc 0x0000000002477adc  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #09  pc 0x0000000001e1b458  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore.so (std::__ndk1::__shared_weak_count::__add_weak()+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #10  pc 0x0000000002009360  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #11  pc 0x0000000001e95590  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_SelectionProperties_destroy+40) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #12  pc 0x00000000001eb79c  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/split_config.arm64_v8a.apk!libruntimecore_java.so (Java_com_esri_arcgisruntime_internal_jni_CoreFeatureTable_nativeDestroy+20) (BuildId: fca1a20778839a2d8d084173a5d0466db9a4a1de)
  #13  pc 0x00000000001b6190  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/oat/arm64/base.odex (art_jni_trampoline+112)
  #14  pc 0x00000000005baf1c  /apex/com.android.art/lib64/libart.so (nterp_helper+1948)
  #15  pc 0x00000000003c360a  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/base.apk (com.esri.arcgisruntime.internal.jni.CoreFeatureTable.i+54)
  #16  pc 0x00000000005bb6d4  /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
  #17  pc 0x00000000003c3500  /data/app/~~H37otgv3NBMApEflcwEBSg==/com.our.app--Y8VLwqPQZ5tTuCCyyD2SA==/base.apk (com.esri.arcgisruntime.internal.jni.CoreFeatureTable.finalize+4)
  #18  pc 0x00000000005ea3bc  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.lang.Daemons$FinalizerDaemon.doFinalize+252)
  #19  pc 0x00000000005bb730  /apex/com.android.art/lib64/libart.so (nterp_helper+4016)
  #20  pc 0x000000000002b0c6  /apex/com.android.art/javalib/core-libart.jar (java.lang.Daemons$FinalizerDaemon.processReference+26)
  #21  pc 0x00000000005ea588  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.lang.Daemons$FinalizerDaemon.runInternal+296)
  #22  pc 0x00000000005c09ac  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.lang.Daemons$Daemon.run+156)
  #23  pc 0x000000000041cfd0  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.lang.Thread.run+64)
  #24  pc 0x000000000033eba4  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612)
  #25  pc 0x000000000023a9ac  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+144)
  #26  pc 0x000000000053b96c  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1600)
  #27  pc 0x000000000053b31c  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallbackWithUffdGc(void*)+8)
  #28  pc 0x00000000000be8c8  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
  #29  pc 0x000000000005b3b0  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)

 

 

And this one

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
pid: 0, tid: 16193 >>> com.our.app <<<

backtrace:
  #00  pc 0x00000000036d4794  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #01  pc 0x00000000036d418c  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #02  pc 0x00000000036711b8  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #03  pc 0x000000000365e94c  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #04  pc 0x0000000003677e30  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #05  pc 0x00000000036808d4  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #06  pc 0x000000000365cd14  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #07  pc 0x0000000003662e40  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (__gttf2+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #08  pc 0x0000000002ba9b88  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #09  pc 0x0000000002bac38c  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #10  pc 0x00000000022522b0  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #11  pc 0x000000000225de30  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #12  pc 0x000000000225e4e8  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #13  pc 0x0000000002f5a2b0  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #14  pc 0x0000000002f5a20c  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #15  pc 0x0000000002f5a16c  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Vector_setElementRemovedCallback+16027648) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #16  pc 0x0000000001f02a78  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore.so (RT_Request_handleResponseWithHTTPStatusCode+124) (BuildId: 9fe16338efe06b90fcf7dc21ab722d5d48dd6b72)
  #17  pc 0x0000000000218ac8  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/split_config.arm64_v8a.apk!libruntimecore_java.so (Java_com_esri_arcgisruntime_internal_jni_CoreRequest_nativeHandleResponseWithHTTPStatusCode+148) (BuildId: fca1a20778839a2d8d084173a5d0466db9a4a1de)
  #18  pc 0x00000000001cbe14  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/oat/arm64/base.odex (art_jni_trampoline+164)
  #19  pc 0x00000000002fa500  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/oat/arm64/base.odex (com.esri.arcgisruntime.internal.jni.CoreRequest.a+96)
  #20  pc 0x000000000025af64  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/oat/arm64/base.odex (com.esri.arcgisruntime.internal.io.handler.request.e$a.run+484)
  #21  pc 0x00000000002f556c  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/oat/arm64/base.odex (com.esri.arcgisruntime.internal.concurrent.g.b+316)
  #22  pc 0x000000000024d5c8  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/oat/arm64/base.odex (com.esri.arcgisruntime.internal.concurrent.e.a+376)
  #23  pc 0x00000000002f52ec  /data/app/~~a43jXEw0D39bDFw6Bimuxw==/com.our.app-rAWtFoNOH6aUtEPmAiKPtA==/oat/arm64/base.odex (com.esri.arcgisruntime.internal.concurrent.c.done+60)
  #24  pc 0x000000000051f334  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.FutureTask.finishCompletion+260)
  #25  pc 0x000000000051ffdc  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.FutureTask.set+140)
  #26  pc 0x000000000051fc10  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.FutureTask.run+272)
  #27  pc 0x000000000057ee8c  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor.runWorker+796)
  #28  pc 0x000000000057bfb0  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.util.concurrent.ThreadPoolExecutor$Worker.run+64)
  #29  pc 0x000000000042a608  /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (java.lang.Thread.run+72)
  #30  pc 0x0000000000333fa4  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612)
  #31  pc 0x000000000023e4d4  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+144)
  #32  pc 0x0000000000539a3c  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1600)
  #33  pc 0x00000000000be8c8  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+208)
  #34  pc 0x000000000005b3b0  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)

 

 

 

These are our top crashes so quite annoying.

 

EirikH_0-1709285330096.png

0 Kudos
ChanganShi1
Regular Contributor

Thanks for your report. I see the crash related to a Feature Table. Do you have an operation in your App to remove a feature layer while the feature layer may have some features being selected?  

0 Kudos
EirikH
by
Occasional Contributor

We are not selecting features in a feature table (just querying them and using the geometry), but that is a good tip, will look into that part of the code more.

Typical use:

 

    SimpleLineSymbol symbol = new SimpleLineSymbol(SimpleLineSymbol.Style.SOLID, MapViewTouchListener.highlightSecondaryColor, 7.0f);
    QueryParameters segmentQuery = new QueryParameters();
    segmentQuery.setWhereClause(segmentWhereClause.toString());

    Log.d(TAG, "Fetching from " + serviceFeatureTable.getTableName() + " where " + segmentQuery.getWhereClause());
    try {
      FeatureQueryResult segmentResults = serviceFeatureTable.queryFeaturesAsync(segmentQuery, ServiceFeatureTable.QueryFeatureFields.LOAD_ALL).get();
      for (Feature segmentFeature : segmentResults) {
        Log.d(TAG, "Add graphics for feature " + segmentFeature.getAttributes().get("OBJECTID"));
        Graphic graphic = new Graphic(segmentFeature.getGeometry(), segmentFeature.getAttributes(), symbol);
        Log.d(TAG, "Adding " + layerConfig.relationship.fieldName + " = " + routeID + " to graphic attributes");
        graphic.getAttributes().put(layerConfig.relationship.fieldName, routeID);
        graphic.setVisible(true);
        this.graphicsOverlaySelection.getGraphics().add(graphic);
      }
      return graphicsOverlaySelection.getExtent();
    } catch (ExecutionException | InterruptedException e) {
      e.printStackTrace();
      return null;
    }

 

 

0 Kudos
ChanganShi1
Regular Contributor

Is it possible for the serviceFeaureTable to be garbage collected (GC) due to being out of scope in your application?

0 Kudos