Skip to content

Seg Fault when clearing Map #135

@mrosendorff

Description

@mrosendorff

Hi

I have seen intermittent crashes with my clients caused by Seg faults, I have managed to replicate it once locally and got this stack track

Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x60 in tid 25467 (com.test), pid 25467 (com.test)
2025-01-14 12:51:42.414 28101-28101 DEBUG                   pid-28101                            A  pid: 25467, tid: 25467, name: com.test  >>> cloud.trackcom.test <<<
2025-01-14 12:51:43.082 28101-28101 DEBUG                   crash_dump32                         A        #00 pc 00585e4a  /data/app/~~Cg8_ILc3GkvLY8od--keCA==/cloud.trackcom.test-FTo_2BF-D7tdBcgKfc-_fw==/base.apk!libmaplibre.so (offset 0xeb0000) (BuildId: 2c19aafef20b7c6f0f6ee5721d38546d48c11c1b)
2025-01-14 12:51:43.083 28101-28101 DEBUG                   crash_dump32                         A        #01 pc 003d2317  /data/app/~~Cg8_ILc3GkvLY8od--keCA==/cloud.trackcom.test-FTo_2BF-D7tdBcgKfc-_fw==/base.apk!libmaplibre.so (offset 0xeb0000) (mbgl::android::Layer::getVisibility(_JNIEnv&)+22) (BuildId: 2c19aafef20b7c6f0f6ee5721d38546d48c11c1b)
2025-01-14 12:51:43.083 28101-28101 DEBUG                   crash_dump32                         A        #02 pc 003d3e03  /data/app/~~Cg8_ILc3GkvLY8od--keCA==/cloud.trackcom.test-FTo_2BF-D7tdBcgKfc-_fw==/base.apk!libmaplibre.so (offset 0xeb0000) (auto jni::NativeMethodMaker<jni::Unique<jni::Object<jni::ObjectTag>, jni::DefaultRefDeleter<&(_JNIEnv::DeleteLocalRef(_jobject*))> > (auto jni::NativePeerMemberFunctionMethod<jni::Unique<jni::Object<jni::ObjectTag>, jni::DefaultRefDeleter<&(_JNIEnv::DeleteLocalRef(_jobject*))> > (mbgl::android::Layer::*)(_JNIEnv&), &(mbgl::android::Layer::getVisibility(_JNIEnv&))>::operator()<mbgl::android::Layer, mbgl::android::Layer, void>(jni::Field<mbgl::android::Layer, long long> const&)::'lambda'(_JNIEnv&, jni::Object<mbgl::android::Layer>&)::*)(_JNIEnv&, jni::Object<mbgl::android::Layer>&) const>::operator()<auto jni::NativePeerMemberFunctionMethod<jni::Unique<jni::Object<jni::ObjectTag>, jni::DefaultRefDeleter<&(_JNIEnv::DeleteLocalRef(_jobject*))> > (mbgl::android::Layer::*)(_JNIEnv&), &(mbgl::android::Layer::getVisibility(_JNIEnv&))>::operator()<mbgl::android::Layer, mbgl::android::Layer, void>(jni::Field<mbgl::android::Layer, long long> const&)::'lambda'(_JNIEnv&, jni::Object<mbgl::android::Layer>&)>(char const*, auto jni::NativePeerMemberFunctionMethod<jni::Unique<jni::Object<jni::ObjectTag>, jni::DefaultRefDeleter<&(_JNIEnv::DeleteLocalRef(_jobject*))> > (mbgl::android::Layer::*)(_JNIEnv&), &(mbgl::android::Layer::getVisibility(_JNIEnv&))>::operator()<mbgl::android::Layer, mbgl::android::Layer, void>(jni::Field<mbgl::android::Layer, long long> const&)::'lambda'(_JNIEnv&, jni::Object<mbgl::android::Layer>&) const&)::'lambda'(_JNIEnv*, jni::jobject*)::__invoke(_JNIEnv*, jni::jobject*)+58) (BuildId: 2c19aafef20b7c6f0f6ee5721d38546d48c11c1b)
2025-01-14 12:51:43.083 28101-28101 DEBUG                   crash_dump32                         A        #03 pc 003d3e85  /data/app/~~Cg8_ILc3GkvLY8od--keCA==/cloud.trackcom.test-FTo_2BF-D7tdBcgKfc-_fw==/base.apk!libmaplibre.so (offset 0xeb0000) (auto auto jni::MakeNativeMethod<auto jni::NativeMethodMaker<jni::Unique<jni::Object<jni::ObjectTag>, jni::DefaultRefDeleter<&(_JNIEnv::DeleteLocalRef(_jobject*))> > (auto jni::NativePeerMemberFunctionMethod<jni::Unique<jni::Object<jni::ObjectTag>, jni::DefaultRefDeleter<&(_JNIEnv::DeleteLocalRef(_jobject*))> > (mbgl::android::Layer::*)(_JNIEnv&), &(mbgl::android::Layer::getVisibility(_JNIEnv&))>::operator()<mbgl::android::Layer, mbgl::android::Layer, void>(jni::Field<mbgl::android::Layer, long long> const&)::'lambda'(_JNIEnv&, jni::Object<mbgl::android::Layer>&)::*)(_JNIEnv&, jni::Object<mbgl::android::Layer>&) const>::operator()<auto jni::NativePeerMemberFunctionMethod<jni::Unique<jni::Object<jni::ObjectTag>, jni::DefaultRefDeleter<&(_JNIEnv::DeleteLocalRef(_jobject*))> > (mbgl::android::Layer::*)(_JNIEnv&), &(mbgl::android::Layer::getVisibility(_JNIEnv&))>::operator()<mbgl::android::Layer, mbgl::android::Layer, void>(jni::Field<mbgl::android::Layer, long long> const&)::'lambda'(_JNIEnv&, jni::Object<mbgl::android::Layer>&)>(char const*, auto jni::NativePeerMemberFunctionMethod<jni::Unique<jni::Object<jni::ObjectTag>, jni::DefaultRefDeleter<&(_JNIEnv::DeleteLocalRef(_jobject*))> > (mbgl::android::Layer::*)(_JNIEnv&), &(mbgl::android::Layer::getVisibility(_JNIEnv&))>::operator()<mbgl::android::Layer, mbgl::android::Layer, void>(jni::Field<mbgl::android::Layer, long long> const&)::'lambda'(_JNIEnv&, jni::Object<mbgl::android::Layer>&) const&)::'lambda'(_JNIEnv*, jni::jobject*)>(char const*, char const*, auto jni::NativePeerMemberFunctionMethod<jni::Unique<jni::Object<jni::ObjectTag>, jni::DefaultRefDeleter<&(_JNIEnv::DeleteLocalRef(_jobject*))> > (mbgl::android::Layer::*)(_JNIEnv&), &(mbgl::android::Layer::getVisibility(_JNIEnv&))>::operator()<mbgl::android::Layer, mbgl::android::Layer, void>(jni::Field<mbgl::android::Layer, long long> const&)::'lambda'(_JNIEnv&, jni::Object<mbgl::android::Layer>&) const&, std::__ndk1::enable_if<std::is_class<auto jni::NativePeerMemberFunctionMethod<jni::Unique<jni::Object<jni::ObjectTag>, jni::DefaultRefDeleter<&(_JNIEnv::DeleteLocalRef(_jobject*))> > (mbgl::android::Layer::*)(_JNIEnv&), &(mbgl::android::Layer::getVisibility(_JNIEnv&))>::operator()<mbgl::android::Layer, mbgl::android::Layer, void>(jni::Field<mbgl::android::Layer, long long> const&)::'lambda'(_JNIEnv&, jni::Object<mbgl::android::Layer>&)>::value, void>::type*)::'lambda'(_JNIEnv*, auto...)::__invoke<jni::jobject*>(_JNIEnv*, auto...)+28) (BuildId: 2c19aafef20b7c6f0f6ee5721d38546d48c11c1b)
2025-01-14 12:51:43.084 28101-28101 DEBUG                   crash_dump32                         A        #12 pc 003ae56c  [anon:dalvik-classes20.dex extracted in memory from /data/app/~~Cg8_ILc3GkvLY8od--keCA==/cloud.trackcom.test-FTo_2BF-D7tdBcgKfc-_fw==/base.apk!classes20.dex] (org.maplibre.android.style.layers.Layer.getVisibility)
2025-01-14 12:51:43.084 28101-28101 DEBUG                   crash_dump32                         A        #27 pc 003f3418  [anon:dalvik-classes20.dex extracted in memory from /data/app/~~Cg8_ILc3GkvLY8od--keCA==/cloud.trackcom.test-FTo_2BF-D7tdBcgKfc-_fw==/base.apk!classes20.dex] (org.maplibre.navigation.android.navigation.v5.navigation.NavigationMapRoute.clearRoutes)
2025-01-14 12:51:43.085 28101-28101 DEBUG                   crash_dump32                         A        #33 pc 003f3e44  [anon:dalvik-classes20.dex extracted in memory from /data/app/~~Cg8_ILc3GkvLY8od--keCA==/cloud.trackcom.test-FTo_2BF-D7tdBcgKfc-_fw==/base.apk!classes20.dex] (org.maplibre.navigation.android.navigation.v5.navigation.NavigationMapRoute.removeRoute)
2025-01-14 12:51:43.085 28101-28101 DEBUG                   crash_dump32                         A        #39 pc 00241224  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~Cg8_ILc3GkvLY8od--keCA==/cloud.trackcom.test-FTo_2BF-D7tdBcgKfc-_fw==/base.apk!classes19.dex] (com.test.fragments.NavigationFragment.processRouteResponse)
2025-01-14 12:51:43.085 28101-28101 DEBUG                   crash_dump32                         A        #45 pc 0023fed0  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~Cg8_ILc3GkvLY8od--keCA==/cloud.trackcom.test-FTo_2BF-D7tdBcgKfc-_fw==/base.apk!classes19.dex] (com.test.fragments.NavigationFragment.calculateRoute)
2025-01-14 12:51:43.085 28101-28101 DEBUG                   crash_dump32                         A        #51 pc 0023fc38  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~Cg8_ILc3GkvLY8od--keCA==/cloud.trackcom.test-FTo_2BF-D7tdBcgKfc-_fw==/base.apk!classes19.dex] (com.test.fragments.NavigationFragment.access$calculateRoute)
2025-01-14 12:51:43.086 28101-28101 DEBUG                   crash_dump32                         A        #57 pc 0023ed34  [anon:dalvik-classes19.dex extracted in memory from /data/app/~~Cg8_ILc3GkvLY8od--keCA==/cloud.trackcom.test-FTo_2BF-D7tdBcgKfc-_fw==/base.apk!classes19.dex] (com.test.fragments.NavigationFragment$calculateRoute$1.invokeSuspend)
2025-01-14 12:51:45.544  3584-3584  audit                   auditd                               E  type=1400 audit(1736851905.537:384): avc:  granted  { execute } for  pid=28138 comm="re-initialized>" path="/data/data/cloud.trackcom.test/code_cache/startup_agents/015e5abc-agent.so" dev="mmcblk0p32" ino=67769 scontext=u:r:untrusted_app:s0:c26,c257,c512,c768 tcontext=u:object_r:app_data_file:s0:c26,c257,c512,c768 tclass=file SEPF_SM-A105F_11_0010 audit_filtered

Before drawing a route to the screen I clear the old one and it seems that is where the crash is occuring.

I am currently running

maplibre-navigation-android: 4.0.0
android-sdk: 11.7.1

Any advice on further investigation would be much appreciated

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions