Exception - "device or resource busy" in RT_MapView_locationToScreen

753
4
02-10-2020 08:17 AM
JeremyBridges
Occasional Contributor

We're not sure why this is occurring, but we get back the following crash from a few of our client sites. It is in a WPF application using Runtime. As the stack trace shows, this exception is not due to a particular call to the Runtime. Seems to be caused by the underlying layout engine. Any idea why this might be happening?

Esri.ArcGISRuntime.ArcGISRuntimeException: device or resource busy: 
c:\daily_r\rtc\runtimecore\c_api\src\mapping\map_view\map_view.cpp(479) : error : Exception caught in RT_MapView_locationToScreen

- at Esri.ArcGISRuntime.ArcGISException.HandleCoreError
- at RuntimeCoreNet.GeneratedWrappers.Interop.CheckError
- at RuntimeCoreNet.GeneratedWrappers.CoreMapView.LocationToScreen
- at Esri.ArcGISRuntime.UI.Controls.MapView.LocationToScreen
- at Esri.ArcGISRuntime.UI.Controls.GeoView.<ArrangeViewOverlays>b__205_1
- at Esri.ArcGISRuntime.UI.Controls.MapOverlayPanel.ArrangeMapOverlayItem
- at Esri.ArcGISRuntime.UI.Controls.MapOverlayPanel.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Border.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Grid.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Border.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Control.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Grid.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at MS.Internal.Helper.ArrangeElementWithSingleChild
- at System.Windows.Controls.ContentPresenter.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Border.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Control.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at MS.Internal.Helper.ArrangeElementWithSingleChild
- at System.Windows.Controls.ContentPresenter.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Control.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Grid.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Grid.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at MS.Internal.Helper.ArrangeElementWithSingleChild
- at System.Windows.Controls.ContentPresenter.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Grid.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Grid.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Decorator.ArrangeOverride
- at System.Windows.Documents.AdornerDecorator.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Controls.Grid.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Window.ArrangeOverride
- at System.Windows.FrameworkElement.ArrangeCore
- at System.Windows.UIElement.Arrange
- at System.Windows.Interop.HwndSource.Process_WM_SIZE
- at System.Windows.Interop.HwndSource.LayoutFilterMessage
- at MS.Win32.HwndWrapper.WndProc
- at MS.Win32.HwndSubclass.DispatcherCallbackOperation
- at System.Windows.Threading.ExceptionWrapper.InternalRealCall
- at System.Windows.Threading.ExceptionWrapper.TryCatchWhen
- at System.Windows.Threading.Dispatcher.LegacyInvokeImpl
- at MS.Win32.HwndSubclass.SubclassWndProc

Tags (2)
0 Kudos
4 Replies
dotMorten_esri
Esri Notable Contributor

This is the first time I've seen this.

Which version are you using?
Is there any chance you could collect a dump of the error that we can use for trouble shooting?

0 Kudos
JeremyBridges
Occasional Contributor

Great to chat with you, Morten.

This is on an older version of our app. It is using 100.3. Unfortunately, App Insights doesn't capture the dump. We only have this stack trace. We can engage with our customer and find that user/laptop, but that tends to be quite hard to track down. The only other detail we have is that the screen was likely in portrait mode (800x1280 was the system-reported resolution).

0 Kudos
dotMorten_esri
Esri Notable Contributor

Aaah. LOTS have changed in the rendering stack since U3 that has improved issues like this. Any chance you could try (as a test) if U7 remedies it? That might help pinpoint it a bit better.

Without a dump, unfortunately the error doesn't give me much to go on, except where the error was caught.

For what it's worth it appears to be coming from the map overlays, so one way to workaround it is to not use those. Of course I realize that probably isn't a viable solution either.

0 Kudos
JeremyBridges
Occasional Contributor

That's good to know. We'll likely push folks to the later versions of the app if we get support tickets on the error. So, I don't think any more diagnosis will be necessary. If we get an instance on 100.7, we'll let you know.

Thanks for the info!