Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Random crashes in native code at app launch #140

Open
matt-msi opened this issue Oct 25, 2021 · 10 comments
Open

Random crashes in native code at app launch #140

matt-msi opened this issue Oct 25, 2021 · 10 comments

Comments

@matt-msi
Copy link

We have seen sometimes where ATAK crashes in the native code and leaves a tombstone shortly after the app was launched. Just wanted to report these and see if you have any thoughts what is causing these tombstone crashes.

Tombstone 1:

ABI: 'arm64'
Timestamp: 2021-09-28 11:27:17-0400
pid: 7391, tid: 7434, name: GLThread 635  >>> com.atakmap.app.civ <<<
uid: 10117
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x6ef16a5aa00c
    x0  0000006f0166956f  x1  0000006ed1741790  x2  0000000000000000  x3  00000000000001dc
    x4  0000000000000001  x5  0000006eb16b3680  x6  000000707164f9c0  x7  0000006e36391040
    x8  0000000000000000  x9  0000000000000001  x10 000000000000001a  x11 0000000000000000
    x12 0000006f716bf1e8  x13 0000006f716bf220  x14 0000006e941bd250  x15 00000070716cda6c
    x16 0000000000000084  x17 0000000000000000  x18 0000000000000000  x19 0000006f0166956f
    x20 0000006ed1741790  x21 00006ef16a5aa000  x22 0000006f716bf218  x23 0000000000000000
    x24 0000006f716bf218  x25 0000006f916677b0  x26 0000000000000000  x27 0000000000000020
    x28 00000070716cda40  x29 0000006e3783e7a0
    lr  0000006e93f54ecc  sp  0000006e3783e770  pc  0000006e93f5b8d8  pst 0000000060000000

backtrace:
      #00 pc 00000000000d38d8  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!8758e587c10c7f827b05c59d613325!8d85fe3!+40) (BuildId: 7394b10b7017fd6866e03201d562d5b7)
      #01 pc 00000000000ccec8  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!890957c4c2deae6e88eb20a2158f8e!8d85fe3!+152) (BuildId: 7394b10b7017fd6866e03201d562d5b7)
      #02 pc 00000000000cca3c  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!5468ec4faecdff9ca829d2b26980a8!8d85fe3!+372) (BuildId: 7394b10b7017fd6866e03201d562d5b7)
      #03 pc 00000000000ccfc4  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!b5eedfb3a584512f78b9dc44aa9054!8d85fe3!+76) (BuildId: 7394b10b7017fd6866e03201d562d5b7)
      #04 pc 00000000001c9bc0  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!9ad867ac26cd2029e4c294da93e490!8d85fe3!+224) (BuildId: 7394b10b7017fd6866e03201d562d5b7)
      #05 pc 00000000003286b4  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!56687c94fae34cc1f565ee6829c76d!8d85fe3!+76) (BuildId: 7394b10b7017fd6866e03201d562d5b7)
      #06 pc 00000000000fcbc0  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!ec782d1b4e410f7025b036ac8cccc6!8d85fe3!+32) (BuildId: 7394b10b7017fd6866e03201d562d5b7)
      #07 pc 00000000001bb53c  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!28f24188499da127c115ae7e78c710!8d85fe3!+404) (BuildId: 7394b10b7017fd6866e03201d562d5b7)
      #08 pc 0000000000143850  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!299f15cbf4aaee70dc8cc8a5583d24!8d85fe3!+2096) (BuildId: 7394b10b7017fd6866e03201d562d5b7)
      #09 pc 00000000002c7a34  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libtakengine.so (offset 0x5b0d000) (TAK::Engine::Renderer::Core::GLGlobe::animate()+3460) (BuildId: 1377c32b3dbb10de79fc4f44b24a6e277859c8ec)
      #10 pc 00000000002cf93c  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libtakengine.so (offset 0x5b0d000) (TAK::Engine::Renderer::Core::GLGlobeBase::prepareScene()+28) (BuildId: 1377c32b3dbb10de79fc4f44b24a6e277859c8ec)
      #11 pc 00000000002c6c2c  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libtakengine.so (offset 0x5b0d000) (TAK::Engine::Renderer::Core::GLGlobe::prepareScene()+12) (BuildId: 1377c32b3dbb10de79fc4f44b24a6e277859c8ec)
      #12 pc 00000000002cad54  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libtakengine.so (offset 0x5b0d000) (TAK::Engine::Renderer::Core::GLGlobeBase::render()+60) (BuildId: 1377c32b3dbb10de79fc4f44b24a6e277859c8ec)
      #13 pc 00000000002c60a4  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libtakengine.so (offset 0x5b0d000) (TAK::Engine::Renderer::Core::GLGlobe::render()+84) (BuildId: 1377c32b3dbb10de79fc4f44b24a6e277859c8ec)
      #14 pc 000000000008bc9c  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libatakjni.so (offset 0x19c0000) (Java_com_atakmap_map_opengl_GLMapView_render+24) (BuildId: e8ea3b7536bc8fc65f4d674fbc1561622a90a2b8)
      #15 pc 000000000013bed4  /apex/com.android.art/lib64/libart.so (art_quick_generic_jni_trampoline+148) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #16 pc 00000000001327e8  /apex/com.android.art/lib64/libart.so (art_quick_invoke_static_stub+568) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #17 pc 0000000000196eb0  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+232) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #18 pc 0000000000301df0  /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #19 pc 00000000002fcf08  /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*)+884) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #20 pc 0000000000632ba8  /apex/com.android.art/lib64/libart.so (MterpInvokeStatic+548) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #21 pc 000000000012c994  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_static+20) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #22 pc 000000000061e206  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk (offset 0x4bf000) (com.atakmap.map.opengl.GLMapView.render+186)
      #23 pc 000000000063005c  /apex/com.android.art/lib64/libart.so (MterpInvokeVirtual+1440) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #24 pc 000000000012c814  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_virtual+20) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #25 pc 00000000006186c8  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk (offset 0x4bf000) (com.atakmap.map.opengl.GLMapRenderer.onDrawFrame+452)
      #26 pc 00000000006319f0  /apex/com.android.art/lib64/libart.so (MterpInvokeInterface+1840) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #27 pc 000000000012ca14  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_interface+20) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #28 pc 0000000000346128  /system/framework/framework.jar (offset 0x920000) (android.opengl.GLSurfaceView$GLThread.guardedRun+1112)
      #29 pc 0000000000632584  /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+1164) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #30 pc 000000000012c914  /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #31 pc 0000000000346720  /system/framework/framework.jar (offset 0x920000) (android.opengl.GLSurfaceView$GLThread.run+48)
      #32 pc 00000000002f48e4  /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.455116323805885647)+268) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #33 pc 000000000061ea34  /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+796) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #34 pc 000000000013bff8  /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #35 pc 0000000000132564  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #36 pc 0000000000196e94  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+204) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #37 pc 0000000000527730  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #38 pc 0000000000528930  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+440) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #39 pc 0000000000575994  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1272) (BuildId: 13deee284389ec0fbb5ab3936b1b1263)
      #40 pc 00000000000b5018  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
      #41 pc 000000000004fb64  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 229c19d159f619ab0dd102acf1afb05f)

Tombstone 2:

ABI: 'arm64'
Timestamp: 2021-10-01 10:27:57-0400
pid: 16175, tid: 16232, name: Thread-96  >>> com.atakmap.app.civ <<<
uid: 10126
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
    x0  0000000000000000  x1  0000000000003f68  x2  0000000000000006  x3  0000006efce5fa80
    x4  00000000000000ff  x5  00000000000000ff  x6  00000000000000ff  x7  0000000000000764
    x8  00000000000000f0  x9  b41aaa1f26b53876  x10 0000000000000000  x11 ffffffc0fffffbdf
    x12 0000000000000001  x13 0000006efce606e0  x14 000000000000001f  x15 000000000000001f
    x16 0000007273cc5c80  x17 0000007273ca62a0  x18 0000006ef7bc4000  x19 0000000000003f2f
    x20 0000000000003f68  x21 00000000ffffffff  x22 000000000000009e  x23 0000006efce5fe10
    x24 000000000000009e  x25 0000006efce60088  x26 0000006efce5fe28  x27 0000006f0ed5f000
    x28 0000000000000000  x29 0000006efce5fb00
    lr  0000007273c55bf8  sp  0000006efce5fa60  pc  0000007273c55c24  pst 0000000000000000

backtrace:
      #00 pc 000000000004dc24  /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
      #01 pc 00000000008f69f8  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libspatialite.so (offset 0x4ea4000) (__gnu_cxx::__verbose_terminate_handler()+236)
      #02 pc 00000000008ace6c  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libspatialite.so (offset 0x4ea4000) (__cxxabiv1::__terminate(void (*)())+8)
      #03 pc 00000000008aced8  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libspatialite.so (offset 0x4ea4000) (std::terminate()+12)
      #04 pc 00000000008ad4d4  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libspatialite.so (offset 0x4ea4000) (__cxa_pure_virtual+28)
      #05 pc 000000000023dfa4  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libtakengine.so (offset 0x5b0e000) (BuildId: 1377c32b3dbb10de79fc4f44b24a6e277859c8ec)
      #06 pc 0000000000251d90  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libtakengine.so (offset 0x5b0e000) (TAK::Engine::Model::Mesh_transform(std::unique_ptr<TAK::Engine::Model::Mesh, void (*)(TAK::Engine::Model::Mesh const*)>&, TAK::Engine::Model::MeshTransformOptions*, TAK::Engine::Model::Mesh const&, TAK::Engine::Model::MeshTransformOptions const&, TAK::Engine::Model::MeshTransformOptions const&, TAK::Engine::Util::ProcessingCallback*)+3664) (BuildId: 1377c32b3dbb10de79fc4f44b24a6e277859c8ec)
      #07 pc 00000000002fc5e8  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libtakengine.so (offset 0x5b0e000) (BuildId: 1377c32b3dbb10de79fc4f44b24a6e277859c8ec)
      #08 pc 00000000002fd408  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libtakengine.so (offset 0x5b0e000) (TAK::Engine::Renderer::Elevation::ElMgrTerrainRenderService::fetchWorkerThread(void*)+1536) (BuildId: 1377c32b3dbb10de79fc4f44b24a6e277859c8ec)
      #09 pc 0000000000332e8c  /system/product/priv-app/rn_debug_Atak_Core/rn_debug_Atak_Core.apk!libtakengine.so (offset 0x5b0e000) (BuildId: 1377c32b3dbb10de79fc4f44b24a6e277859c8ec)
      #10 pc 00000000000b5018  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
      #11 pc 000000000004fb64  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
@takdeveloper
Copy link
Collaborator

@matt-msi Thanks for providing the tombstone, we will add to our internal issue tracking database. Are you reproducing this issue with any consistency?

@matt-msi
Copy link
Author

No it's inconsistent and usually goes away the second time the app is launched.

@takdeveloper
Copy link
Collaborator

@matt-msi The word I got from the ATAK lead (who has seen this before) is that it can result when an ANR occurs due to ATAK getting hung on the UI thread too long during startup. We do not currently have an ETA on a fix.

@matt-msi
Copy link
Author

matt-msi commented Apr 14, 2022

We saw a new one of these recently, the backtrace below happened during map component loading at startup, the application froze and eventually ANRed. The reproduceability rate is fairly low (< 5%), just noting it here for awareness.

"main" prio=10 tid=1 Waiting
  | group="" sCount=1 dsCount=0 flags=1 obj=0x71f23180 self=0xb40000705a1267b0
  | sysTid=8446 nice=-10 cgrp=default sched=0/0 handle=0x71e0efa4f8
  | state=S schedstat=( 6994402797 497873823 3753 ) utm=591 stm=107 core=1 HZ=100
  | stack=0x7fe4af6000-0x7fe4af8000 stackSize=8192KB
  | held mutexes=
  native: #00 pc 000000000004abcc  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
  native: #01 pc 000000000019dd34  /apex/com.android.art/lib64/libart.so (art::ConditionVariable::WaitHoldingLocks(art::Thread*)+148)
  native: #02 pc 0000000000473b7c  /apex/com.android.art/lib64/libart.so (art::Monitor::Wait(art::Thread*, long, int, bool, art::ThreadState)+544)
  native: #03 pc 0000000000475480  /apex/com.android.art/lib64/libart.so (art::Monitor::Wait(art::Thread*, art::ObjPtr<art::mirror::Object>, long, int, bool, art::ThreadState)+280)
  at java.lang.Object.wait(Native method)
  - waiting on <0x00b2cf81> (a android.opengl.GLSurfaceView$GLThreadManager)
  at java.lang.Object.wait(Object.java:442)
  at java.lang.Object.wait(Object.java:568)
  at android.opengl.GLSurfaceView$GLThread.onWindowResize(GLSurfaceView.java:1785)
  - locked <0x00b2cf81> (a android.opengl.GLSurfaceView$GLThreadManager)
  at android.opengl.GLSurfaceView.surfaceChanged(GLSurfaceView.java:542)
  at android.view.SurfaceView.updateSurface(SurfaceView.java:1185)
  at android.view.SurfaceView.setFrame(SurfaceView.java:561)
  at android.view.View.layout(View.java:22845)
  at com.atakmap.map.AtakMapView.onLayout(AtakMapView.java:914)

@matt-msi
Copy link
Author

Another symptom of the application going to black screen and ANRing is we sometimes see SurfaceFlinger buffer reject errors in the logs. Any idea why the height of the surface view buffer would be 75 pixels shorter than the front display height?

04-05 07:54:54.124 E/SurfaceFlinger( 779): [SurfaceView - com.atakmap.app.civ/com.atakmap.app.ATAKActivity#0] rejecting buffer: bufWidth=480, bufHeight=725, front.active_legacy.{w=480, h=800}

04-05 07:54:54.322 E/SurfaceFlinger( 779): [SurfaceView - com.atakmap.app.civ/com.atakmap.app.ATAKActivity#0] rejecting buffer: bufWidth=480, bufHeight=725, front.active_legacy.{w=480, h=800}

@matt-msi
Copy link
Author

This is the ANR on startup on my cheap $100 tablet from Best Buy. Happens 100% of the time after I launch ATAK.

atak anr on startup

@matt-msi
Copy link
Author

matt-msi commented Apr 5, 2023

Adding a couple of other tombstones seen recently using 4.5.1.13.

Tombstone 1:

The tester said they turned on night mode before launching ATAK. One time occurrence. From the backtrace the crash appears to be a segmentation fault in the GDAL library.

04-04 06:05:10.219 F/DEBUG ( 7609): ABI: 'arm64'
04-04 06:05:10.219 F/DEBUG ( 7609): Timestamp: 2023-04-04 06:05:10+0000
04-04 06:05:10.219 F/DEBUG ( 7609): pid: 7377, tid: 7517, name: Imagery >>> com.atakmap.app.civ <<<
04-04 06:05:10.219 F/DEBUG ( 7609): uid: 10124
04-04 06:05:10.219 F/DEBUG ( 7609): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x5f03c0f9000c1b
04-04 06:05:10.220 F/DEBUG ( 7609): x0 d65f03c0f9000c03 x1 d65f03c0f9000c03 x2 0000006d576b9b98 x3 0000000000000118
04-04 06:05:10.220 F/DEBUG ( 7609): x4 0000000000000010 x5 0000000000000000 x6 0000000000000000 x7 0000006e216da4a0
04-04 06:05:10.220 F/DEBUG ( 7609): x8 0000000000000001 x9 0000006db4212370 x10 0000000000000001 x11 d2e400000011810c
04-04 06:05:10.220 F/DEBUG ( 7609): x12 0000000000000000 x13 0000000000000000 x14 b400006e518ce450 x15 0000000000000000
04-04 06:05:10.220 F/DEBUG ( 7609): x16 0000006db49fdcd8 x17 00000071137c0b58 x18 0000006d4e040000 x19 0000006db4a00000
04-04 06:05:10.220 F/DEBUG ( 7609): x20 b400006e618b5538 x21 b400006e618b5538 x22 0000006db4a00000 x23 0000006db4a02000
04-04 06:05:10.220 F/DEBUG ( 7609): x24 0000006d576b9b50 x25 0000007113849b98 x26 0000006d576b9ff8 x27 0000006d578ce000
04-04 06:05:10.220 F/DEBUG ( 7609): x28 0000006d575b5000 x29 0000006d576b9ad0
04-04 06:05:10.220 F/DEBUG ( 7609): lr 0000006db36c8814 sp 0000006d576b9ad0 pc 0000006db36c8288 pst 0000000060000000
04-04 06:05:10.227 F/DEBUG ( 7609): backtrace:
04-04 06:05:10.227 F/DEBUG ( 7609): #00 pc 0000000000ab2288 /system/product/priv-app/rn_release_Atak_Core/rn_release_Atak_Core.apk!libgdal.so (offset 0x29ce000)
04-04 06:05:10.227 F/DEBUG ( 7609): #1 pc 0000000000ab2810 /system/product/priv-app/rn_release_Atak_Core/rn_release_Atak_Core.apk!libgdal.so (offset 0x29ce000)
04-04 06:05:10.227 F/DEBUG ( 7609): #2 pc 00000000015fc38c /system/product/priv-app/rn_release_Atak_Core/rn_release_Atak_Core.apk!libgdal.so (offset 0x29ce000)
04-04 06:05:10.227 F/DEBUG ( 7609): #3 pc 00000000000b5718 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_key_clean_all()+148) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
04-04 06:05:10.227 F/DEBUG ( 7609): #4 pc 00000000000b5140 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_exit+72) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
04-04 06:05:10.227 F/DEBUG ( 7609): #5 pc 00000000000b501c /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+68) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
04-04 06:05:10.227 F/DEBUG ( 7609): #6 pc 000000000004fb64 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 229c19d159f619ab0dd102acf1afb05f)

Tombstone 2:

Tester said that ATAK had been left running on the device for a few hours before the tombstone. SCUDO error. Also a one time occurrence.

03-13 16:20:24.125 F/DEBUG ( 6780): ABI: 'arm64'
03-13 16:20:24.125 F/DEBUG ( 6780): Timestamp: 2023-03-13 16:20:24+0800
03-13 16:20:24.125 F/DEBUG ( 6780): pid: 6476, tid: 6490, name: FinalizerDaemon >>> com.atakmap.app.civ <<<
03-13 16:20:24.125 F/DEBUG ( 6780): uid: 10128
03-13 16:20:24.125 F/DEBUG ( 6780): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
03-13 16:20:24.126 F/DEBUG ( 6780): Abort message: 'Scudo ERROR: misaligned pointer when deallocating address 0x0076a3380634
03-13 16:20:24.126 F/DEBUG ( 6780): '
03-13 16:20:24.126 F/DEBUG ( 6780): x0 0000000000000000 x1 000000000000195a x2 0000000000000006 x3 00000076355b0e00
03-13 16:20:24.126 F/DEBUG ( 6780): x4 0080808080808080 x5 0080808080808080 x6 0080808080808080 x7 0000000000000010
03-13 16:20:24.126 F/DEBUG ( 6780): x8 00000000000000f0 x9 0edd4ee2d28fc176 x10 0000000000000000 x11 ffffffc0fffffbdf
03-13 16:20:24.126 F/DEBUG ( 6780): x12 0000000000000001 x13 0000000000000030 x14 0000000000000034 x15 0000000000000030
03-13 16:20:24.126 F/DEBUG ( 6780): x16 0000007984d48c80 x17 0000007984d292a0 x18 0000007633dd0000 x19 000000000000194c
03-13 16:20:24.126 F/DEBUG ( 6780): x20 000000000000195a x21 00000000ffffffff x22 00000076a3380634 x23 b4000076a3381f78
03-13 16:20:24.126 F/DEBUG ( 6780): x24 000000006f583948 x25 00000076355b2000 x26 0000000000001c2d x27 0000000000000004
03-13 16:20:24.126 F/DEBUG ( 6780): x28 0000000000000003 x29 00000076355b0e80
03-13 16:20:24.126 F/DEBUG ( 6780): lr 0000007984cd8bf8 sp 00000076355b0de0 pc 0000007984cd8c24 pst 0000000000000000
03-13 16:20:24.404 F/DEBUG ( 6780): backtrace:
03-13 16:20:24.405 F/DEBUG ( 6780): #00 pc 000000000004dc24 /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
03-13 16:20:24.405 F/DEBUG ( 6780): #1 pc 0000000000041b00 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::die()+8) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
03-13 16:20:24.405 F/DEBUG ( 6780): #2 pc 000000000004218c /apex/com.android.runtime/lib64/bionic/libc.so (scudo::ScopedErrorReport::~ScopedErrorReport()+32) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
03-13 16:20:24.405 F/DEBUG ( 6780): #3 pc 000000000004243c /apex/com.android.runtime/lib64/bionic/libc.so (scudo::reportMisalignedPointer(scudo::AllocatorAction, void*)+76) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
03-13 16:20:24.405 F/DEBUG ( 6780): #4 pc 0000000000043888 /apex/com.android.runtime/lib64/bionic/libc.so (scudo::Allocator<scudo::AndroidConfig, &(scudo_malloc_postinit)>::deallocate(void*, scudo::Chunk::Origin, unsigned long, unsigned long)+324) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
03-13 16:20:24.405 F/DEBUG ( 6780): #5 pc 00000000000348d0 /apex/com.android.art/lib64/libjavacore.so (ParsingContext::~ParsingContext()+164) (BuildId: c28c7daf7534cc68774f72dae060baa6)
03-13 16:20:24.405 F/DEBUG ( 6780): #6 pc 0000000000033240 /apex/com.android.art/lib64/libjavacore.so (ExpatParser_release(_JNIEnv*, _jobject*, long)+32) (BuildId: c28c7daf7534cc68774f72dae060baa6)
03-13 16:20:24.405 F/DEBUG ( 6780): #7 pc 0000000000012bd4 /apex/com.android.art/javalib/arm64/boot-core-libart.oat (art_jni_trampoline+132) (BuildId: c8106b80f6e67ea4822dc452d65c2f465782d141)
03-13 16:20:24.405 F/DEBUG ( 6780): #8 pc 0000000000132564 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #9 pc 0000000000196e94 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+204) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #10 pc 0000000000301df0 /apex/com.android.art/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+376) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #11 pc 00000000002fcf08 /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*)+884) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #12 pc 000000000063232c /apex/com.android.art/lib64/libart.so (MterpInvokeDirect+592) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #13 pc 000000000012c914 /apex/com.android.art/lib64/libart.so (mterp_op_invoke_direct+20) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #14 pc 000000000004ff6e /apex/com.android.art/javalib/core-libart.jar (org.apache.harmony.xml.ExpatParser.finalize+22)
03-13 16:20:24.405 F/DEBUG ( 6780): #15 pc 00000000002f48e4 /apex/com.android.art/lib64/libart.so (art::interpreter::Execute(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame&, art::JValue, bool, bool) (.llvm.455116323805885647)+268) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #16 pc 000000000061ea18 /apex/com.android.art/lib64/libart.so (artQuickToInterpreterBridge+796) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #17 pc 000000000013bff8 /apex/com.android.art/lib64/libart.so (art_quick_to_interpreter_bridge+88) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #18 pc 0000000000057fb4 /apex/com.android.art/javalib/arm64/boot-core-libart.oat (java.lang.Daemons$FinalizerDaemon.doFinalize+100) (BuildId: c8106b80f6e67ea4822dc452d65c2f465782d141)
03-13 16:20:24.405 F/DEBUG ( 6780): #19 pc 000000000005821c /apex/com.android.art/javalib/arm64/boot-core-libart.oat (java.lang.Daemons$FinalizerDaemon.runInternal+492) (BuildId: c8106b80f6e67ea4822dc452d65c2f465782d141)
03-13 16:20:24.405 F/DEBUG ( 6780): #20 pc 0000000000024b90 /apex/com.android.art/javalib/arm64/boot-core-libart.oat (java.lang.Daemons$Daemon.run+160) (BuildId: c8106b80f6e67ea4822dc452d65c2f465782d141)
03-13 16:20:24.405 F/DEBUG ( 6780): #21 pc 000000000015ab38 /apex/com.android.art/javalib/arm64/boot.oat (java.lang.Thread.run+72) (BuildId: bb421787b7af3cd9cce8e43197e1180f979a5b5d)
03-13 16:20:24.405 F/DEBUG ( 6780): #22 pc 0000000000132564 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #23 pc 0000000000196e94 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+204) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #24 pc 0000000000527730 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #25 pc 0000000000528930 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValuesart::ArtMethod*(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+440) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #26 pc 0000000000575994 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1272) (BuildId: 3c5f226b8e358965fac8310f4618f9ad)
03-13 16:20:24.405 F/DEBUG ( 6780): #27 pc 00000000000b5018 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64) (BuildId: 229c19d159f619ab0dd102acf1afb05f)
03-13 16:20:24.405 F/DEBUG ( 6780): #28 pc 000000000004fb64 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 229c19d159f619ab0dd102acf1afb05f)

@matt-msi
Copy link
Author

matt-msi commented May 8, 2023

Here's an interesting one. One of our testers reported seeing an ANR at launch, in the backtrace it shows the main thread and GL thread are deadlocked waiting on each other (one time occurrence). Maybe worth revisiting the synchronization model and whether both locks are necessary?

Main Thread:

"main" prio=5 tid=1 Blocked
| group="main" sCount=1 dsCount=0 flags=1 obj=0x718e31a8 self=0xb400006eb511cbe0
| sysTid=7165 nice=-10 cgrp=default sched=0/0 handle=0x703bedc4f8
| state=S schedstat=( 2551882071 114319215 1550 ) utm=192 stm=62 core=7 HZ=100
| stack=0x7fe33ad000-0x7fe33af000 stackSize=8192KB
| held mutexes=
at gov.tak.platform.utils.ServiceProviderRegistryBase.create(ServiceProviderRegistryBase.java:-1)

  • waiting to lock <0x0214b56a> (a gov.tak.platform.utils.PriorityServiceProviderRegistry) held by thread 27
    at gov.tak.platform.utils.ServiceProviderRegistryBase.create(ServiceProviderRegistryBase.java:34)
    at gov.tak.platform.utils.PriorityServiceProviderRegistry.create(PriorityServiceProviderRegistry.java:16)
    at gov.tak.platform.widgets.opengl.GLWidgetFactory.create(GLWidgetFactory.java:24)
    at gov.tak.platform.widgets.opengl.GLAbstractParentWidget.onWidgetAdded(GLAbstractParentWidget.java:73)
    at com.atakmap.android.widgets.AbstractParentWidget.onWidgetAdded(AbstractParentWidget.java:384)
    at com.atakmap.android.widgets.AbstractParentWidget.onWidgetAdded(AbstractParentWidget.java:375)
    at com.atakmap.android.widgets.LinearLayoutWidget.onWidgetAdded(LinearLayoutWidget.java:125)
    at com.atakmap.android.widgets.AbstractParentWidget.addChildWidgetAt(AbstractParentWidget.java:159)
  • locked <0x0c13ba5b> (a gov.tak.platform.widgets.WidgetList)
    at com.atakmap.android.widgets.AbstractParentWidget.addWidgetAt(AbstractParentWidget.java:167)
    at com.atakmap.android.navigation.widgets.NavWidgetsMapComponent.onCreate(NavWidgetsMapComponent.java:81)
    at com.atakmap.android.maps.MapActivity.registerMapComponent(MapActivity.java:279)
  • locked <0x049042f8> (a java.lang.Object)
    at com.atakmap.android.maps.MapComponentLoader.loadMapComponents(MapComponentLoader.java:256)
    at com.atakmap.android.maps.MapActivity.loadAssets(MapActivity.java:361)
    at com.atakmap.app.ATAKActivity.access$000(ATAKActivity.java:148)
    at com.atakmap.app.ATAKActivity$9.run(ATAKActivity.java:836)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:223)
    at android.app.ActivityThread.main(ActivityThread.java:7725)
    at java.lang.reflect.Method.invoke(Native method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:952)

GL Thread:

"GLThread 642" prio=5 tid=27 Blocked
| group="main" sCount=1 dsCount=0 flags=1 obj=0x13280398 self=0xb400006eb5148330
| sysTid=7214 nice=0 cgrp=default sched=0/0 handle=0x6cc227ecc0
| state=S schedstat=( 154704332 25198432 115 ) utm=11 stm=3 core=5 HZ=100
| stack=0x6cc217b000-0x6cc217d000 stackSize=1043KB
| held mutexes=
at com.atakmap.android.widgets.AbstractParentWidget.getChildren(AbstractParentWidget.java:131)

  • waiting to lock <0x0c13ba5b> (a gov.tak.platform.widgets.WidgetList) held by thread 1
    at com.atakmap.android.widgets.RootLayoutWidget.getChildrenSize(RootLayoutWidget.java:595)
    at com.atakmap.android.widgets.RootLayoutWidget.getChildrenBounds(RootLayoutWidget.java:625)
    at com.atakmap.android.widgets.RootLayoutWidget.onWidgetSizeChanged(RootLayoutWidget.java:337)
    at com.atakmap.android.widgets.RootLayoutWidget.onWidgetSizeChanged(RootLayoutWidget.java:448)
    at com.atakmap.android.widgets.MapWidget2$SizeChangedForwarder.onWidgetSizeChanged(MapWidget2.java:108)
    at com.atakmap.android.widgets.MapWidget.onSizeChanged(MapWidget.java:678)
    at com.atakmap.android.widgets.MapWidget2.onSizeChanged(MapWidget2.java:73)
    at com.atakmap.android.widgets.MapWidget.setSize(MapWidget.java:565)
    at com.atakmap.android.widgets.LinearLayoutWidget.recalcSize(LinearLayoutWidget.java:311)
    at com.atakmap.android.widgets.LinearLayoutWidget.onWidgetSizeChanged(LinearLayoutWidget.java:146)
    at com.atakmap.android.widgets.MapWidget2$SizeChangedForwarder.onWidgetSizeChanged(MapWidget2.java:108)
    at com.atakmap.android.widgets.MapWidget.onSizeChanged(MapWidget.java:678)
    at com.atakmap.android.widgets.MapWidget2.onSizeChanged(MapWidget2.java:73)
    at com.atakmap.android.widgets.MapWidget.setSize(MapWidget.java:565)
    at gov.tak.platform.widgets.opengl.GLScaleWidget.update(GLScaleWidget.java:235)
    at gov.tak.platform.widgets.opengl.GLScaleWidget.-$$Nest$mupdate(GLScaleWidget.java:-1)
    at gov.tak.platform.widgets.opengl.GLScaleWidget$2.run(GLScaleWidget.java:184)
    at gov.tak.platform.widgets.opengl.GLWidget.runOrQueueEvent(GLWidget.java:185)
    at gov.tak.platform.widgets.opengl.GLScaleWidget.onDisplayChanged(GLScaleWidget.java:176)
    at gov.tak.platform.widgets.opengl.GLScaleWidget.start(GLScaleWidget.java:82)
    at gov.tak.platform.widgets.opengl.GLAbstractParentWidget.onWidgetAdded(GLAbstractParentWidget.java:80)
    at gov.tak.platform.widgets.opengl.GLAbstractParentWidget.(GLAbstractParentWidget.java:30)
    at gov.tak.platform.widgets.opengl.GLLayoutWidget.(GLLayoutWidget.java:43)
    at gov.tak.platform.widgets.opengl.GLLinearLayoutWidget.(GLLinearLayoutWidget.java:43)
    at gov.tak.platform.widgets.opengl.GLLinearLayoutWidget$1.create(GLLinearLayoutWidget.java:29)
    at gov.tak.platform.widgets.opengl.GLLinearLayoutWidget$1.create(GLLinearLayoutWidget.java:19)
    at gov.tak.platform.widgets.opengl.GLWidgetFactory$SpiImpl.create(GLWidgetFactory.java:68)
    at gov.tak.platform.widgets.opengl.GLWidgetFactory$SpiImpl.create(GLWidgetFactory.java:58)
    at gov.tak.platform.utils.ServiceProviderRegistryBase$DefaultCreate.create(ServiceProviderRegistryBase.java:213)
    at gov.tak.platform.utils.ServiceProviderRegistryBase.createNoSync(ServiceProviderRegistryBase.java:47)
    at gov.tak.platform.utils.ServiceProviderRegistryBase.create(ServiceProviderRegistryBase.java:41)
  • locked <0x0214b56a> (a gov.tak.platform.utils.PriorityServiceProviderRegistry)
    at gov.tak.platform.utils.ServiceProviderRegistryBase.create(ServiceProviderRegistryBase.java:34)
    at gov.tak.platform.utils.PriorityServiceProviderRegistry.create(PriorityServiceProviderRegistry.java:16)
    at gov.tak.platform.widgets.opengl.GLWidgetFactory.create(GLWidgetFactory.java:24)
    at gov.tak.platform.widgets.opengl.GLAbstractParentWidget.onWidgetAdded(GLAbstractParentWidget.java:73)
    at gov.tak.platform.widgets.opengl.GLAbstractParentWidget.(GLAbstractParentWidget.java:30)
    at gov.tak.platform.widgets.opengl.GLLayoutWidget.(GLLayoutWidget.java:43)
    at com.atakmap.android.maps.graphics.widgets.GLWidgetsLayer.draw(GLWidgetsLayer.java:90)
    at com.atakmap.map.layer.opengl.GLMultiLayer.drawImpl(GLMultiLayer.java:91)
    at com.atakmap.map.layer.opengl.GLAbstractLayer2.draw(GLAbstractLayer2.java:56)
    at com.atakmap.map.layer.opengl.GLProxyLayer.drawImpl(GLProxyLayer.java:128)
    at com.atakmap.map.layer.opengl.GLAbstractLayer2.draw(GLAbstractLayer2.java:56)
    at com.atakmap.map.layer.opengl.GLMultiLayer.drawImpl(GLMultiLayer.java:91)
    at com.atakmap.map.layer.opengl.GLAbstractLayer2.draw(GLAbstractLayer2.java:56)
    at com.atakmap.map.opengl.GLMapView.render(Native method)
    at com.atakmap.map.opengl.GLMapView.render(GLMapView.java:1479)
    at com.atakmap.map.opengl.GLMapRenderer.onDrawFrame(GLMapRenderer.java:96)
    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1577)
    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1272)

@krish0902
Copy link

Adding a few tombstone crashes in native code seen in ATAK 4.5.1.13
The below tombstones are reported when adding markers on the map from point droppers tool. All the below tombstones are one time occurrence's. Just wanted to report these and see if you have any thoughts what is causing these tombstone crashes.

Tombstone 1:

W/libc    ( 9000): malloc(4617650263914989605) failed: returning null pointer
F/Vector  ( 9000): Assertion failed: editable == nullptr
F/atakmap.app.civ( 9000): runtime.cc:675] Runtime aborting...
F/atakmap.app.civ( 9000): runtime.cc:675] Dumping all threads without mutator lock held
F/atakmap.app.civ( 9000): runtime.cc:675] All threads:
F/atakmap.app.civ( 9000): runtime.cc:675] DALVIK THREADS (115):
F/atakmap.app.civ( 9000): runtime.cc:675] "GLThread 44" prio=5 tid=29 Runnable
F/atakmap.app.civ( 9000): runtime.cc:675]   | group="" sCount=0 ucsCount=0 flags=0 obj=0x15c82050 self=0xb40000777361fdf0
F/atakmap.app.civ( 9000): runtime.cc:675]   | sysTid=9045 nice=0 cgrp=default sched=0/0 handle=0x755863fcb0
F/atakmap.app.civ( 9000): runtime.cc:675]   | state=R schedstat=( 13055833617 753443852 3948 ) utm=1166 stm=138 core=2 HZ=100
F/atakmap.app.civ( 9000): runtime.cc:675]   | stack=0x755853c000-0x755853e000 stackSize=1039KB
F/atakmap.app.civ( 9000): runtime.cc:675]   | held mutexes= "abort lock" "mutator lock"(shared held)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #00 pc 0000000000552440  /apex/com.android.art/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+148) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
 F/atakmap.app.civ( 9000): runtime.cc:675]   native: #01 pc 0000000000650244  /apex/com.android.art/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool, BacktraceMap*, bool) const+340) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #02 pc 000000000066d1f0  /apex/com.android.art/lib64/libart.so (art::DumpCheckpoint::Run(art::Thread*)+908) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #03 pc 0000000000667164  /apex/com.android.art/lib64/libart.so (art::ThreadList::RunCheckpoint(art::Closure*, art::Closure*)+504) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #04 pc 0000000000666444  /apex/com.android.art/lib64/libart.so (art::ThreadList::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, bool)+1812) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #05 pc 000000000061d0d8  /apex/com.android.art/lib64/libart.so (art::AbortState::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+212) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #06 pc 00000000006080c4  /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+1540) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #07 pc 0000000000015fb4  /system/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+80) (BuildId: 31166325363ab476136b89b293190aeb)
 F/atakmap.app.civ( 9000): runtime.cc:675]   native: #08 pc 0000000000006db4  /system/lib64/liblog.so (__android_log_assert+308) (BuildId: 5488f16fc6bc596c9c456618d787d07e)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #09 pc 0000000000014554  /system/lib64/libutils.so (android::VectorImpl::editArrayImpl()+256) (BuildId: 70edc0c6beb70d4bce5cdeb3927c070b)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #10 pc 0000000000014848  /system/lib64/libutils.so (android::VectorImpl::_grow(unsigned long, unsigned long)+184) (BuildId: 70edc0c6beb70d4bce5cdeb3927c070b)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #11 pc 0000000000014bfc  /system/lib64/libutils.so (android::VectorImpl::insertAt(void const*, unsigned long, unsigned long)+60) (BuildId: 70edc0c6beb70d4bce5cdeb3927c070b)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #12 pc 0000000000091b88  /system/lib64/libgui.so (android::BufferQueueProducer::queueBuffer(int, android::IGraphicBufferProducer::QueueBufferInput const&, android::IGraphicBufferProducer::QueueBufferOutput*)+2504) (BuildId: ca78b2f77d47edca02b6beb6a2407e9e)
 F/atakmap.app.civ( 9000): runtime.cc:675]   native: #13 pc 00000000000f6d58  /system/lib64/libgui.so (android::Surface::queueBuffer(ANativeWindowBuffer*, int)+588) (BuildId: ca78b2f77d47edca02b6beb6a2407e9e)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #14 pc 000000000000eeac  /vendor/lib64/egl/eglSubDriverAndroid.so (???) (BuildId: de3ccda673076ddb9cc433d3332071e0)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #15 pc 000000000024ffcc  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!10f39af3d5dda97a64124dee6a3783!21a3b49c19!+268) (BuildId: c54293c0eecafb8c996b2fcdcde307f7)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #16 pc 000000000023a0b0  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!04fe7c7713a0660472688458ecb7a2!21a3b49c19!+144) (BuildId: c54293c0eecafb8c996b2fcdcde307f7)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #17 pc 00000000000206c8  /system/lib64/libEGL.so (android::eglSwapBuffersWithDamageKHRImpl(void*, void*, int*, int)+500) (BuildId: d9ccf6c0fc2c34c19f305811d02ce1c9)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #18 pc 000000000001d134  /system/lib64/libEGL.so (eglSwapBuffers+52) (BuildId: d9ccf6c0fc2c34c19f305811d02ce1c9)
