Skip to content

Crash at MapRenderer::render after upgrading to 11.13.1 #3812

@tvaknin

Description

@tvaknin

MapLibre Android Version

11.13.1

Android SDK Version

15

Device

Mostly Samsung E3Q but it seems like any device

What happened?

After upgrading from 11.8.7 to 11.13.1, we started seeing frequent crashes in MapRenderer::render.

Crash stats (from Google Play Console, not visible in Firebase Crashlytics for some reason):

Affected users: 702 (last 28 days)
Events: 1.6K (last 28 days)

`
[split_config.arm64_v8a.apk!libmaplibre.so] mbgl::android::MapRenderer::render(_JNIEnv&)
SIGSEGV

#00 pc 0x00000000006f3390 /data/app/~~bo1n65T60gU4o8CcdwOCmw==/altitude.alarm.erol.apps-JKP8Bd2uCCLmQoE1jwP64A==/split_config.arm64_v8a.apk!libmaplibre.so (BuildId: b4c745bc15e62a77c5f4dc680bc97e69f7a6773e)
#1 pc 0x0000000000716190 /data/app/~~bo1n65T60gU4o8CcdwOCmw==/altitude.alarm.erol.apps-JKP8Bd2uCCLmQoE1jwP64A==/split_config.arm64_v8a.apk!libmaplibre.so (BuildId: b4c745bc15e62a77c5f4dc680bc97e69f7a6773e)
#2 pc 0x0000000000753d44 /data/app/~~bo1n65T60gU4o8CcdwOCmw==/altitude.alarm.erol.apps-JKP8Bd2uCCLmQoE1jwP64A==/split_config.arm64_v8a.apk!libmaplibre.so (BuildId: b4c745bc15e62a77c5f4dc680bc97e69f7a6773e)
#3 pc 0x00000000007628c8 /data/app/~~bo1n65T60gU4o8CcdwOCmw==/altitude.alarm.erol.apps-JKP8Bd2uCCLmQoE1jwP64A==/split_config.arm64_v8a.apk!libmaplibre.so (BuildId: b4c745bc15e62a77c5f4dc680bc97e69f7a6773e)
#4 pc 0x0000000000761468 /data/app/~~bo1n65T60gU4o8CcdwOCmw==/altitude.alarm.erol.apps-JKP8Bd2uCCLmQoE1jwP64A==/split_config.arm64_v8a.apk!libmaplibre.so (BuildId: b4c745bc15e62a77c5f4dc680bc97e69f7a6773e)
#5 pc 0x000000000056d6d8 /data/app/~~bo1n65T60gU4o8CcdwOCmw==/altitude.alarm.erol.apps-JKP8Bd2uCCLmQoE1jwP64A==/split_config.arm64_v8a.apk!libmaplibre.so (mbgl::android::MapRenderer::render(_JNIEnv&)+216) (BuildId: b4c745bc15e62a77c5f4dc680bc97e69f7a6773e)
#6 pc 0x0000000000570814 /data/app/~~bo1n65T60gU4o8CcdwOCmw==/altitude.alarm.erol.apps-JKP8Bd2uCCLmQoE1jwP64A==/split_config.arm64_v8a.apk!libmaplibre.so (auto auto jni::MakeNativeMethod<auto jni::NativeMethodMaker<void (auto jni::NativePeerMemberFunctionMethod<void (mbgl::android::MapRenderer::)(_JNIEnv&), &mbgl::android::MapRenderer::render(_JNIEnv&)>::operator()<mbgl::android::MapRenderer, mbgl::android::MapRenderer, void>(jni::Field<mbgl::android::MapRenderer, long> const&)::'lambda'(_JNIEnv&, jni::Objectmbgl::android::MapRenderer&)::)(_JNIEnv&, jni::Objectmbgl::android::MapRenderer&) const>::operator()<auto jni::NativePeerMemberFunctionMethod<void (mbgl::android::MapRenderer::)(_JNIEnv&), &mbgl::android::MapRenderer::render(_JNIEnv&)>::operator()<mbgl::android::MapRenderer, mbgl::android::MapRenderer, void>(jni::Field<mbgl::android::MapRenderer, long> const&)::'lambda'(_JNIEnv&, jni::Objectmbgl::android::MapRenderer&)>(char const, auto jni::NativePeerMemberFunctionMethod<void (mbgl::android::MapRenderer::)(_JNIEnv&), &mbgl::android::MapRenderer::render(_JNIEnv&)>::operator()<mbgl::android::MapRenderer, mbgl::android::MapRenderer, void>(jni::Field<mbgl::android::MapRenderer, long> const&)::'lambda'(_JNIEnv&, jni::Objectmbgl::android::MapRenderer&) const&)::'lambda'(_JNIEnv, jni::jobject*)>(char const*, char const*, auto jni::NativePeerMemberFunctionMethod<void (mbgl::android::MapRenderer::)(_JNIEnv&), &mbgl::android::MapRenderer::render(_JNIEnv&)>::operator()<mbgl::android::MapRenderer, mbgl::android::MapRenderer, void>(jni::Field<mbgl::android::MapRenderer, long> const&)::'lambda'(_JNIEnv&, jni::Objectmbgl::android::MapRenderer&) const&, std::__ndk1::enable_if<std::is_class<auto jni::NativePeerMemberFunctionMethod<void (mbgl::android::MapRenderer::)(_JNIEnv&), &mbgl::android::MapRenderer::render(_JNIEnv&)>::operator()<mbgl::android::MapRenderer, mbgl::android::MapRenderer, void>(jni::Field<mbgl::android::MapRenderer, long> const&)::'lambda'(_JNIEnv&, jni::Objectmbgl::android::MapRenderer&)>::value, void>::type*)::'lambda'(_JNIEnv*, auto...)::__invokejni::jobject*(_JNIEnv*, auto...)+44) (BuildId: b4c745bc15e62a77c5f4dc680bc97e69f7a6773e)
#7 pc 0x0000000001071130 /data/misc/apexdata/com.android.art/dalvik-cache/arm64/boot.oat (art_jni_trampoline+112)
#8 pc 0x000000000068a4a0 /apex/com.android.art/lib64/libart.so (nterp_helper+4016)
#9 pc 0x0000000000276d20 /data/app/~~bo1n65T60gU4o8CcdwOCmw==/altitude.alarm.erol.apps-JKP8Bd2uCCLmQoE1jwP64A==/base.apk (org.maplibre.android.maps.renderer.MapRenderer.onDrawFrame+12)
#10 pc 0x000000000068a444 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#11 pc 0x0000000000288fc4 /data/app/~~bo1n65T60gU4o8CcdwOCmw==/altitude.alarm.erol.apps-JKP8Bd2uCCLmQoE1jwP64A==/base.apk (qe.e.onDrawFrame)
#12 pc 0x000000000068a444 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#13 pc 0x00000000002881dc /data/app/~~bo1n65T60gU4o8CcdwOCmw==/altitude.alarm.erol.apps-JKP8Bd2uCCLmQoE1jwP64A==/base.apk (qe.b$b.c+872)
#14 pc 0x000000000068a444 /apex/com.android.art/lib64/libart.so (nterp_helper+3924)
#15 pc 0x0000000000288a60 /data/app/~~bo1n65T60gU4o8CcdwOCmw==/altitude.alarm.erol.apps-JKP8Bd2uCCLmQoE1jwP64A==/base.apk (qe.d$b.run+48)
#16 pc 0x0000000000328194 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+612)
#17 pc 0x00000000002d9348 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+216)
#18 pc 0x0000000000421028 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+932)
#19 pc 0x0000000000420c74 /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallbackWithUffdGc(void*)+8)
#20 pc 0x000000000006eafc /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+196)
#21 pc 0x0000000000061664 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)`

Steps to reproduce

unknown

Renderer

No response

Relevant log output

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions