mapbox / mapbox-gl-native

Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
https://mapbox.com/mobile
Other
4.37k stars 1.33k forks source link

Android - Mapbox crashes on cause: null pointer dereference #16590

Open dariobrux opened 3 years ago

dariobrux commented 3 years ago

Hi,

I'm using Mapbox for Android 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.5.0'

I saw that when I call mapboxMap?.moveCamera(CameraUpdateFactory.newLatLngBounds(latLngBounds, 50)) and fastly close the fragment, app crashes and in logcat I see:

2021-02-25 19:10:52.078 19004-19004/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG: Build fingerprint: 'Android/athome/athome:9/2.0.1-ga-rc1/jenkins02191748:userdebug/dev-keys'
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG: Revision: '0'
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG: ABI: 'arm64'
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG: pid: 18835, tid: 18991, name: GLThread 883  >>> com.technogym.android.logbook <<<
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG: Cause: null pointer dereference
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG:     x0  0000000000000000  x1  0000000000000000  x2  0000000000000001  x3  0000fc522d91ced8
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG:     x4  0000fc51f62fdc68  x5  0080000000800000  x6  02ff2f4900ff5528  x7  7f7f7f7f7f7f7f7f
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG:     x8  0000000000000000  x9  0000000000000001  x10 0000000000000001  x11 0000000000000000
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG:     x12 0000fc51f62fde14  x13 0000fc51f62fde08  x14 0000000000000000  x15 0000000000000000
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG:     x16 0000fc5210ea6f60  x17 0000fc522f345998  x18 0000fc51f9bd1e68  x19 0000fc51f62fdd88
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG:     x20 0000000000000000  x21 0000000000000001  x22 0000fc51f62ff588  x23 0000fc52155f4978
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG:     x24 0000000000000004  x25 0000fc51f62ff588  x26 0000fc51fbaa08a0  x27 0000000000000001
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG:     x28 0000fc51f62fde10  x29 0000fc51f62fdd20
2021-02-25 19:10:52.078 19004-19004/? A/DEBUG:     sp  0000fc51f62fdd10  lr  0000fc5210a91c10  pc  0000fc5210a91d3c
2021-02-25 19:10:52.115 19004-19004/? A/DEBUG: backtrace:
2021-02-25 19:10:52.115 19004-19004/? A/DEBUG:     #00 pc 000000000011dd3c  /data/app/com.technogym.android.logbook-G3iu_iYHr5noD-92EI_7pg==/lib/arm64/libmapbox-gl.so
2021-02-25 19:10:52.115 19004-19004/? A/DEBUG:     #01 pc 000000000011dc0c  /data/app/com.technogym.android.logbook-G3iu_iYHr5noD-92EI_7pg==/lib/arm64/libmapbox-gl.so
2021-02-25 19:10:52.115 19004-19004/? A/DEBUG:     #02 pc 00000000000ae5cc  /data/app/com.technogym.android.logbook-G3iu_iYHr5noD-92EI_7pg==/lib/arm64/libmapbox-gl.so
2021-02-25 19:10:52.115 19004-19004/? A/DEBUG:     #03 pc 0000000000565be0  /system/lib64/libart.so (art_quick_generic_jni_trampoline+144)
2021-02-25 19:10:52.115 19004-19004/? A/DEBUG:     #04 pc 000000000055cb88  /system/lib64/libart.so (art_quick_invoke_stub+584)
2021-02-25 19:10:52.115 19004-19004/? A/DEBUG:     #05 pc 00000000000cf740  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
2021-02-25 19:10:52.115 19004-19004/? A/DEBUG:     #06 pc 0000000000282460  /system/lib64/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+344)
2021-02-25 19:10:52.115 19004-19004/? A/DEBUG:     #07 pc 000000000027c41c  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+948)
2021-02-25 19:10:52.115 19004-19004/? A/DEBUG:     #08 pc 000000000052d808  /system/lib64/libart.so (MterpInvokeDirect+296)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #09 pc 000000000054f294  /system/lib64/libart.so (ExecuteMterpImpl+14484)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #10 pc 00000000004493a0  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/com.technogym.android.logbook-G3iu_iYHr5noD-92EI_7pg==/base.apk (deleted) (com.mapbox.mapboxsdk.maps.renderer.MapRenderer.onDrawFrame+12)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #11 pc 0000000000255f18  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2088410233+496)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #12 pc 000000000025ba98  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #13 pc 000000000027c400  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+920)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #14 pc 000000000052cb58  /system/lib64/libart.so (MterpInvokeSuper+1408)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #15 pc 000000000054f214  /system/lib64/libart.so (ExecuteMterpImpl+14356)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #16 pc 000000000044b094  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/com.technogym.android.logbook-G3iu_iYHr5noD-92EI_7pg==/base.apk (deleted) (com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.GLSurfaceViewMapRenderer.onDrawFrame)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #17 pc 0000000000255f18  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2088410233+496)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #18 pc 000000000025ba98  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #19 pc 000000000027c400  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+920)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #20 pc 000000000052d440  /system/lib64/libart.so (MterpInvokeInterface+1392)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #21 pc 000000000054f394  /system/lib64/libart.so (ExecuteMterpImpl+14740)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #22 pc 000000000044bb12  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/com.technogym.android.logbook-G3iu_iYHr5noD-92EI_7pg==/base.apk (deleted) (com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.MapboxGLSurfaceView$GLThread.guardedRun+998)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #23 pc 0000000000255f18  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2088410233+496)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #24 pc 000000000025ba98  /system/lib64/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+216)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #25 pc 000000000027c400  /system/lib64/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+920)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #26 pc 000000000052d808  /system/lib64/libart.so (MterpInvokeDirect+296)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #27 pc 000000000054f294  /system/lib64/libart.so (ExecuteMterpImpl+14484)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #28 pc 000000000044c084  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/com.technogym.android.logbook-G3iu_iYHr5noD-92EI_7pg==/base.apk (deleted) (com.mapbox.mapboxsdk.maps.renderer.glsurfaceview.MapboxGLSurfaceView$GLThread.run+48)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #29 pc 0000000000255f18  /system/lib64/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2088410233+496)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #30 pc 000000000051cc08  /system/lib64/libart.so (artQuickToInterpreterBridge+1032)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #31 pc 0000000000565cfc  /system/lib64/libart.so (art_quick_to_interpreter_bridge+92)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #32 pc 000000000055cb88  /system/lib64/libart.so (art_quick_invoke_stub+584)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #33 pc 00000000000cf740  /system/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #34 pc 0000000000463468  /system/lib64/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+104)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #35 pc 0000000000464530  /system/lib64/libart.so (art::InvokeVirtualOrInterfaceWithJValues(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, jvalue*)+424)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #36 pc 000000000048f8e0  /system/lib64/libart.so (art::Thread::CreateCallback(void*)+1120)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #37 pc 0000000000083194  /system/lib64/libc.so (__pthread_start(void*)+36)
2021-02-25 19:10:52.116 19004-19004/? A/DEBUG:     #38 pc 00000000000233bc  /system/lib64/libc.so (__start_thread+68)

It seems a null pointer derefernce.

Is there any way to avoid this crash?

Many thanks

JulianBissekkou commented 1 year ago

Does this issue still happen for you?