Skip to content

Virtualized TreeView with "Auto" scrollbars - Hanging / freezing on scrolling #11452

@Yaroslav-Kuznetsov

Description

@Yaroslav-Kuznetsov

Description

Hey, I work for DevExpress and it looks like we've been affected by rounding errors in float-point calculations that pertain the WPF internal layout engine. I found a few fixed bug reports that look very close as they concern the same infinite measure issue:

#4834
#9944

Reproduction Steps

  1. Set screen resolution to 3440 x 1440 or 2560 x 1440.
  2. Set Scale factor as 125%.
  3. Navigate to the project's folder and do dotnet run. Note: no DevExpress license is required.
  4. Expand all three foldes in the Field List dialog and try scrolling.
    T1321745.zip
Image

Expected behavior

No freezing

Actual behavior

System.Windows.ContextLayoutManager.fireLayoutUpdateEvent() + 0xcb <-- 0x2c30912b
System.Windows.ContextLayoutManager.fireLayoutUpdateEvent() + 0xcb <-- 0x2c30912b (No unwind info)
System.Windows.ContextLayoutManager.UpdateLayout() + 0x94e <-- 0x2c2f42ee (No unwind info)
System.Windows.ContextLayoutManager.UpdateLayoutCallback(System.Object) + 0x17 <-- 0x2c2f5947 (No unwind info)
System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks() + 0x67 <-- 0x2c21f287 (No unwind info)
System.Windows.Media.MediaContext.RenderMessageHandlerCore(System.Object) + 0x8f <-- 0x2c21dd0f (No unwind info)
System.Windows.Media.MediaContext.RenderMessageHandler(System.Object) + 0x23 <-- 0x2c2fae03 (No unwind info)
System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32) + 0x65 <-- 0x291aa8f5 (No unwind info)
System.Windows.Threading.ExceptionWrapper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate) + 0x2e <-- 0x291aa81e (No unwind info)
System.Windows.Threading.DispatcherOperation.InvokeImpl() + 0x125 <-- 0x2983bc25 (No unwind info)
System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object) + 0x26 <-- 0x2983baee (No unwind info)
MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(System.Object) + 0x11b <-- 0x2983ba33 (No unwind info)
System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object) + 0xa9 <-- 0x28fda839 (No unwind info)
MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext, System.Threading.ContextCallback, System.Object) + 0x1ce <-- 0x2983b37e (No unwind info)
System.Windows.Threading.DispatcherOperation.Invoke() + 0x39 <-- 0x2983b0b9 (No unwind info)
System.Windows.Threading.Dispatcher.ProcessQueue() + 0x3a3 <-- 0x28f94c53 (No unwind info)
System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) + 0x3f <-- 0x28f93faf (No unwind info)

Regression?

No response

Known Workarounds

UseLayoutRounding="False"

Impact

No response

Configuration

.NET 8

Other information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    InvestigateRequires further investigation by the WPF team.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions