question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Freeze while selecting item in the results tree

See original GitHub issue

Randomly the UI freezes when selecting an item after doing a search.

When breaking in the code it seems to be stuck while measuring items in the VirtualizingStackPanel:

 	PresentationCore.dll!System.Windows.Media.Visual.GetDpi()	Inconnu
 	PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize)	Inconnu
 	PresentationCore.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize)	Inconnu
 	PresentationFramework.dll!System.Windows.Controls.Grid.MeasureCell(int cell, bool forceInfinityV)	Inconnu
 	PresentationFramework.dll!System.Windows.Controls.Grid.MeasureCellsGroup(int cellsHead, System.Windows.Size referenceSize, bool ignoreDesiredSizeU, bool forceInfinityV, out bool hasDesiredSizeUChanged)	Inconnu
 	PresentationFramework.dll!System.Windows.Controls.Grid.MeasureOverride(System.Windows.Size constraint)	Inconnu
 	PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize)	Inconnu
 	PresentationCore.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize)	Inconnu
 	PresentationFramework.dll!System.Windows.Controls.Control.MeasureOverride(System.Windows.Size constraint)	Inconnu
 	PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize)	Inconnu
 	PresentationCore.dll!System.Windows.UIElement.Measure(System.Windows.Size availableSize)	Inconnu
 	PresentationFramework.dll!System.Windows.Controls.VirtualizingStackPanel.MeasureChild(ref System.Windows.Controls.Primitives.IItemContainerGenerator generator, ref System.Windows.Controls.Primitives.IContainItemStorage itemStorageProvider, ref System.Windows.Controls.Primitives.IContainItemStorage parentItemStorageProvider, ref object parentItem, ref bool hasUniformOrAverageContainerSizeBeenSet, ref double computedUniformOrAverageContainerSize, ref double computedUniformOrAverageContainerPixelSize, ref bool computedAreContainersUniformlySized, ref bool hasAnyContainerSpanChanged, ref System.Collections.IList items, ref object item, ref System.Collections.IList children, ref int childIndex, ref bool visualOrderChanged, ref bool isHorizontal, ref System.Windows.Size childConstraint, ref System.Windows.Rect viewport, ref System.Windows.Controls.VirtualizationCacheLength cacheSize, ref System.Windows.Controls.VirtualizationCacheLengthUnit cacheUnit, ref long scrollGeneration, ref bool foundFirstItemInViewport, ref double firstItemInViewportOffset, ref System.Windows.Size stackPixelSize, ref System.Windows.Size stackPixelSizeInViewport, ref System.Windows.Size stackPixelSizeInCacheBeforeViewport, ref System.Windows.Size stackPixelSizeInCacheAfterViewport, ref System.Windows.Size stackLogicalSize, ref System.Windows.Size stackLogicalSizeInViewport, ref System.Windows.Size stackLogicalSizeInCacheBeforeViewport, ref System.Windows.Size stackLogicalSizeInCacheAfterViewport, ref bool mustDisableVirtualization, bool isBeforeFirstItem, bool isAfterFirstItem, bool isAfterLastItem, bool skipActualMeasure, bool skipGeneration, ref bool hasBringIntoViewContainerBeenMeasured, ref bool hasVirtualizingChildren)	Inconnu
 	PresentationFramework.dll!System.Windows.Controls.VirtualizingStackPanel.MeasureOverrideImpl(System.Windows.Size constraint, ref double? lastPageSafeOffset, ref System.Collections.Generic.List<double> previouslyMeasuredOffsets, ref double? lastPagePixelSize, bool remeasure)	Inconnu
 	PresentationFramework.dll!System.Windows.Controls.VirtualizingStackPanel.MeasureOverride(System.Windows.Size constraint)	Inconnu
 	PresentationFramework.dll!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size availableSize)	Inconnu

I have a fairly good repro:

  • open this binlog.
  • search for “ReferenceCopyLocalPaths”
    image
  • select the last item in the results tree image
  • hit the “Down Key” (it’s the last item so it should have no effect)

NB: the text scaling is at 125%

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:31 (19 by maintainers)

github_iconTop GitHub Comments

3reactions
SamBentcommented, Nov 30, 2020

The fix is in the pipeline of review/approval/packaging/testing for inclusion in a .NET servicing update. If no problems arise, it should appear early in 2021. I’ll post back to this thread when that happens.

1reaction
SamBentcommented, Feb 12, 2021

Thanks for the reminder.

The fix was released in the .NET Update Preview on Jan 26, and in the .NET Update on Feb 9. The former is available for download, the latter is part of the monthly Windows Update payload. (The KB number depends on which OS version you’re running.)

Read more comments on GitHub >

github_iconTop Results From Across the Web

WPF UI thread freeze on loading bunch of items in TreeView
Application freezes when it creates TreeViewItems and makes those visible. I've tried: Set a different DispatcherPriorities for the UI thread  ...
Read more >
The QtreeView selection row freeze
I am facing a similar problem; the current index freezes while doing multiple left clicks on the tree index. I am doing multiple...
Read more >
Loading the TreeListView makes the UI freeze
I am having a tree list view with a large data source. We are having the 'EnableDynamicLoading' set to false, the reason being...
Read more >
Freeze when clicking on a tree view object
Starting and logging in runs perfect but when clicking on a tree view Ranorex freezes and I have to kill Ranorex using the...
Read more >
Find the Cause of a UI Freeze | dotTrace Documentation
All we need to do now is find methods that were executed on the Main thread during the freeze. We can use the...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found