I'm using the arc gis runtime sdk for .net 100.2.1 on a Xamarin.Forms project. I have reports on my microsoft appcenter of crashes that I can't reproduce. They are only occurring on the iOS version and they seem to be related to labeling of features. I'm hoping the crash dump will give somebody enough information to steer me in the right direction to get a handle on the issue. The one bit I can offer is that i have a mode in the app where points will be added and removed to the map fairly frequently as the user's location changes.
Here's the dump from appcenter:
Esri_runtimecore::Labeling::Label_engine_2D_::remove_label_class(std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<int, std::__1::shared_ptr<Esri_runtimecore::Labeling::Label_class_> >, std::__1::__tree_node<std::__1::__value_type<int, std::__1::shared_ptr<Esri_runtimecore::Labeling::Label_class_> >, void*>*, long> >)
SIGSEGV
BACKGROUND THREAD 8 - CRASHED
0
ArcGIS-arm
Esri_runtimecore::Labeling::Label_engine_2D_::remove_label_class(std::__1::__map_iterator<std::__1::__tree_iterator<std::__1::__value_type<int, std::__1::shared_ptr<Esri_runtimecore::Labeling::Label_class_> >, std::__1::__tree_node<std::__1::__value_type<int, std::__1::shared_ptr<Esri_runtimecore::Labeling::Label_class_> >, void*>*, long> >)
1
ArcGIS-arm
std::__1::__function::__func<Esri_runtimecore::Labeling::Label_engine_<(Esri_runtimecore::Labeling::Dimension)2>::schedule_remove_label_class(int const&)::'lambda'(Esri_runtimecore::Labeling::Label_engine_<(Esri_runtimecore::Labeling::Dimension)2>&), std::__1::allocator<Esri_runtimecore::Labeling::Label_engine_<(Esri_runtimecore::Labeling::Dimension)2>::schedule_remove_label_class(int const&)::'lambda'(Esri_runtimecore::Labeling::Label_engine_<(Esri_runtimecore::Labeling::Dimension)2>&)>, bool (Esri_runtimecore::Labeling::Label_engine_<(Esri_runtimecore::Labeling::Dimension)2>&)>::operator()(Esri_runtimecore::Labeling::Label_engine_<(Esri_runtimecore::Labeling::Dimension)2>&)
2
ArcGIS-arm
Esri_runtimecore::Labeling::Label_engine_<(Esri_runtimecore::Labeling::Dimension)2>::update_labels()
3
ArcGIS-arm
std::__1::__function::__func<pplx::details::_MakeVoidToUnitFunc(std::__1::function<void ()> const&)::$_2, std::__1::allocator<pplx::details::_MakeVoidToUnitFunc(std::__1::function<void ()> const&)::$_2>, unsigned char ()>::operator()()
4
ArcGIS-arm
pplx::details::_PPLTaskHandle<unsigned char, pplx::task<unsigned char>::_InitialTaskHandle<void, Esri_runtimecore::Map_renderer::Label_layer::prepare(std::__1::shared_ptr<Esri_runtimecore::Map_renderer::Drawable::Render_properties>&, std::__1::shared_ptr<Esri_runtimecore::Map_renderer::Display_properties> const&)::$_2, pplx::details::_TypeSelectorNoAsync>, pplx::details::_TaskProcHandle>::invoke() const
5
ArcGIS-arm
pplx::details::_TaskProcHandle::_RunChoreBridge(void*)
6
ArcGIS-arm
Esri_runtimecore::Common::Core_scheduler::bridge_proc_(void*)
7
ArcGIS-arm
Esri_runtimecore::Common::Queued_thread::process_message_(std::__1::shared_ptr<Esri_runtimecore::Common::Message_queue::Message> const&)
8
ArcGIS-arm
Esri_runtimecore::Common::Queued_thread::execute_()
9
ArcGIS-arm
Esri_runtimecore::Common::Thread::thread_proc(Esri_runtimecore::Common::Thread*)
10
ArcGIS-arm
void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(Esri_runtimecore::Common::Thread*), Esri_runtimecore::Common::Thread*> >(void*)
11
libsystem_pthread.dylib
_pthread_body
12
libsystem_pthread.dylib
_pthread_start
13
libsystem_pthread.dylib
thread_start