maplibre-native: Native Crash in Komoot Android App caused by MapLibre
Issue We have a lot of native app crash reports of our Komoot Android app. Crashlytics reports a native crash because of MapLibre.: libmapbox-gl.so (mbgl::LocalGlyphRasterizer::~LocalGlyphRasterizer()+60) (BuildId: 0ca6fcacfa62e5433d32610ec52e8c93ed5b89ae)
To Reproduce We can’t reproduce this issue on our test devices. The crash happens to 0.5% of our active user base which is a lot for us. Thousands of users per week are affected. We see that this crash affects all Android versions and all market devices. The problem is not limited to any vendor or device.
Expected behavior To not crash.
Platform information (please complete the following information):
- OS: Android
- Platform: Android
- Version: MapLibre 10.2.0
Contact Please tell us how we can help and support you with deeper insights. Thank you
The Komoot Android Engineers
Stack Trace
pid: 0, tid: 23318 >>> de.komoot.android <<<
backtrace:
#00 pc 0x00000000004096c4 /data/app/~~TZYrLt1vAsGrhwe6XBmvrw==/de.komoot.android-nOM594XGFYGMQTGYk7PS0w==/split_config.arm64_v8a.apk!libmapbox-gl.so (mbgl::LocalGlyphRasterizer::~LocalGlyphRasterizer()+60) (BuildId: 0ca6fcacfa62e5433d32610ec52e8c93ed5b89ae)
#01 pc 0x0000000000710cc0 /data/app/~~TZYrLt1vAsGrhwe6XBmvrw==/de.komoot.android-nOM594XGFYGMQTGYk7PS0w==/split_config.arm64_v8a.apk!libmapbox-gl.so (BuildId: 0ca6fcacfa62e5433d32610ec52e8c93ed5b89ae)
#02 pc 0x00000000005c2ed4 /data/app/~~TZYrLt1vAsGrhwe6XBmvrw==/de.komoot.android-nOM594XGFYGMQTGYk7PS0w==/split_config.arm64_v8a.apk!libmapbox-gl.so (BuildId: 0ca6fcacfa62e5433d32610ec52e8c93ed5b89ae)
#03 pc 0x00000000005c1554 /data/app/~~TZYrLt1vAsGrhwe6XBmvrw==/de.komoot.android-nOM594XGFYGMQTGYk7PS0w==/split_config.arm64_v8a.apk!libmapbox-gl.so (BuildId: 0ca6fcacfa62e5433d32610ec52e8c93ed5b89ae)
#04 pc 0x0000000000437638 /data/app/~~TZYrLt1vAsGrhwe6XBmvrw==/de.komoot.android-nOM594XGFYGMQTGYk7PS0w==/split_config.arm64_v8a.apk!libmapbox-gl.so (mbgl::android::MapRenderer::~MapRenderer()+328) (BuildId: 0ca6fcacfa62e5433d32610ec52e8c93ed5b89ae)
#05 pc 0x0000000000437740 /data/app/~~TZYrLt1vAsGrhwe6XBmvrw==/de.komoot.android-nOM594XGFYGMQTGYk7PS0w==/split_config.arm64_v8a.apk!libmapbox-gl.so (mbgl::android::MapRenderer::~MapRenderer()+16) (BuildId: 0ca6fcacfa62e5433d32610ec52e8c93ed5b89ae)
#06 pc 0x000000000043b2cc /data/app/~~TZYrLt1vAsGrhwe6XBmvrw==/de.komoot.android-nOM594XGFYGMQTGYk7PS0w==/split_config.arm64_v8a.apk!libmapbox-gl.so (auto jni::NativeMethodMaker<void (jni::NativePeerHelper<mbgl::android::MapRenderer, mbgl::android::MapRenderer, std::__ndk1::unique_ptr<mbgl::android::MapRenderer, std::__ndk1::default_delete<mbgl::android::MapRenderer> > (_JNIEnv&, jni::Object<mbgl::android::MapRenderer> const&, float, jni::Object<jni::StringTag> const&)>::MakeFinalizer(jni::Field<mbgl::android::MapRenderer, long> const&, char const*) const::'lambda'(_JNIEnv&, jni::Object<mbgl::android::MapRenderer>&)::*)(_JNIEnv&, jni::Object<mbgl::android::MapRenderer>&) const>::operator()<jni::NativePeerHelper<mbgl::android::MapRenderer, mbgl::android::MapRenderer, std::__ndk1::unique_ptr<mbgl::android::MapRenderer, std::__ndk1::default_delete<mbgl::android::MapRenderer> > (_JNIEnv&, jni::Object<mbgl::android::MapRenderer> const&, float, jni::Object<jni::StringTag> const&)>::MakeFinalizer(jni::Field<mbgl::android::MapRenderer, long> const&, char const*) const::'lambda'(_JNIEnv&, jni::Object<mbgl::android::MapRenderer>&)>(char const*, jni::NativePeerHelper<mbgl::android::MapRenderer, mbgl::android::MapRenderer, std::__ndk1::unique_ptr<mbgl::android::MapRenderer, std::__ndk1::default_delete<mbgl::android::MapRenderer> > (_JNIEnv&, jni::Object<mbgl::android::MapRenderer> const&, float, jni::Object<jni::StringTag> const&)>::MakeFinalizer(jni::Field<mbgl::android::MapRenderer, long> const&, char const*) const::'lambda'(_JNIEnv&, jni::Object<mbgl::android::MapRenderer>&) const&)::'lambda'(_JNIEnv*, jni::jobject*)::__invoke(_JNIEnv*, jni::jobject*)+52) (BuildId: 0ca6fcacfa62e5433d32610ec52e8c93ed5b89ae)
#07 pc 0x000000000043b440 /data/app/~~TZYrLt1vAsGrhwe6XBmvrw==/de.komoot.android-nOM594XGFYGMQTGYk7PS0w==/split_config.arm64_v8a.apk!libmapbox-gl.so (auto auto jni::MakeNativeMethod<auto jni::NativeMethodMaker<void (jni::NativePeerHelper<mbgl::android::MapRenderer, mbgl::android::MapRenderer, std::__ndk1::unique_ptr<mbgl::android::MapRenderer, std::__ndk1::default_delete<mbgl::android::MapRenderer> > (_JNIEnv&, jni::Object<mbgl::android::MapRenderer> const&, float, jni::Object<jni::StringTag> const&)>::MakeFinalizer(jni::Field<mbgl::android::MapRenderer, long> const&, char const*) const::'lambda'(_JNIEnv&, jni::Object<mbgl::android::MapRenderer>&)::*)(_JNIEnv&, jni::Object<mbgl::android::MapRenderer>&) const>::operator()<jni::NativePeerHelper<mbgl::android::MapRenderer, mbgl::android::MapRenderer, std::__ndk1::unique_ptr<mbgl::android::MapRenderer, std::__ndk1::default_delete<mbgl::android::MapRenderer> > (_JNIEnv&, jni::Object<mbgl::android::MapRenderer> const&, float, jni::Object<jni::StringTag> const&)>::MakeFinalizer(jni::Field<mbgl::android::MapRenderer, long> const&, char const*) const::'lambda'(_JNIEnv&, jni::Object<mbgl::android::MapRenderer>&)>(char const*, jni::NativePeerHelper<mbgl::android::MapRenderer, mbgl::android::MapRenderer, std::__ndk1::unique_ptr<mbgl::android::MapRenderer, std::__ndk1::default_delete<mbgl::android::MapRenderer> > (_JNIEnv&, jni::Object<mbgl::android::MapRenderer> const&, float, jni::Object<jni::StringTag> const&)>::MakeFinalizer(jni::Field<mbgl::android::MapRenderer, long> const&, char const*) const::'lambda'(_JNIEnv&, jni::Object<mbgl::android::MapRenderer>&) const&)::'lambda'(_JNIEnv*, jni::jobject*)>(char const*, char const*, jni::NativePeerHelper<mbgl::android::MapRenderer, mbgl::android::MapRenderer, std::__ndk1::unique_ptr<mbgl::android::MapRenderer, std::__ndk1::default_delete<mbgl::android::MapRenderer> > (_JNIEnv&, jni::Object<mbgl::android::MapRenderer> const&, float, jni::Object<jni::StringTag> const&)>::MakeFinalizer(jni::Field<mbgl::android::MapRenderer, long> const&, char const*) const::'lambda'(_JNIEnv&, jni::Object<mbgl::android::MapRenderer>&) const&, std::__ndk1::enable_if<std::is_class<jni::NativePeerHelper<mbgl::android::MapRenderer, mbgl::android::MapRenderer, std::__ndk1::unique_ptr<mbgl::android::MapRenderer, std::__ndk1::default_delete<mbgl::android::MapRenderer> > (_JNIEnv&, jni::Object<mbgl::android::MapRenderer> const&, float, jni::Object<jni::StringTag> const&)>::MakeFinalizer(jni::Field<mbgl::android::MapRenderer, long> const&, char const*) const::'lambda'(_JNIEnv&, jni::Object<mbgl::android::MapRenderer>&)>::value, void>::type*)::'lambda'(_JNIEnv*, auto...)::__invoke<jni::jobject*>(_JNIEnv*, auto...)+44) (BuildId: 0ca6fcacfa62e5433d32610ec52e8c93ed5b89ae)
#08 pc 0x000000000051089c /data/app/~~TZYrLt1vAsGrhwe6XBmvrw==/de.komoot.android-nOM594XGFYGMQTGYk7PS0w==/oat/arm64/base.odex (art_jni_trampoline+124)
#09 pc 0x0000000000058a54 /apex/com.android.art/javalib/arm64/boot-core-libart.oat (java.lang.Daemons$FinalizerDaemon.doFinalize+100)
#10 pc 0x0000000000058cbc /apex/com.android.art/javalib/arm64/boot-core-libart.oat (java.lang.Daemons$FinalizerDaemon.runInternal+492)
#11 pc 0x0000000000024d50 /apex/com.android.art/javalib/arm64/boot-core-libart.oat (java.lang.Daemons$Daemon.run+160)
#12 pc 0x000000000015ce98 /apex/com.android.art/javalib/arm64/boot.oat (java.lang.Thread.run+72)
#13 pc 0x0000000000134564 /apex/com.android.art/lib64/libart.so (art_quick_invoke_stub+548)
#14 pc 0x00000000001a9a78 /apex/com.android.art/lib64/libart.so (art::ArtMethod::Invoke(art::Thread*, unsigned int*, unsigned int, art::JValue*, char const*)+200)
#15 pc 0x000000000055e278 /apex/com.android.art/lib64/libart.so (art::JValue art::InvokeVirtualOrInterfaceWithJValues<art::ArtMethod*>(art::ScopedObjectAccessAlreadyRunnable const&, _jobject*, art::ArtMethod*, jvalue const*)+460)
#16 pc 0x00000000005ada3c /apex/com.android.art/lib64/libart.so (art::Thread::CreateCallback(void*)+1308)
#17 pc 0x00000000000eb7a8 /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
#18 pc 0x000000000008bc8c /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
About this issue
- Original URL
- State: open
- Created 5 months ago
- Comments: 19
@louwers I got some new backtraces.