AnsweredAssumed Answered

Labeling crash in runtime sdk 100.2.1

Question asked by Dendroyka on May 4, 2018
Latest reply on May 10, 2018 by Dendroyka

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

Outcomes