<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Hang/Deadlock in CoreGeoView.Pulse in .NET Maps SDK Questions</title>
    <link>https://community.esri.com/t5/net-maps-sdk-questions/hang-deadlock-in-coregeoview-pulse/m-p/165304#M1882</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for the debugging information.&amp;nbsp; I'll give that a try.&lt;/P&gt;&lt;P&gt;Our application is x64.&lt;/P&gt;&lt;P&gt;At this point, it seems more timing related than memory, but I'll keep that in mind.&lt;/P&gt;&lt;P&gt;I can't answer your question about 100.8 just yet.&lt;/P&gt;&lt;P&gt;We updated to 100.8, but noticed a degradation in visual quality, so we immediately reverted.&lt;/P&gt;&lt;P&gt;I wasn't too involved in that process, so I don't have details about the issue with 100.8.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 27 Jun 2020 00:16:52 GMT</pubDate>
    <dc:creator>MattRickard</dc:creator>
    <dc:date>2020-06-27T00:16:52Z</dc:date>
    <item>
      <title>Hang/Deadlock in CoreGeoView.Pulse</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/hang-deadlock-in-coregeoview-pulse/m-p/165302#M1880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am occasionally getting a deadlock in CoreGeoView.Pulse.&lt;/P&gt;&lt;P&gt;I am using 100.7 currently.&lt;/P&gt;&lt;P&gt;My map has about 100 FeatureLayers from an mmpk.&lt;/P&gt;&lt;P&gt;I do have multiple maps within the same application as well.&lt;/P&gt;&lt;P&gt;If my code does something at just the wrong time, it hangs.&lt;/P&gt;&lt;P&gt;Here are the activities I am doing that may cause it:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;Add/Remove Layers&lt;/LI&gt;&lt;LI&gt;SetViewpoint&lt;UL&gt;&lt;LI&gt;We are calling this frequently, using our own navigation mechanism.&lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;LI&gt;Set Feature Visibility on certain FeatureLayers&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are there any known issues with CoreGeoView.Pulse getting stuck for an extended period of time, or getting interrupted and deadlocking?&lt;/P&gt;&lt;P&gt;Is there any status I can check to see if the map is ready.&lt;/P&gt;&lt;P&gt;We are checking for MapView.Loaded, Map.LoadStatus.&lt;/P&gt;&lt;P&gt;We also tried to monitor DrawStatus, but delaying activity until the map is fully drawn isn't the best user experience.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jun 2020 22:12:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/hang-deadlock-in-coregeoview-pulse/m-p/165302#M1880</guid>
      <dc:creator>MattRickard</dc:creator>
      <dc:date>2020-06-26T22:12:34Z</dc:date>
    </item>
    <item>
      <title>Re: Hang/Deadlock in CoreGeoView.Pulse</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/hang-deadlock-in-coregeoview-pulse/m-p/165303#M1881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;An initial call stack ending in Geoview.Pulse means something interrupted the drawing but could be caused by a variety of things. You can get more information by enabling native debugging and&amp;nbsp;referencing the symbols as documented here:&amp;nbsp;&lt;A class="link-titled" href="https://developers.arcgis.com/net/latest/wpf/guide/debug-using-arcgis-runtime-windows-symbol-files.htm" title="https://developers.arcgis.com/net/latest/wpf/guide/debug-using-arcgis-runtime-windows-symbol-files.htm"&gt;Debug using ArcGIS Runtime Windows symbol files—ArcGIS Runtime SDK for .NET | ArcGIS for Developers&lt;/A&gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A couple of questions:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- Are you able to reproduce with 100.8?&lt;/P&gt;&lt;P&gt;We&amp;nbsp;made a specific enhancement in the 100.8 release for applications with multiple maps/mapviews.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- What is your application `Platform target`? (x86 | x64 | AnyCPU + Prefer 32-bit | AnyCPU)&lt;/P&gt;&lt;P&gt;100 feature layers is a&amp;nbsp;significant number of layers to be loading concurrently. Because you also mentioned multiple maps/mapviews it's worth checking whether your application is hitting the memory limit for its specific architecture (if it's&amp;nbsp;x86 then that's approx. 1.2GB or less).&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Jun 2020 00:04:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/hang-deadlock-in-coregeoview-pulse/m-p/165303#M1881</guid>
      <dc:creator>MichaelBranscomb</dc:creator>
      <dc:date>2020-06-27T00:04:02Z</dc:date>
    </item>
    <item>
      <title>Re: Hang/Deadlock in CoreGeoView.Pulse</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/hang-deadlock-in-coregeoview-pulse/m-p/165304#M1882</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for the debugging information.&amp;nbsp; I'll give that a try.&lt;/P&gt;&lt;P&gt;Our application is x64.&lt;/P&gt;&lt;P&gt;At this point, it seems more timing related than memory, but I'll keep that in mind.&lt;/P&gt;&lt;P&gt;I can't answer your question about 100.8 just yet.&lt;/P&gt;&lt;P&gt;We updated to 100.8, but noticed a degradation in visual quality, so we immediately reverted.&lt;/P&gt;&lt;P&gt;I wasn't too involved in that process, so I don't have details about the issue with 100.8.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Jun 2020 00:16:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/hang-deadlock-in-coregeoview-pulse/m-p/165304#M1882</guid>
      <dc:creator>MattRickard</dc:creator>
      <dc:date>2020-06-27T00:16:52Z</dc:date>
    </item>
    <item>
      <title>Re: Hang/Deadlock in CoreGeoView.Pulse</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/hang-deadlock-in-coregeoview-pulse/m-p/165305#M1883</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here are the callstacks for the 3 threads that appear to be deadlocked.&lt;/P&gt;&lt;P&gt;Memory usage for my whole app is 628MB.&lt;/P&gt;&lt;P&gt;WorkerThread 1 is doing a layer updated.&lt;/P&gt;&lt;P&gt;WorkerThread 2 is&amp;nbsp;doing the GeoView.Pulse.&lt;/P&gt;&lt;P&gt;The main thread is also waiting when attempting to get the current viewpoint.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Main Thread:&lt;BR /&gt; ntdll.dll!NtWaitForAlertByThreadId () Unknown&lt;BR /&gt; ntdll.dll!RtlAcquireSRWLockExclusive() Unknown&lt;BR /&gt; msvcp140.dll!mtx_do_lock(_Mtx_internal_imp_t * mtx, const xtime * target) Line 105 C++&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Map_renderer::Map::query_extent(class Esri_runtimecore::Geometry::Envelope_2D &amp;amp;) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Geo_views::Map_view::viewpoint(enum Esri_runtimecore::Geo_model::Viewpoint_type) Unknown&lt;BR /&gt; runtimecore.dll!RT_GeoView_getCurrentViewpoint () Unknown&lt;BR /&gt; RuntimeCoreNet.dll!CoreRT_GeoView_getCurrentViewpoint () Unknown&lt;BR /&gt; [Managed to Native Transition] &lt;BR /&gt; Esri.ArcGISRuntime.dll!RuntimeCoreNet.GeneratedWrappers.CoreGeoView.GetCurrentViewpoint(RuntimeCoreNet.GeneratedWrappers.CoreViewpointType viewpointType) Unknown&lt;BR /&gt; Esri.ArcGISRuntime.dll!Esri.ArcGISRuntime.UI.Controls.GeoView.ArrangeViewOverlays.AnonymousMethod__218_0() Unknown&lt;BR /&gt; Esri.ArcGISRuntime.dll!Esri.ArcGISRuntime.UI.Controls.MapView.OnRaiseViewpointChanged() Unknown&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Worker Thread 1:&lt;/P&gt;&lt;P&gt;&amp;gt; ntdll.dll!NtWaitForAlertByThreadId () Unknown&lt;BR /&gt; ntdll.dll!RtlAcquireSRWLockExclusive() Unknown&lt;BR /&gt; msvcp140.dll!mtx_do_lock(_Mtx_internal_imp_t * mtx, const xtime * target) Line 105 C++&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Map_renderer::Map::Layer_manager::insert_layer_drawable_(class std::shared_ptr&amp;lt;class Esri_runtimecore::Map_renderer::Layer&amp;gt; const &amp;amp;,class std::shared_ptr&amp;lt;class Esri_runtimecore::Map_renderer::Layer&amp;gt; const &amp;amp;,int) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Map_renderer::Map::Layer_manager::insert_layer(class std::shared_ptr&amp;lt;class Esri_runtimecore::Map_renderer::Layer&amp;gt; const &amp;amp;,struct Esri_runtimecore::Map_renderer::Layer_info const &amp;amp;) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Map_renderer::Map::insert_layer(class std::shared_ptr&amp;lt;class Esri_runtimecore::Map_renderer::Layer&amp;gt; const &amp;amp;,struct Esri_runtimecore::Map_renderer::Layer_info const &amp;amp;) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Geo_views::Geo_view::layer_container_insert_(class std::shared_ptr&amp;lt;class Esri_runtimecore::Map_renderer::Layer&amp;gt; const &amp;amp;,struct Esri_runtimecore::Map_renderer::Layer_info const &amp;amp;,class Esri_runtimecore::Common::Visitor_ptr&amp;lt;class Esri_runtimecore::Geo_model::Group_layer&amp;gt; const &amp;amp;) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Geo_views::Geo_view::layer_updated_(class Esri_runtimecore::Common::Visitor_ptr&amp;lt;class Esri_runtimecore::Geo_model::Layer&amp;gt; const &amp;amp;,enum Esri_runtimecore::Geo_views::Geo_view::Collection_type,class std::vector&amp;lt;class Esri_runtimecore::Geo_views::Layer_info,class std::allocator&amp;lt;class Esri_runtimecore::Geo_views::Layer_info&amp;gt; &amp;gt; *,class Esri_runtimecore::Common::Visitor_ptr&amp;lt;class Esri_runtimecore::Geo_model::Group_layer&amp;gt;) Unknown&lt;BR /&gt; runtimecore.dll!&amp;lt;lambda&amp;gt;(void)() Unknown&lt;BR /&gt; runtimecore.dll!std::_Func_impl_no_alloc&amp;lt;&amp;lt;lambda_23d350ddfca9531044d43a119b81b3d3&amp;gt;,boost::any&amp;gt;::_Do_call() Unknown&lt;BR /&gt; runtimecore.dll!&amp;lt;lambda&amp;gt;(void)() Unknown&lt;BR /&gt; runtimecore.dll!std::_Func_impl_no_alloc&amp;lt;&amp;lt;lambda&amp;gt;(void),boost::any&amp;gt;::_Do_call() Unknown&lt;BR /&gt; runtimecore.dll!pplx::task&amp;lt;boost::any&amp;gt;::_InitialTaskHandle&amp;lt;boost::any,&amp;lt;lambda&amp;gt;(void),pplx::details::_TypeSelectorNoAsync&amp;gt;::_Init() Unknown&lt;BR /&gt; runtimecore.dll!pplx::details::_PPLTaskHandle&amp;lt;boost::any,pplx::task&amp;lt;boost::any&amp;gt;::_InitialTaskHandle&amp;lt;boost::any,&amp;lt;lambda&amp;gt;(void),pplx::details::_TypeSelectorNoAsync&amp;gt;,pplx::details::_TaskProcHandle&amp;gt;::invoke() Unknown&lt;BR /&gt; runtimecore.dll!pplx::details::_TaskProcHandle::_RunChoreBridge(void *) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Common::Core_scheduler::Queued_proc::invoke(void) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Common::Core_scheduler::bridge_proc_(void *) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Common::Core_scheduler::Queued_proc::invoke(void) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Common::Core_scheduler::bridge_proc_(void *) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Common::Windows_Threadpool_scheduler::Scheduler_param::work_callback(struct _TP_CALLBACK_INSTANCE *,void *,struct _TP_WORK *) Unknown&lt;BR /&gt; ntdll.dll!TppWorkpExecuteCallback() Unknown&lt;BR /&gt; ntdll.dll!TppWorkerThread() Unknown&lt;BR /&gt; kernel32.dll!BaseThreadInitThunk () Unknown&lt;BR /&gt; ntdll.dll!RtlUserThreadStart () Unknown&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Worker Thread 2:&lt;BR /&gt; ntdll.dll!NtWaitForAlertByThreadId () Unknown&lt;BR /&gt; ntdll.dll!RtlAcquireSRWLockExclusive() Unknown&lt;BR /&gt; msvcp140.dll!mtx_do_lock(_Mtx_internal_imp_t * mtx, const xtime * target) Line 105 C++&lt;BR /&gt;&amp;gt; runtimecore.dll!Esri_runtimecore::Map_renderer::Map::copy_display_properties(void) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Map_renderer::Canvas_layer::get_display_properties_(void) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Map_renderer::Canvas_layer::update(class Esri_runtimecore::Geometry::Envelope_2D const &amp;amp;) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Map_renderer::Static_vector_layer::handle_data_changes_(class std::shared_ptr&amp;lt;class Esri_runtimecore::Map_renderer::Display_properties&amp;gt; const &amp;amp;) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Map_renderer::Static_vector_layer::prepare_(class std::shared_ptr&amp;lt;class Esri_runtimecore::Map_renderer::Display_properties&amp;gt; const &amp;amp;) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Map_renderer::Canvas_drawable::prepare_(class std::shared_ptr&amp;lt;class Esri_runtimecore::Map_renderer::Display_properties&amp;gt; const &amp;amp;) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Map_renderer::Canvas_drawable::prepare(class std::shared_ptr&amp;lt;class Esri_runtimecore::Map_renderer::Drawable::Render_properties&amp;gt; &amp;amp;,class std::shared_ptr&amp;lt;class Esri_runtimecore::Map_renderer::Display_properties&amp;gt; const &amp;amp;) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Map_renderer::Map::on_pulse_(void) Unknown&lt;BR /&gt; runtimecore.dll!Esri_runtimecore::Geo_views::Map_view::pulse(void) Unknown&lt;BR /&gt; runtimecore.dll!RT_GeoView_pulse () Unknown&lt;BR /&gt; RuntimeCoreNet.dll!CoreRT_GeoView_pulse () Unknown&lt;BR /&gt; [Managed to Native Transition] &lt;BR /&gt; Esri.ArcGISRuntime.dll!RuntimeCoreNet.GeneratedWrappers.CoreGeoView.Pulse() Unknown&lt;BR /&gt; Esri.ArcGISRuntime.dll!Esri.ArcGISRuntime.Internal.HostedSurfaceElement.CompositionTarget_Rendering(object sender, System.EventArgs e) Unknown&lt;BR /&gt; PresentationCore.dll!System.Windows.Media.MediaContext.RenderMessageHandlerCore(object resizedCompositionTarget) Unknown&lt;BR /&gt; PresentationCore.dll!System.Windows.Media.MediaContext.AnimatedRenderMessageHandler(object resizedCompositionTarget) Unknown&lt;BR /&gt; WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate callback, object args, int numArgs) Unknown&lt;BR /&gt; WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.TryCatchWhen(object source, System.Delegate callback, object args, int numArgs, System.Delegate catchHandler) Unknown&lt;BR /&gt; WindowsBase.dll!System.Windows.Threading.DispatcherOperation.InvokeImpl() Unknown&lt;BR /&gt; WindowsBase.dll!MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(object obj) Unknown&lt;BR /&gt; mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Unknown&lt;BR /&gt; mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx) Unknown&lt;BR /&gt; mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Unknown&lt;BR /&gt; WindowsBase.dll!MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext executionContext, System.Threading.ContextCallback callback, object state) Unknown&lt;BR /&gt; WindowsBase.dll!System.Windows.Threading.DispatcherOperation.Invoke() Unknown&lt;BR /&gt; WindowsBase.dll!System.Windows.Threading.Dispatcher.ProcessQueue() Unknown&lt;BR /&gt; WindowsBase.dll!System.Windows.Threading.Dispatcher.WndProcHook(System.IntPtr hwnd, int msg, System.IntPtr wParam, System.IntPtr lParam, ref bool handled) Unknown&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Jun 2020 03:06:30 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/hang-deadlock-in-coregeoview-pulse/m-p/165305#M1883</guid>
      <dc:creator>MattRickard</dc:creator>
      <dc:date>2020-06-27T03:06:30Z</dc:date>
    </item>
    <item>
      <title>Re: Hang/Deadlock in CoreGeoView.Pulse</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/hang-deadlock-in-coregeoview-pulse/m-p/165306#M1884</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Upgrading to 100.8 seems to have helped quite a bit.&lt;/P&gt;&lt;P&gt;I also rearranged my code to not rapidly:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;add layers&lt;/LI&gt;&lt;LI&gt;set viewpoint&lt;/LI&gt;&lt;LI&gt;set Feature visibility&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;I'll submit another question about the visual quality issues I am seeing.&lt;/P&gt;&lt;P&gt;Thanks for the help.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 27 Jun 2020 16:43:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/hang-deadlock-in-coregeoview-pulse/m-p/165306#M1884</guid>
      <dc:creator>MattRickard</dc:creator>
      <dc:date>2020-06-27T16:43:12Z</dc:date>
    </item>
  </channel>
</rss>

