Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Immediate crash on map load (Android) #11268

Closed
femski opened this issue Feb 21, 2018 · 1 comment
Closed

Immediate crash on map load (Android) #11268

femski opened this issue Feb 21, 2018 · 1 comment
Labels
Android Mapbox Maps SDK for Android crash needs information

Comments

@femski
Copy link

femski commented Feb 21, 2018

Platform: Android, Both my users were on higher Android version (7.0 and 8.0)

Mapbox SDK version : 6.0.x/master branch

Steps to trigger behavior

Load a map page as usual, app will crash on startup while bootstrapping. map page never loads fully.

Expected behavior

Map page loads as usual.

Actual behavior

Crash. It seems when Native/C++ layer (onDidFinishLoadingStyle) is calling into Java Layer (onDidFinishLoadingStyle) which then tries to call back into c++ layer (notifyMapChange) and crashes.

Routine mbgl::Map::Impl::onStyleLoaded() at /home/skumar/src/mapbox-gl-native-avnav/src/mbgl/map/map.cpp:789

NativeMapView::::onDidFinishLoadingStyle() {
notifyMapChange(MapChange::MapChangeDidFinishLoadingStyle);
}

void NativeMapView::notifyMapChange(mbgl::MapChange change) {
assert(vm != nullptr);

android::UniqueEnv _env = android::AttachEnv();
static auto onMapChanged = javaClass.GetMethod<void (int)>(*_env, "onMapChanged");
javaPeer->Call(*_env, onMapChanged, (int) change);

}

Stack race:

Stack frame #4 pc 00000000004d08e8 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine abort_message at /usr/local/google/buildbot/src/android/ndk-release-r16/external/libcxx/../../external/libcxxabi/src/abort_message.c) pp:77
Stack frame #5 pc 00000000004d0a10 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine demangling_terminate_handler() at /usr/local/google/buildbot/src/android/ndk-release-r16/external/libcxx/../../external/libcxxabi/src/cxa_default_handlers.cpp:68
Stack frame #6 pc 00000000004ce180 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine std::__terminate(void ()()) at /usr/local/google/buildbot/src/android/ndk-release-r16/external/libcxx/../../external/libcxxabi/src/cxa_handlers.cpp:65
Stack frame #7 pc 00000000004cda94 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine __cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception
) at /usr/local/google/buildbot/src/android/ndk-release-r16/external/libcxx/../../external/libcxxabi/src/cxa_exception.cpp:133
Stack frame #8 pc 00000000000a42c4 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine jni::CheckJavaException(_JNIEnv&) at /home/skumar/src/mapbox-gl-native-avnav/platform/android/MapboxGLAndroidSDK/.externalNativeBuild/cmake/release/arm64-v8a/../../../../../../../mason_packages/headers/jni.hpp/3.0.0/include/jni/errors.hpp:69
Stack frame #9 pc 000000000009ce84 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine void jni::Objectmbgl::android::NativeMapView::Call(_JNIEnv&, jni::Method<mbgl::android::NativeMapView, void (int)> const&, int const&) const at /home/skumar/src/mapbox-gl-native-avnav/platform/android/MapboxGLAndroidSDK/.externalNativeBuild/cmake/release/arm64-v8a/../../../../../../../mason_packages/headers/jni.hpp/3.0.0/include/jni/object.hpp:111
Stack frame #10 pc 00000000002347d4 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine mbgl::Map::Impl::onStyleLoaded() at /home/skumar/src/mapbox-gl-native-avnav/src/mbgl/map/map.cpp:789
Stack frame #11 pc 0000000000255508 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine mbgl::style::Style::Impl::parse(std::__ndk1::basic_string<char, std::__ndk1::char_traits, std::__ndk1::allocator > const&) at /home/skumar/src/mapbox-gl-native-avnav/src/mbgl/style/style_impl.cpp:123
Stack frame #12 pc 0000000000257740 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine operator() at /home/skumar/src/mapbox-gl-native-avnav/src/mbgl/style/style_impl.cpp:75
Stack frame #13 pc 0000000000107630 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine mbgl::FileSourceRequest::setResponse(mbgl::Response const&) at /home/skumar/src/mapbox-gl-native-avnav/platform/default/file_source_request.cpp:30
Stack frame #14 pc 00000000002312e4 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine mbgl::Mailbox::receive() at /home/skumar/src/mapbox-gl-native-avnav/src/mbgl/actor/mailbox.cpp:58
Stack frame #15 pc 0000000000231480 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine mbgl::Mailbox::maybeReceive(std::__ndk1::weak_ptrmbgl::Mailbox) at /home/skumar/src/mapbox-gl-native-avnav/src/mbgl/actor/mailbox.cpp:67
Stack frame #16 pc 000000000037ca6c /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine operator() at /home/skumar/src/mapbox-gl-native-avnav/platform/android/MapboxGLAndroidSDK/.externalNativeBuild/cmake/release/arm64-v8a/../../../../../../../include/mbgl/util/run_loop.hpp:68
Stack frame #17 pc 000000000037bdb0 /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine mbgl::util::RunLoop::process() at /home/skumar/src/mapbox-gl-native-avnav/platform/android/MapboxGLAndroidSDK/.externalNativeBuild/cmake/release/arm64-v8a/../../../../../../../include/mbgl/util/run_loop.hpp:91
Stack frame #18 pc 000000000037b29c /data/app/us.avnav.efb-1/lib/arm64/libmapbox-gl.so: Routine mbgl::util::RunLoop::runOnce() at /home/skumar/src/mapbox-gl-native-avnav/platform/android/src/run_loop.cpp:244

@LukasPaczos LukasPaczos added the Android Mapbox Maps SDK for Android label Feb 21, 2018
@tobrun
Copy link
Member

tobrun commented Feb 23, 2018

@femski do you have any more context around this issue? either reproducible steps or the used style?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Android Mapbox Maps SDK for Android crash needs information
Projects
None yet
Development

No branches or pull requests

4 participants