wpfvirtualizingstackpanelui-virtualization

How to get seldom happening WPF exception to be reproduced more often?


At this point there will be no minimal reproducible example because I can reproduce this once a day at best and only with a product mainwindow which has thousands of xaml lines in multiple controls.

I'm investigating yet another WPF caused crash that can happen when either main window is resized or program thinks it's resized (WM_SIZE). The control in stacktrace is a virtualized Treeview. So i'm asking if there's ideas how to get the exception below reproduced more often?

Exception

2018-10-17 14:23:33: [traced at 17.10.2018 14:23:33] myprogram.exe Error: 0 : Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.

   at System.Windows.Controls.VirtualizingStackPanel.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ItemsPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.Controls.TreeViewItem.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.VirtualizingStackPanel.ArrangeItemsBeyondTheExtendedViewport(Boolean isHorizontal, UIElement child, Size childDesiredSize, Double arrangeLength, IList items, IItemContainerGenerator generator, IContainItemStorage itemStorageProvider, Boolean areContainersUniformlySized, Double uniformOrAverageContainerSize, Boolean beforeExtendedViewport, Rect& rcChild, Size& previousChildSize, Point& previousChildOffset, Int32& previousChildItemIndex)

   at System.Windows.Controls.VirtualizingStackPanel.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ItemsPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.ScrollContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.Controls.ScrollViewer.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.DockPanel.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.DockPanel.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MyCompanySDK.Features.Panels.LinearLayoutPanel.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ItemsPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.DockPanel.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.DockPanel.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.ContextLayoutManager.UpdateLayout()

   at System.Windows.Interop.HwndSource.Process_WM_SIZE(UIElement rootUIElement, IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam)

   at System.Windows.Interop.HwndSource.LayoutFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)

   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
2018-10-17 14:23:33: [traced at 17.10.2018 14:23:33] xpower.exe Error: 0 : Unhandled exception. System.NullReferenceException: Object reference not set to an instance of an object.

   at System.Windows.Controls.VirtualizingStackPanel.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ItemsPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.Controls.TreeViewItem.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.VirtualizingStackPanel.ArrangeItemsBeyondTheExtendedViewport(Boolean isHorizontal, UIElement child, Size childDesiredSize, Double arrangeLength, IList items, IItemContainerGenerator generator, IContainItemStorage itemStorageProvider, Boolean areContainersUniformlySized, Double uniformOrAverageContainerSize, Boolean beforeExtendedViewport, Rect& rcChild, Size& previousChildSize, Point& previousChildOffset, Int32& previousChildItemIndex)

   at System.Windows.Controls.VirtualizingStackPanel.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ItemsPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.ScrollContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.Controls.ScrollViewer.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.DockPanel.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.DockPanel.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at Fusion.Features.Panels.LinearLayoutPanel.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ItemsPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.DockPanel.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.DockPanel.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)

   at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Decorator.ArrangeOverride(Size arrangeSize)

   at System.Windows.Documents.AdornerDecorator.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.Window.ArrangeOverride(Size arrangeBounds)

   at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)

   at System.Windows.UIElement.Arrange(Rect finalRect)

   at System.Windows.ContextLayoutManager.UpdateLayout()

   at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)

   at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()

   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)

   at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)

   at System.Windows.Interop.HwndTarget.OnResize()

   at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)

   at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)

   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)

   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)

   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
2018-10-17 14:23:51: Error: exception c0000005: EXCEPTION_ACCESS_VIOLATION: The thread tried to read from or write to a virtual address for which it does not have the appropriate access.

Solution

    1. Sometimes rotating window with ctrl+alt+arrows, or snapping with Windows button+arrows, helps. Or minimizing/maximizing like crazy.

    2. To debug the issue try: Tools -> Options -> Debugging -> OutputWindows, WPF trace settings, switch verbosity to maximum. You may see very helpful errors logged just before the exception.