Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

SEGV on Android in Style.removeSource() #15182

Closed
zestyping opened this issue Jul 19, 2019 · 4 comments
Closed

SEGV on Android in Style.removeSource() #15182

zestyping opened this issue Jul 19, 2019 · 4 comments
Labels
Android Mapbox Maps SDK for Android archived Archived because of inactivity needs information

Comments

@zestyping
Copy link
Contributor

Hello! I just encountered a segmentation violation on Android.

Our Mapbox dependency is declared as:

implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:7.3.0'

and our APK is using the armeabi-v7a build of libmapbox-gl.so.

I stepped through the Java code path in the Android Studio debugger, and saw these steps:

My application
—> calls Style.removeSource()
—> calls source.getId()
—> calls nativeGetId()
—> boom! SIGSEGV

I see #11779, which looks in vaguely the same area, though that was an NPE and this is a SEGV so I'm not sure they're related. I assume that a SEGV is always considered a bug in mapbox-gl-native regardless of any improper behaviour by the Java application calling into it, is that right?

Here's the native stack trace:

2019-07-19 10:21:39.583 32758-32758/org.odk.collect.android A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8 in tid 32758 (collect.android), pid 32758 (collect.android)
2019-07-19 10:21:39.681 634-634/? E/crash_dump32: unknown process state: t
2019-07-19 10:21:39.728 634-634/? I/crash_dump32: obtaining output fd from tombstoned, type: kDebuggerdTombstone
2019-07-19 10:21:39.729 3029-3029/? I//system/bin/tombstoned: received crash request for pid 32758
2019-07-19 10:21:39.731 634-634/? I/crash_dump32: performing dump of process 32758 (target tid = 32758)
2019-07-19 10:21:39.766 634-634/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2019-07-19 10:21:39.766 634-634/? A/DEBUG: Build fingerprint: 'samsung/gtactive2ltexx/gtactive2lte:9/PPR1.180610.011/T395XXU4CSF1:user/release-keys'
2019-07-19 10:21:39.766 634-634/? A/DEBUG: Revision: '4'
2019-07-19 10:21:39.766 634-634/? A/DEBUG: ABI: 'arm'
2019-07-19 10:21:39.767 634-634/? A/DEBUG: pid: 32758, tid: 32758, name: collect.android  >>> org.odk.collect.android <<<
2019-07-19 10:21:39.767 634-634/? A/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x8
2019-07-19 10:21:39.767 634-634/? A/DEBUG: Cause: null pointer dereference
2019-07-19 10:21:39.767 634-634/? A/DEBUG:     r0  00000000  r1  00000000  r2  00430000  r3  e892ad42
2019-07-19 10:21:39.767 634-634/? A/DEBUG:     r4  e8bb9624  r5  00000000  r6  00000000  r7  ffa03b28
2019-07-19 10:21:39.767 634-634/? A/DEBUG:     r8  00000000  r9  eabaed94  r10 e8a66480  r11 e8a79000
2019-07-19 10:21:39.767 634-634/? A/DEBUG:     ip  e897899c  sp  ffa03ae8  lr  e85b57d7  pc  c8c32418
2019-07-19 10:21:39.811 2850-410/? I/display: [PrimaryDisplay] [DYNAMIC_RECOMP] HWC_2_GLES by low FPS(0)
2019-07-19 10:21:40.347 3355-3493/? I/clp-JNI: Add pinfo) 0
2019-07-19 10:21:40.350 3355-3493/? I/clp-JNI: Add pinfo) 0
2019-07-19 10:21:40.350 3355-3493/? I/InputDispatcher: Delivering key to (32758): action: 0x0 (0), displayId: 0, 'e20c229'
2019-07-19 10:21:40.440 3355-18097/? I/GnssLocationProvider: WakeLock acquired by sendMessage(REPORT_SV_STATUS, 0, com.android.server.location.GnssLocationProvider$SvStatusInfo@c856e6f)
2019-07-19 10:21:40.442 3355-3728/? I/GnssLocationProvider: WakeLock released by handleMessage(REPORT_SV_STATUS, 0, com.android.server.location.GnssLocationProvider$SvStatusInfo@c856e6f)
2019-07-19 10:21:40.456 3355-3493/? I/clp-JNI: Add pinfo) e20c229 org.odk.collect.android/org.odk.collect.android.activities.GeoPointMapActivity (server) : AppWindowToken{68dc057 token=Token{2d365d6 ActivityRecord{40045f1 u0 org.odk.collect.android/.activities.GeoPointMapActivity t2112}}} : 32758 : 10158 : 1
2019-07-19 10:21:40.456 3355-3493/? I/clp-JNI: Add pinfo) 1
2019-07-19 10:21:40.459 3355-3493/? I/clp-JNI: Add pinfo) e20c229 org.odk.collect.android/org.odk.collect.android.activities.GeoPointMapActivity (server) : AppWindowToken{68dc057 token=Token{2d365d6 ActivityRecord{40045f1 u0 org.odk.collect.android/.activities.GeoPointMapActivity t2112}}} : 32758 : 10158 : 1
2019-07-19 10:21:40.459 3355-3493/? I/clp-JNI: Add pinfo) 1
2019-07-19 10:21:40.479 634-634/? A/DEBUG: backtrace:
2019-07-19 10:21:40.479 634-634/? A/DEBUG:     #00 pc 00049418  /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/lib/arm/libmapbox-gl.so
2019-07-19 10:21:40.479 634-634/? A/DEBUG:     #01 pc 00425a79  /system/lib/libart.so (art_quick_generic_jni_trampoline+40)
2019-07-19 10:21:40.479 634-634/? A/DEBUG:     #02 pc 00421575  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
2019-07-19 10:21:40.479 634-634/? A/DEBUG:     #03 pc 003f9b49  /system/lib/libart.so (art_quick_invoke_stub+224)
2019-07-19 10:21:40.479 634-634/? A/DEBUG:     #04 pc 000a180d  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #05 pc 001ecedb  /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+230)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #06 pc 001e7b55  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+784)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #07 pc 003f47f3  /system/lib/libart.so (MterpInvokeVirtual+442)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #08 pc 00414214  /system/lib/libart.so (ExecuteMterpImpl+14228)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #09 pc 0022b146  /dev/ashmem/dalvik-classes3.dex extracted in memory from /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/base.apk!classes3.dex_32758_32758 (deleted) (com.mapbox.mapboxsdk.style.sources.Source.getId+6)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #10 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #11 pc 001d0d8f  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #12 pc 001e7b3f  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+762)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #13 pc 003f47f3  /system/lib/libart.so (MterpInvokeVirtual+442)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #14 pc 00414214  /system/lib/libart.so (ExecuteMterpImpl+14228)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #15 pc 00212076  /dev/ashmem/dalvik-classes3.dex extracted in memory from /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/base.apk!classes3.dex_32758_32758 (deleted) (com.mapbox.mapboxsdk.maps.Style.removeSource+14)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #16 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #17 pc 001d0d8f  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #18 pc 001e7b3f  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+762)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #19 pc 003f47f3  /system/lib/libart.so (MterpInvokeVirtual+442)
2019-07-19 10:21:40.480 634-634/? A/DEBUG:     #20 pc 00414214  /system/lib/libart.so (ExecuteMterpImpl+14228)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #21 pc 000df2ac  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/base.apk_32758_32758 (deleted) (org.odk.collect.android.map.MapboxMapFragment.clearOverlays+168)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #22 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #23 pc 001d0d8f  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #24 pc 001e7b3f  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+762)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #25 pc 003f5689  /system/lib/libart.so (MterpInvokeDirect+196)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #26 pc 00414314  /system/lib/libart.so (ExecuteMterpImpl+14484)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #27 pc 000df6cc  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/base.apk_32758_32758 (deleted) (org.odk.collect.android.map.MapboxMapFragment.loadReferenceOverlay+8)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #28 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.481 3355-4880/? I/SamsungAlarmManager: setLocked to kernel - T:2 / 20190719T192733, SetElapsed=901331781, nowELAPSED=900978263
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #29 pc 001d0d8f  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #30 pc 001e7b3f  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+762)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #31 pc 003f5689  /system/lib/libart.so (MterpInvokeDirect+196)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #32 pc 00414314  /system/lib/libart.so (ExecuteMterpImpl+14484)
2019-07-19 10:21:40.481 3355-4880/? I/SamsungAlarmManager: setLocked to kernel - T:3 / 20190719T192159, SetElapsed=900997781, nowELAPSED=900978263
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #33 pc 000df578  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/base.apk_32758_32758 (deleted) (org.odk.collect.android.map.MapboxMapFragment.lambda$applyConfig$2$MapboxMapFragment+8)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #34 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #35 pc 001d0d8f  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #36 pc 001e7b3f  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+762)
2019-07-19 10:21:40.481 634-634/? A/DEBUG:     #37 pc 003f47f3  /system/lib/libart.so (MterpInvokeVirtual+442)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #38 pc 00414214  /system/lib/libart.so (ExecuteMterpImpl+14228)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #39 pc 000d99bc  /dev/ashmem/dalvik-classes.dex extracted in memory from /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/base.apk_32758_32758 (deleted) (org.odk.collect.android.map.-$$Lambda$MapboxMapFragment$I58F72kxtFlQoGqixtVymkqmvlw.onStyleLoaded+4)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #40 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #41 pc 001d0d8f  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #42 pc 001e7b3f  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+762)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #43 pc 003f53c1  /system/lib/libart.so (MterpInvokeInterface+1024)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #44 pc 00414414  /system/lib/libart.so (ExecuteMterpImpl+14740)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #45 pc 0020e68e  /dev/ashmem/dalvik-classes3.dex extracted in memory from /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/base.apk!classes3.dex_32758_32758 (deleted) (com.mapbox.mapboxsdk.maps.MapboxMap.notifyStyleLoaded+82)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #46 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #47 pc 001d0d8f  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #48 pc 001e7b3f  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+762)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #49 pc 003f47f3  /system/lib/libart.so (MterpInvokeVirtual+442)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #50 pc 00414214  /system/lib/libart.so (ExecuteMterpImpl+14228)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #51 pc 0020e708  /dev/ashmem/dalvik-classes3.dex extracted in memory from /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/base.apk!classes3.dex_32758_32758 (deleted) (com.mapbox.mapboxsdk.maps.MapboxMap.onFinishLoadingStyle)
2019-07-19 10:21:40.482 634-634/? A/DEBUG:     #52 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #53 pc 001d0d8f  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #54 pc 001e7b3f  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+762)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #55 pc 003f47f3  /system/lib/libart.so (MterpInvokeVirtual+442)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #56 pc 00414214  /system/lib/libart.so (ExecuteMterpImpl+14228)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #57 pc 0020b8a8  /dev/ashmem/dalvik-classes3.dex extracted in memory from /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/base.apk!classes3.dex_32758_32758 (deleted) (com.mapbox.mapboxsdk.maps.MapView$MapCallback.onDidFinishLoadingStyle+28)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #58 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #59 pc 001d0d8f  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #60 pc 001e7b3f  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+762)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #61 pc 003f53c1  /system/lib/libart.so (MterpInvokeInterface+1024)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #62 pc 00414414  /system/lib/libart.so (ExecuteMterpImpl+14740)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #63 pc 002083f4  /dev/ashmem/dalvik-classes3.dex extracted in memory from /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/base.apk!classes3.dex_32758_32758 (deleted) (com.mapbox.mapboxsdk.maps.MapChangeReceiver.onDidFinishLoadingStyle+52)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #64 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #65 pc 001d0d8f  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #66 pc 001e7b3f  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+762)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #67 pc 003f53c1  /system/lib/libart.so (MterpInvokeInterface+1024)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #68 pc 00414414  /system/lib/libart.so (ExecuteMterpImpl+14740)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #69 pc 002105f4  /dev/ashmem/dalvik-classes3.dex extracted in memory from /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/base.apk!classes3.dex_32758_32758 (deleted) (com.mapbox.mapboxsdk.maps.NativeMapView.onDidFinishLoadingStyle+8)
2019-07-19 10:21:40.483 634-634/? A/DEBUG:     #70 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #71 pc 001d0cdb  /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #72 pc 003e808b  /system/lib/libart.so (artQuickToInterpreterBridge+882)
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #73 pc 00425aff  /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #74 pc 00421575  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #75 pc 003f9b49  /system/lib/libart.so (art_quick_invoke_stub+224)
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #76 pc 000a180d  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #77 pc 00358111  /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #78 pc 003590c1  /system/lib/libart.so (art::InvokeVirtualOrInterfaceWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+316)
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #79 pc 0027ce83  /system/lib/libart.so (art::JNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+482)
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #80 pc 000c76f5  /system/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallMethodV(char const*, _JNIEnv*, _jobject*, _jclass*, _jmethodID*, std::__va_list, art::Primitive::Type, art::InvokeType)+1156)
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #81 pc 000b8825  /system/lib/libart.so (art::(anonymous namespace)::CheckJNI::CallVoidMethodV(_JNIEnv*, _jobject*, _jmethodID*, std::__va_list)+44)
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #82 pc 00018a5d  /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/lib/arm/libmapbox-gl.so
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #83 pc 00018a17  /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/lib/arm/libmapbox-gl.so
2019-07-19 10:21:40.484 634-634/? A/DEBUG:     #84 pc 0001c0bd  /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/lib/arm/libmapbox-gl.so
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #85 pc 00064f31  /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/lib/arm/libmapbox-gl.so
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #86 pc 000e93cb  /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/lib/arm/libmapbox-gl.so
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #87 pc 000ea5f5  /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/lib/arm/libmapbox-gl.so
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #88 pc 001f9fef  /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/lib/arm/libmapbox-gl.so
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #89 pc 00051c17  /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/lib/arm/libmapbox-gl.so
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #90 pc 0002b20f  /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/lib/arm/libmapbox-gl.so
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #91 pc 0002b34b  /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/lib/arm/libmapbox-gl.so
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #92 pc 00029ca9  /data/app/org.odk.collect.android-Yt0R2GfY0byFK0ZzdjafiA==/lib/arm/libmapbox-gl.so
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #93 pc 0000f2ef  /system/lib/libutils.so (android::Looper::pollInner(int)+634)
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #94 pc 0000eff3  /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+26)
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #95 pc 000bf41d  /system/lib/libandroid_runtime.so (android::android_os_MessageQueue_nativePollOnce(_JNIEnv*, _jobject*, long long, int)+26)
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #96 pc 0040bccd  /system/framework/arm/boot-framework.oat (offset 0x3fe000) (android.media.MediaExtractor.seekTo [DEDUPED]+92)
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #97 pc 0000e211  /dev/ashmem/dalvik-jit-code-cache_32758_32758 (deleted) (android.os.MessageQueue.next+184)
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #98 pc 00421575  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #99 pc 003f9b49  /system/lib/libart.so (art_quick_invoke_stub+224)
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #100 pc 000a180d  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #101 pc 001ecedb  /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+230)
2019-07-19 10:21:40.485 634-634/? A/DEBUG:     #102 pc 001e7b55  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+784)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #103 pc 003f47f3  /system/lib/libart.so (MterpInvokeVirtual+442)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #104 pc 00414214  /system/lib/libart.so (ExecuteMterpImpl+14228)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #105 pc 00c89cea  /system/framework/boot-framework.vdex (android.os.Looper.loop+130)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #106 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.486 3355-4880/? I/SamsungAlarmManager: setLocked to kernel - T:2 / 20190719T192733, SetElapsed=901331781, nowELAPSED=900978268
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #107 pc 001d0d8f  /system/lib/libart.so (art::interpreter::ArtInterpreterToInterpreterBridge(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*, art::JValue*)+146)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #108 pc 001e7b3f  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+762)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #109 pc 003f57d3  /system/lib/libart.so (MterpInvokeStatic+130)
2019-07-19 10:21:40.486 3355-4880/? I/SamsungAlarmManager: setLocked to kernel - T:3 / 20190719T192150, SetElapsed=900988383, nowELAPSED=900978268
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #110 pc 00414394  /system/lib/libart.so (ExecuteMterpImpl+14612)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #111 pc 004ca3c0  /system/framework/boot-framework.vdex (android.app.ActivityThread.main+220)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #112 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #113 pc 001d0cdb  /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #114 pc 003e808b  /system/lib/libart.so (artQuickToInterpreterBridge+882)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #115 pc 00425aff  /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #116 pc 00421575  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #117 pc 003f9c4b  /system/lib/libart.so (art_quick_invoke_static_stub+222)
2019-07-19 10:21:40.486 634-634/? A/DEBUG:     #118 pc 000a181f  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #119 pc 00358111  /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #120 pc 00359563  /system/lib/libart.so (art::InvokeMethod(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jobject*, _jobject*, unsigned int)+962)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #121 pc 003080a9  /system/lib/libart.so (art::Method_invoke(_JNIEnv*, _jobject*, _jobject*, _jobjectArray*)+40)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #122 pc 0011328f  /system/framework/arm/boot.oat (offset 0x10d000) (java.lang.Class.getDeclaredMethodInternal [DEDUPED]+110)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #123 pc 00421575  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #124 pc 003f9b49  /system/lib/libart.so (art_quick_invoke_stub+224)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #125 pc 000a180d  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+136)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #126 pc 001ecedb  /system/lib/libart.so (art::interpreter::ArtInterpreterToCompiledCodeBridge(art::Thread*, art::ArtMethod*, art::ShadowFrame*, unsigned short, art::JValue*)+230)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #127 pc 001e7b55  /system/lib/libart.so (bool art::interpreter::DoCall<false, false>(art::ArtMethod*, art::Thread*, art::ShadowFrame&, art::Instruction const*, unsigned short, art::JValue*)+784)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #128 pc 003f47f3  /system/lib/libart.so (MterpInvokeVirtual+442)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #129 pc 00414214  /system/lib/libart.so (ExecuteMterpImpl+14228)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #130 pc 013eface  /system/framework/boot-framework.vdex (com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run+22)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #131 pc 001cc457  /system/lib/libart.so (_ZN3art11interpreterL7ExecuteEPNS_6ThreadERKNS_20CodeItemDataAccessorERNS_11ShadowFrameENS_6JValueEb.llvm.2674382927+354)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #132 pc 001d0cdb  /system/lib/libart.so (art::interpreter::EnterInterpreterFromEntryPoint(art::Thread*, art::CodeItemDataAccessor const&, art::ShadowFrame*)+82)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #133 pc 003e808b  /system/lib/libart.so (artQuickToInterpreterBridge+882)
2019-07-19 10:21:40.487 634-634/? A/DEBUG:     #134 pc 00425aff  /system/lib/libart.so (art_quick_to_interpreter_bridge+30)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #135 pc 00bdf9f9  /system/framework/arm/boot-framework.oat (offset 0x3fe000) (com.android.internal.os.ZygoteInit.main+2016)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #136 pc 00421575  /system/lib/libart.so (art_quick_invoke_stub_internal+68)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #137 pc 003f9c4b  /system/lib/libart.so (art_quick_invoke_static_stub+222)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #138 pc 000a181f  /system/lib/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+154)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #139 pc 00358111  /system/lib/libart.so (art::(anonymous namespace)::InvokeWithArgArray(art::ScopedObjectAccessAlreadyRunnable const&, art::ArtMethod*, art::(anonymous namespace)::ArgArray*, art::JValue*, char const*)+52)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #140 pc 00357f25  /system/lib/libart.so (art::InvokeWithVarArgs(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, _jmethodID*, std::__va_list)+300)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #141 pc 002992a1  /system/lib/libart.so (art::JNI::CallStaticVoidMethodV(_JNIEnv*, _jclass*, _jmethodID*, std::__va_list)+476)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #142 pc 0007126f  /system/lib/libandroid_runtime.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+38)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #143 pc 0007371b  /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, android::Vector<android::String8> const&, bool)+478)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #144 pc 00002f25  /system/bin/app_process32 (main+728)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #145 pc 0008de0d  /system/lib/libc.so (__libc_init+48)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #146 pc 00002c0d  /system/bin/app_process32 (_start_main+40)
2019-07-19 10:21:40.488 634-634/? A/DEBUG:     #147 pc 00000306  <anonymous:ed089000>
@LukasPaczos
Copy link
Contributor

Hey @zestyping, thanks for reporting the issue.

Are you sure you're not filtering out the proper exception that is printed in the logcat?
If the exception happens in the Style.OnStyleLoaded callback it should print before thrownig SIGSEGV either:

E/Mbgl-MapChangeReceiver: Exception in onDidFinishLoadingStyle
    java.lang.Error: Cannot remove detached source

when the source is not added to the map beforehand, or:

E/Mbgl-MapChangeReceiver: Exception in onDidFinishLoadingStyle
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.mapbox.mapboxsdk.style.sources.Source.getId()' on a null object reference

when the source is null.

Could you place the breakpoint right before the crash again and inspect the call stack for where it originates from on the Maps SDK's side?

@zestyping
Copy link
Contributor Author

Hmm, I don't see any other messages containing "Mbgl" in the log other than these:

2019-07-24 10:56:05.179 13140-13140/org.odk.collect.android W/Mbgl: {collect.android}[General]: Source 'mapbox-android-symbol-source' is in use, cannot remove
2019-07-24 10:56:05.180 13140-13140/org.odk.collect.android W/Mbgl: {collect.android}[General]: Source 'countries-raster.mbtiles' is in use, cannot remove
2019-07-24 10:56:05.180 13140-13140/org.odk.collect.android W/Mbgl: {collect.android}[General]: Source 'mapbox-location-source' is in use, cannot remove
2019-07-24 10:56:05.180 13140-13140/org.odk.collect.android W/Mbgl: {collect.android}[General]: Source 'mapbox-android-line-source' is in use, cannot remove

I'll try the breakpoint a bit later today.

@LukasPaczos
Copy link
Contributor

Thanks, @zestyping, let us know about your findings.

And btw., those logs were fixed up in #15191.

@stale stale bot added the archived Archived because of inactivity label Feb 8, 2020
@stale
Copy link

stale bot commented Feb 8, 2020

This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.

@stale stale bot closed this as completed Feb 8, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Android Mapbox Maps SDK for Android archived Archived because of inactivity needs information
Projects
None yet
Development

No branches or pull requests

3 participants