F/atakmap.app.civ( 9000): runtime.cc:675]   native: #19 pc 00000000000cd9cc  /system/lib64/libandroid_runtime.so (android::jni_eglSwapBuffers(_JNIEnv*, _jobject*, _jobject*, _jobject*)+104) (BuildId: dfaec437f5213565af57f930fd1a18b0)
 F/atakmap.app.civ( 9000): runtime.cc:675]   at com.google.android.gles_jni.EGLImpl.eglSwapBuffers(Native method)
 F/atakmap.app.civ( 9000): runtime.cc:675]   at android.opengl.GLSurfaceView$EglHelper.swap(GLSurfaceView.java:1170)
F/atakmap.app.civ( 9000): runtime.cc:675]   at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1587)
F/atakmap.app.civ( 9000): runtime.cc:675]   at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1272)

 F/DEBUG   ( 9331): ABI: 'arm64'
 F/DEBUG   ( 9331): Process uptime: 50s
 F/DEBUG   ( 9331): Cmdline: com.atakmap.app.civ
 F/DEBUG   ( 9331): pid: 9000, tid: 9045, name: GLThread 44  >>> com.atakmap.app.civ <<<
 F/DEBUG   ( 9331): uid: 10131
 F/DEBUG   ( 9331): signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
 F/DEBUG   ( 9331): Abort message: 'Assertion failed: editable == nullptr'
 F/DEBUG   ( 9331):     x0  0000000000000000  x1  0000000000002355  x2  0000000000000006  x3  000000755863e410
 F/DEBUG   ( 9331):     x4  626f1f3431221f39  x5  626f1f3431221f39  x6  626f1f3431221f39  x7  7f7f7f7f7f7f7f7f
 F/DEBUG   ( 9331):     x8  00000000000000f0  x9  0000007917b95ae0  x10 0000000000000001  x11 0000007917bd4ab0
 F/DEBUG   ( 9331):     x12 000000000000637c  x13 00000000000006c4  x14 000000755863d200  x15 0000000000000000
 F/DEBUG   ( 9331):     x16 0000007917c3cd58  x17 0000007917c18f40  x18 00000075755abc50  x19 0000000000002328
 F/DEBUG   ( 9331):     x20 0000000000002355  x21 00000000ffffffff  x22 0000000000000001  x23 0000000000000001
 F/DEBUG   ( 9331):     x24 0000007600416000  x25 b4000076635fa6a8  x26 000000755863ecc8  x27 0000000000000001
 F/DEBUG   ( 9331):     x28 0000000000000000  x29 000000755863e490
 F/DEBUG   ( 9331):     lr  0000007917bc6268  sp  000000755863e3f0  pc  0000007917bc6294  pst 0000000000000000
 F/DEBUG   ( 9331): backtrace:
 F/DEBUG   ( 9331):       #00 pc 0000000000052294  /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
 F/DEBUG   ( 9331):       #01 pc 0000000000608080  /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+1472) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
 F/DEBUG   ( 9331):       #02 pc 0000000000015fb4  /system/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+80) (BuildId: 31166325363ab476136b89b293190aeb)
 F/DEBUG   ( 9331):       #03 pc 0000000000006db4  /system/lib64/liblog.so (__android_log_assert+308) (BuildId: 5488f16fc6bc596c9c456618d787d07e)
 F/DEBUG   ( 9331):       #04 pc 0000000000014554  /system/lib64/libutils.so (android::VectorImpl::editArrayImpl()+256) (BuildId: 70edc0c6beb70d4bce5cdeb3927c070b)
 F/DEBUG   ( 9331):       #05 pc 0000000000014848  /system/lib64/libutils.so (android::VectorImpl::_grow(unsigned long, unsigned long)+184) (BuildId: 70edc0c6beb70d4bce5cdeb3927c070b)
 F/DEBUG   ( 9331):       #06 pc 0000000000014bfc  /system/lib64/libutils.so (android::VectorImpl::insertAt(void const*, unsigned long, unsigned long)+60) (BuildId: 70edc0c6beb70d4bce5cdeb3927c070b)
 F/DEBUG   ( 9331):       #07 pc 0000000000091b88  /system/lib64/libgui.so (android::BufferQueueProducer::queueBuffer(int, android::IGraphicBufferProducer::QueueBufferInput const&, android::IGraphicBufferProducer::QueueBufferOutput*)+2504) (BuildId: ca78b2f77d47edca02b6beb6a2407e9e)
 F/DEBUG   ( 9331):       #08 pc 00000000000f6d58  /system/lib64/libgui.so (android::Surface::queueBuffer(ANativeWindowBuffer*, int)+588) (BuildId: ca78b2f77d47edca02b6beb6a2407e9e)
 F/DEBUG   ( 9331):       #09 pc 000000000000eeac  /vendor/lib64/egl/eglSubDriverAndroid.so (BuildId: de3ccda673076ddb9cc433d3332071e0)
 F/DEBUG   ( 9331):       #10 pc 000000000024ffcc  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!10f39af3d5dda97a64124dee6a3783!21a3b49c19!+268) (BuildId: c54293c0eecafb8c996b2fcdcde307f7)
 F/DEBUG   ( 9331):       #11 pc 000000000023a0b0  /vendor/lib64/egl/libGLESv2_adreno.so (!!!0000!04fe7c7713a0660472688458ecb7a2!21a3b49c19!+144) (BuildId: c54293c0eecafb8c996b2fcdcde307f7)
 F/DEBUG   ( 9331):       #12 pc 00000000000206c8  /system/lib64/libEGL.so (android::eglSwapBuffersWithDamageKHRImpl(void*, void*, int*, int)+500) (BuildId: d9ccf6c0fc2c34c19f305811d02ce1c9)
 F/DEBUG   ( 9331):       #13 pc 000000000001d134  /system/lib64/libEGL.so (eglSwapBuffers+52) (BuildId: d9ccf6c0fc2c34c19f305811d02ce1c9)
 F/DEBUG   ( 9331):       #14 pc 00000000000cd9cc  /system/lib64/libandroid_runtime.so (android::jni_eglSwapBuffers(_JNIEnv*, _jobject*, _jobject*, _jobject*)+104) (BuildId: dfaec437f5213565af57f930fd1a18b0)
 F/DEBUG   ( 9331):       #15 pc 00000000001b80e0  /system/framework/arm64/boot-framework.oat (art_jni_trampoline+144) (BuildId: ad87b3cd20036c3fea41b228f6ac6dc3295f9516)
 F/DEBUG   ( 9331):       #16 pc 000000000020b0d4  /apex/com.android.art/lib64/libart.so (nterp_helper+7636) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
 F/DEBUG   ( 9331):       #17 pc 00000000004a1d8c  /system/framework/framework.jar (android.opengl.GLSurfaceView$EglHelper.swap+12)
 F/DEBUG   ( 9331):       #18 pc 000000000204e080  /memfd:jit-cache (deleted) (offset 0x2000000) (android.opengl.GLSurfaceView$GLThread.guardedRun+3808)
 F/DEBUG   ( 9331):       #19 pc 000000000020a254  /apex/com.android.art/lib64/libart.so (nterp_helper+3924) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
 F/DEBUG   ( 9331):       #20 pc 00000000004a2d18  /system/framework/framework.jar (android.opengl.GLSurfaceView$GLThread.run+52)
 F/DEBUG   ( 9331):       #21 pc 000000000021096c  /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+556) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
 F/DEBUG   ( 9331):       #22 pc 0000000000278bb8  /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+184) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
 F/DEBUG   ( 9331):       #23 pc 00000000006008b8  /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
 F/DEBUG   ( 9331):       #24 pc 0000000000601a4c  /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+440) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
 F/DEBUG   ( 9331):       #25 pc 00000000006484f8  /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1404) (BuildId: 3975e613cc13ed0d844bc0bea3f0d95c)
 F/DEBUG   ( 9331):       #26 pc 00000000000ba914  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+212) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
 F/DEBUG   ( 9331):       #27 pc 0000000000053af8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)

