Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Seg Fault when clearing Map #135

Open
mrosendorff opened this issue Jan 14, 2025 · 0 comments
Open

Seg Fault when clearing Map #135

mrosendorff opened this issue Jan 14, 2025 · 0 comments

Comments

@mrosendorff
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant