Description
I'm still using the Mapbox Android Navigation v1 and will upgrade once I'm able to verify I can afford the new pricing.
That said, most of my app's crashes are coming from the Mapbox Navigation (or Services) SDK, but I can't figure out why they are happening or how to fix them. The app is now crashing 6-10% of the time as reported by the Google Play crash reports. The same crashes are not showing up in Crashlytics, which is very odd. The crashes are separated into three sections.
Here are the stack traces:
Android 12 Only:
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
pthread_mutex_lock
#00 pc 00000000000b7cc0 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock+12)
#00 pc 0000000000125560 /data/app/~~v-oyVUwm37_zLS7DJ6Qjgw==/com.XXXXXXXXXXXX.bsnav-YayDGeZW2SJU_RfcruI_rw==/split_config.arm64_v8a.apk!libmapbox-common.so (std::__ndk1::mutex::lock()+8)
#00 pc 000000000036a670 /data/app/~~v-oyVUwm37_zLS7DJ6Qjgw==/com.XXXXXXXXXXXX.bsnav-YayDGeZW2SJU_RfcruI_rw==/split_config.arm64_v8a.apk!libnavigator-android.so
...
#00 pc 00000000000b6e44 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+264)
#00 pc 0000000000053454 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+68)
Android 9, 10, 11:
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
pthread_mutex_lock
#00 pc 00000000000e4358 /apex/com.android.runtime/lib64/bionic/libc.so (pthread_mutex_lock)
#00 pc 0000000000125560 /data/app/com.XXXXXXXXXXXX.bsnav-HQyHYkJcVmwD5FyDFTT5-A==/split_config.arm64_v8a.apk!lib/arm64-v8a/libmapbox-common.so (offset 0x1000) (std::__ndk1::mutex::lock()+8)
#00 pc 000000000036a670 /data/app/com.XXXXXXXXXXXX.bsnav-HQyHYkJcVmwD5FyDFTT5-A==/split_config.arm64_v8a.apk!lib/arm64-v8a/libnavigator-android.so (offset 0x6e1000)
...
#00 pc 00000000000e3874 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+36)
#00 pc 0000000000084d98 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
Android 9, 10, 11:
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR)
pthread_mutex_lock
#00 pc 00000000000abdbe /apex/com.android.runtime/lib/bionic/libc.so (pthread_mutex_lock+6)
#00 pc 00000000000aa775 /data/app/~~ZMjh3LMjnm8NFPUiGcumdQ==/com.XXXXXXXXXXXX.bsnav-R5BMmQgXYgi6JZtkf7md4g==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/libmapbox-common.so (offset 0x1000) (std::__ndk1::mutex::lock()+4)
#00 pc 000000000018387f /data/app/~~ZMjh3LMjnm8NFPUiGcumdQ==/com.XXXXXXXXXXXX.bsnav-R5BMmQgXYgi6JZtkf7md4g==/split_config.armeabi_v7a.apk!lib/armeabi-v7a/libnavigator-android.so (offset 0x479000)
...
#00 pc 00000000000ab573 /apex/com.android.runtime/lib/bionic/libc.so (__pthread_start(void*)+40)
#00 pc 0000000000064923 /apex/com.android.runtime/lib/bionic/libc.so (__start_thread+30)
I've tried the following SDK combinations to no avail:
implementation 'com.mapbox.navigation:ui:1.5.1' -> least crashes
implementation 'com.mapbox.mapboxsdk:mapbox-sdk-services:5.8.0'
implementation 'com.mapbox.navigation:ui:1.6.2'
implementation 'com.mapbox.mapboxsdk:mapbox-sdk-services:5.9.0-alpha.1
implementation 'com.mapbox.navigation:ui:1.6.2' -> most crashes
implementation 'com.mapbox.mapboxsdk:mapbox-sdk-services:5.9.0-alpha.5
Is there something I need to set in my project that might prevent this? I use the mapbox-sdk-services for geocoding. Any help you can give me is greatly appreciated.
And again, I know this is v1. I will upgrade to v2 as soon as I can figure out pricing. In the meantime, I would love to figure out what I'm doing wrong.
Steps to trigger behavior
I cannot reproduce this issue on any of my devices. It is showing up in 6-10% of devices on the Google Play Crash reports, but not in Crashlytics
Expected behavior
Don't crash.
Actual behavior
Crash
Thank you for your help. Please let me know if you need additional info from me and I will provide it.