Tombstone 2 :


 E/GLBatchPolygon( 5872): XXX - freed / null renderPoint
 E/GLBatchPolygon( 5872): java.lang.IllegalArgumentException: 
 E/GLBatchPolygon( 5872): 	at com.atakmap.opengl.Tessellate.polygonImpl(Native Method)
 E/GLBatchPolygon( 5872): 	at com.atakmap.opengl.Tessellate.polygon(Tessellate.java:53)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.layer.feature.geometry.opengl.GLBatchPolygon.validateGeometry(GLBatchPolygon.java:172)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.layer.feature.geometry.opengl.GLBatchLineString.projectVertices(GLBatchLineString.java:814)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.layer.feature.geometry.opengl.GLBatchLineString.draw(GLBatchLineString.java:1118)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.layer.feature.geometry.opengl.GLBatchLineString.draw(GLBatchLineString.java:1097)
 E/GLBatchPolygon( 5872): 	at com.atakmap.android.maps.graphics.GLPolyline.draw(GLPolyline.java:956)
 E/GLBatchPolygon( 5872): 	at com.atakmap.android.maps.graphics.GLQuadtreeNode2$Renderable.draw(GLQuadtreeNode2.java:1058)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.opengl.GLAsynchronousMapRenderable2.draw(GLAsynchronousMapRenderable2.java:310)
 E/GLBatchPolygon( 5872): 	at com.atakmap.android.maps.graphics.GLRootMapGroupLayer.draw(GLRootMapGroupLayer.java:66)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.layer.opengl.GLMultiLayer.drawImpl(GLMultiLayer.java:91)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.layer.opengl.GLAbstractLayer2.draw(GLAbstractLayer2.java:56)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.layer.opengl.GLProxyLayer.drawImpl(GLProxyLayer.java:128)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.layer.opengl.GLAbstractLayer2.draw(GLAbstractLayer2.java:56)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.layer.opengl.GLMultiLayer.drawImpl(GLMultiLayer.java:91)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.layer.opengl.GLAbstractLayer2.draw(GLAbstractLayer2.java:56)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.opengl.GLMapView.render(Native Method)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.opengl.GLMapView.render(GLMapView.java:1479)
 E/GLBatchPolygon( 5872): 	at com.atakmap.map.opengl.GLMapRenderer.onDrawFrame(GLMapRenderer.java:96)
 E/GLBatchPolygon( 5872): 	at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1577)
 E/GLBatchPolygon( 5872): 	at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1272)
 
ABI: 'arm64'
Timestamp: 2023-09-08 09:07:39.113834606+0000
Process uptime: 79s
Cmdline: com.atakmap.app.civ
pid: 5872, tid: 5893, name: RenderThread  >>> com.atakmap.app.civ <<<
uid: 10131
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x002ba32640a81e1e
    x0  b400007ad1eceaf8  x1  401530665be5ce3f  x2  b400007ad1eceae8  x3  0000000000000001
    x4  0000000000000001  x5  0000000000000008  x6  0000000012ec0050  x7  0000000000000010
    x8  c02ba32640a81e16  x9  c02ba32640a81e16  x10 c02ba32640a81e16  x11 0000007ce4066030
    x12 0000000000019d7a  x13 00000079b9c10b34  x14 00000079b9c10b94  x15 0000000000000000
    x16 0000007ce17f76e8  x17 0000007ce179766c  x18 000000793431c000  x19 b400007ad1eceae8
    x20 b400007ad1eceaf8  x21 401530665be5ce3f  x22 0000000000000000  x23 b400007ad1eceb00
    x24 b400007a01ce9b00  x25 0000000000000040  x26 000000793d7fbff8  x27 00000000000fc000
    x28 00000000000fe000  x29 000000793d7fb9e0
    lr  0000007ccc2594c0  sp  000000793d7fb9e0  pc  0000007ccc257ec8  pst 0000000090000000

backtrace:
      #00 pc 0000000000257ec8  /system/lib64/libhwui.so (void std::__1::set<android::sp<android::uirenderer::PropertyValuesAnimatorSet>, std::__1::less<android::sp<android::uirenderer::PropertyValuesAnimatorSet> >, std::__1::allocator<android::sp<android::uirenderer::PropertyValuesAnimatorSet> > >::insert<std::__1::__tree_const_iterator<android::sp<android::uirenderer::PropertyValuesAnimatorSet>, std::__1::__tree_node<android::sp<android::uirenderer::PropertyValuesAnimatorSet>, void*>*, long> >(std::__1::__tree_const_iterator<android::sp<android::uirenderer::PropertyValuesAnimatorSet>, std::__1::__tree_node<android::sp<android::uirenderer::PropertyValuesAnimatorSet>, void*>*, long>, std::__1::__tree_const_iterator<android::sp<android::uirenderer::PropertyValuesAnimatorSet>, std::__1::__tree_node<android::sp<android::uirenderer::PropertyValuesAnimatorSet>, void*>*, long>)+96) (BuildId: 20d1f9a7de7fa61d8d5364c82294631f)
      #01 pc 00000000002594bc  /system/lib64/libhwui.so (android::uirenderer::AnimationContextBridge::pauseAnimators()+36) (BuildId: 20d1f9a7de7fa61d8d5364c82294631f)
      #02 pc 000000000027b894  /system/lib64/libhwui.so (android::uirenderer::renderthread::CanvasContext::destroy()+160) (BuildId: 20d1f9a7de7fa61d8d5364c82294631f)
      #03 pc 000000000027b458  /system/lib64/libhwui.so (android::uirenderer::renderthread::CanvasContext::~CanvasContext()+36) (BuildId: 20d1f9a7de7fa61d8d5364c82294631f)
      #04 pc 000000000027b8f8  /system/lib64/libhwui.so (android::uirenderer::renderthread::CanvasContext::~CanvasContext()+16) (BuildId: 20d1f9a7de7fa61d8d5364c82294631f)
      #05 pc 000000000027ecb4  /system/lib64/libhwui.so (std::__1::__function::__func<std::__1::future<decltype(fp())> android::uirenderer::CommonPool::async<std::__1::function<void ()> >(std::__1::function<void ()>&&)::'lambda'(), std::__1::allocator<std::__1::future<decltype(fp())> android::uirenderer::CommonPool::async<std::__1::function<void ()> >(std::__1::function<void ()>&&)::'lambda'()>, void ()>::operator()()+88) (BuildId: 20d1f9a7de7fa61d8d5364c82294631f)
      #06 pc 000000000026fda8  /system/lib64/libhwui.so (android::uirenderer::WorkQueue::process()+580) (BuildId: 20d1f9a7de7fa61d8d5364c82294631f)
      #07 pc 000000000028fb28  /system/lib64/libhwui.so (android::uirenderer::renderthread::RenderThread::threadLoop()+408) (BuildId: 20d1f9a7de7fa61d8d5364c82294631f)
      #08 pc 0000000000012e54  /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+320) (BuildId: 70edc0c6beb70d4bce5cdeb3927c070b)
      #09 pc 00000000000ba914  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+212) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #10 pc 0000000000053af8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)

Tombstone 3:

ABI: 'arm64'
Timestamp: 2023-09-08 09:14:14.758321330+0000
Process uptime: 209s
Cmdline: com.atakmap.app.civ
pid: 6885, tid: 7170, name: StateSaverListe  >>> com.atakmap.app.civ <<<
uid: 10131
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x005912d1ae577e5f
    x0  000000007b8430a6  x1  0000000000000100  x2  b400007ae1d6d6b8  x3  405912d1ae577e4f
    x4  000000793c13ed7c  x5  000000000000002c  x6  000000793c12fdbc  x7  b400007ac2122fc0
    x8  0000000000000000  x9  0000000000000000  x10 3931372d31616439  x11 622d336463342d37
    x12 663031642d366462  x13 3865623165343962  x14 0000000000000008  x15 0000000000000000
    x16 0000000000000000  x17 0000000000000000  x18 000000000e56520c  x19 00000000000016db
    x20 b400007a21dd9e08  x21 0000000000000002  x22 00000000000016db  x23 b400007a41d5b208
    x24 000000793c763000  x25 00000078831a80e0  x26 b400007ac2122d20  x27 000000000000002f
    x28 000000000000008a  x29 00000078831a8000
    lr  000000793c13eda8  sp  00000078831a8000  pc  000000793c13edd0  pst 0000000080000000

backtrace:
      #00 pc 0000000000716dd0  /system/product/priv-app/Atak/Atak.apk!libspatialite.so (offset 0x5448000)


Cmdline: com.atakmap.app.civ
pid: 6885, tid: 7012, name: Dataset [GRG ra  >>> com.atakmap.app.civ <<<
uid: 10131
    x0  000000793c771300  x1  0000000000000089  x2  0000000000000002  x3  0000000000000000
    x4  0000000000000000  x5  00000000ffffffff  x6  00000000ffffffff  x7  000000793c666cf0
    x8  0000000000000062  x9  0000000000000089  x10 0000000000000009  x11 00000078c185ec00
    x12 ffffff80ffffffd0  x13 00000078c185de50  x14 0000000000000008  x15 00000000ebad6a89
    x16 0000007cb1d47da0  x17 0000007cb1ccd700  x18 0000000000000000  x19 0000000000000002
    x20 0000000000000000  x21 000000793c771300  x22 0000000000000089  x23 00000078c185ffb0
    x24 00000078c1860000  x25 0000000000000002  x26 b400007ac2036d10  x27 b400007a81d7a838
    x28 0000000000000002  x29 00000078c185ecf0
    lr  0000007cb1cd20a8  sp  00000078c185ecd0  pc  0000007cb1ccd71c  pst 0000000040001000

backtrace:
      #00 pc 000000000004e71c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #01 pc 00000000000530a4  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #02 pc 00000000000bbbd4  /apex/com.android.runtime/lib64/bionic/libc.so (NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*)+344) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #03 pc 0000000000702128  /system/product/priv-app/Atak/Atak.apk!libspatialite.so (offset 0x5448000) (sqlite3_mutex_enter+20)



Cmdline: com.atakmap.app.civ
pid: 6885, tid: 7016, name: NativeLayerSele  >>> com.atakmap.app.civ <<<
uid: 10131
    x0  000000793c771300  x1  0000000000000089  x2  0000000000000002  x3  0000000000000000
    x4  0000000000000000  x5  00000000ffffffff  x6  00000000ffffffff  x7  000000793c666cf0
    x8  0000000000000062  x9  0000000000000089  x10 0000000000000009  x11 00000078be436da0
    x12 ffffff80ffffffd0  x13 00000078be435ff0  x14 0000000000000008  x15 00000000ebad6a89
    x16 0000007cb1d47da0  x17 0000007cb1ccd700  x18 0000000000000000  x19 0000000000000002
    x20 0000000000000000  x21 000000793c771300  x22 0000000000000089  x23 00000078be437fb0
    x24 00000078be438000  x25 0000000000000002  x26 b400007ae1de35e0  x27 b400007a81d2a818
    x28 0000000000000002  x29 00000078be436e90
    lr  0000007cb1cd20a8  sp  00000078be436e70  pc  0000007cb1ccd71c  pst 0000000040001000

backtrace:
      #00 pc 000000000004e71c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #01 pc 00000000000530a4  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #02 pc 00000000000bbbd4  /apex/com.android.runtime/lib64/bionic/libc.so (NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*)+344) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #03 pc 0000000000702128  /system/product/priv-app/Atak/Atak.apk!libspatialite.so (offset 0x5448000) (sqlite3_mutex_enter+20)


Cmdline: com.atakmap.app.civ
pid: 6885, tid: 7033, name: Mobile [Mobile]  >>> com.atakmap.app.civ <<<
uid: 10131
    x0  b4000079f1de2cd8  x1  0000000000000089  x2  0000000000004002  x3  0000000000000000
    x4  0000000000000000  x5  00000000ffffffff  x6  00000000ffffffff  x7  7f7f7f7f7f7f7f7f
    x8  0000000000000062  x9  0000000000000089  x10 0000000000000009  x11 64736778616d2059
    x12 303031202c353733  x13 373339303137332e  x14 000000000000000a  x15 0000000000000000
    x16 0000007cb1d47da0  x17 0000007cb1ccd700  x18 0000000000000000  x19 0000000000004002
    x20 0000000000000000  x21 b4000079f1de2cd8  x22 0000000000000089  x23 00000078c264bfb0
    x24 00000078c264c000  x25 0000000000000002  x26 0000000000001b79  x27 0000000000000000
    x28 00000078c264b120  x29 00000078c264aef0
    lr  0000007cb1cd20a8  sp  00000078c264aed0  pc  0000007cb1ccd71c  pst 0000000040001000

backtrace:
      #00 pc 000000000004e71c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #01 pc 00000000000530a4  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #02 pc 00000000000bbd18  /apex/com.android.runtime/lib64/bionic/libc.so (NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*)+668) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #03 pc 0000000000702128  /system/product/priv-app/Atak/Atak.apk!libspatialite.so (offset 0x5448000) (sqlite3_mutex_enter+20)


Cmdline: com.atakmap.app.civ
pid: 6885, tid: 7034, name: tilereader-asyn  >>> com.atakmap.app.civ <<<
uid: 10131
    x0  000000793c771300  x1  0000000000000089  x2  0000000000000002  x3  0000000000000000
    x4  0000000000000000  x5  00000000ffffffff  x6  00000000ffffffff  x7  00000079b9192c64
    x8  0000000000000062  x9  0000000000000089  x10 0000000000000009  x11 00000078c2436890
    x12 ffffff80ffffffd0  x13 00000078c2435ae0  x14 0000000000000008  x15 00000000ebad6a89
    x16 0000007cb1d47da0  x17 0000007cb1ccd700  x18 00000078b5a94000  x19 0000000000000002
    x20 0000000000000000  x21 000000793c771300  x22 0000000000000089  x23 00000078c2437fb0
    x24 00000078c2438000  x25 0000000000000002  x26 b400007ac1ffa9e0  x27 b400007a81d4a218
    x28 0000000000000002  x29 00000078c2436980
    lr  0000007cb1cd20a8  sp  00000078c2436960  pc  0000007cb1ccd71c  pst 0000000040001000

backtrace:
      #00 pc 000000000004e71c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #01 pc 00000000000530a4  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #02 pc 00000000000bbbd4  /apex/com.android.runtime/lib64/bionic/libc.so (NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*)+344) (BuildId: bf5de6b334a2d6b8d4b9b57f8720c4d9)
      #03 pc 0000000000702128 /system/product/priv-app/Atak/Atak.apk!libspatialite.so (offset 0x5448000) (sqlite3_mutex_enter+20)

@krish0902
Copy link

krish0902 commented Nov 2, 2023

Seeing a NullPointerException in OpenGL GLScaleWidget in ATAK 4.5.1.13
Reported when opening the app for the very first time. This specific crash is one time occurrence. Just wanted to report these and see if you have any thoughts what is causing this crash.

Crash Log:

11-01 06:01:29.982 E/AndroidRuntime( 5868): FATAL EXCEPTION: GLThread 44
11-01 06:01:29.982 E/AndroidRuntime( 5868): Process: com.atakmap.app.civ, PID: 5868
11-01 06:01:29.982 E/AndroidRuntime( 5868): java.lang.NullPointerException: Attempt to read from null array
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at gov.tak.platform.widgets.opengl.GLScaleWidget.measure(GLScaleWidget.java:246)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at gov.tak.platform.widgets.opengl.GLScaleWidget.update(GLScaleWidget.java:204)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at gov.tak.platform.widgets.opengl.GLScaleWidget.-$$Nest$mupdate(Unknown Source:0)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at gov.tak.platform.widgets.opengl.GLScaleWidget$2.run(GLScaleWidget.java:184)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at gov.tak.platform.widgets.opengl.GLWidget.runOrQueueEvent(GLWidget.java:185)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at gov.tak.platform.widgets.opengl.GLScaleWidget.onDisplayChanged(GLScaleWidget.java:176)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.ScaleWidget.onDisplayChanged(ScaleWidget.java:116)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.ScaleWidget.setMaxWidth(ScaleWidget.java:110)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.navigation.widgets.NavWidgetsMapComponent.onWidgetSizeChanged(NavWidgetsMapComponent.java:102)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.MapWidget2$SizeChangedForwarder.onWidgetSizeChanged(MapWidget2.java:108)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.MapWidget.onSizeChanged(MapWidget.java:678)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.MapWidget2.onSizeChanged(MapWidget2.java:73)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.MapWidget.setSize(MapWidget.java:565)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.LinearLayoutWidget.recalcSize(LinearLayoutWidget.java:311)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.LinearLayoutWidget.setLayoutParams(LinearLayoutWidget.java:100)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.RootLayoutWidget.onWidgetSizeChanged(RootLayoutWidget.java:446)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.MapWidget2$SizeChangedForwarder.onWidgetSizeChanged(MapWidget2.java:108)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.MapWidget.onSizeChanged(MapWidget.java:678)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.MapWidget2.onSizeChanged(MapWidget2.java:73)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.MapWidget.setSize(MapWidget.java:565)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.LinearLayoutWidget.recalcSize(LinearLayoutWidget.java:311)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.LinearLayoutWidget.onWidgetSizeChanged(LinearLayoutWidget.java:146)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.MapWidget2$SizeChangedForwarder.onWidgetSizeChanged(MapWidget2.java:108)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.MapWidget.onSizeChanged(MapWidget.java:678)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.MapWidget2.onSizeChanged(MapWidget2.java:73)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at com.atakmap.android.widgets.MapWidget.setSize(MapWidget.java:565)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at gov.tak.platform.widgets.opengl.GLScaleWidget.update(GLScaleWidget.java:235)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at gov.tak.platform.widgets.opengl.GLScaleWidget.-$$Nest$mupdate(Unknown Source:0)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at gov.tak.platform.widgets.opengl.GLScaleWidget$2.run(GLScaleWidget.java:184)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1502)
11-01 06:01:29.982 E/AndroidRuntime( 5868): 	at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1272)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants