Our clients are seeing an occasional application crash after ProcessAsyncInvalidations() / ProcessAsyncInvalidationsImpl() are called from within the framework. The stack at the time is as follows:
[[HelperMethodFrame_1OBJ] (System.Environment.FailFast)] System.Environment.FailFast(System.String) WindowsBase_ni!MS.Internal.Invariant.FailFast(System.String, System.String)+35 WindowsBase_ni!MS.Internal.Invariant.Assert(Boolean, System.String)+272185 PresentationFramework_ni!System.Windows.Window.GetWindowMinMax()+51 PresentationFramework_ni!System.Windows.Window.MeasureOverride(System.Windows.Size)+4d PresentationFramework_ni!System.Windows.FrameworkElement.MeasureCore(System.Windows.Size)+585 PresentationCore_ni!System.Windows.UIElement.Measure(System.Windows.Size)+1cc PresentationCore_ni!System.Windows.ContextLayoutManager.UpdateLayout()+1a1 PresentationCore_ni!System.Windows.UIElement.UpdateLayout()+14 Infragistics.Windows.DataPresenter.GridUtilities.ProcessAsyncInvalidationsImpl()+104 Infragistics.Windows.DataPresenter.GridUtilities.ProcessAsyncInvalidations()+a [[HelperMethodFrame_PROTECTOBJ] (System.RuntimeMethodHandle.InvokeMethod)] System.RuntimeMethodHandle.InvokeMethod(System.Object, System.Object[], System.Signature, Boolean) [[DebuggerU2MCatchHandlerFrame]] mscorlib_ni!System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object, System.Object[], System.Object[])+c1 mscorlib_ni!System.Reflection.RuntimeMethodInfo.UnsafeInvoke(System.Object, System.Reflection.BindingFlags, System.Reflection.Binder, System.Object[], System.Globalization.CultureInfo)+67 mscorlib_ni!System.Delegate.DynamicInvokeImpl(System.Object[])+69 WindowsBase_ni!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)+ad WindowsBase_ni!MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)+3a WindowsBase_ni!System.Windows.Threading.DispatcherOperation.InvokeImpl()+ac WindowsBase_ni!System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)+38 mscorlib_ni!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+a7 mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+16 mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)+41 WindowsBase_ni!System.Windows.Threading.DispatcherOperation.Invoke()+5b WindowsBase_ni!System.Windows.Threading.Dispatcher.ProcessQueue()+16b WindowsBase_ni!System.Windows.Threading.Dispatcher.WndProcHook(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)+5a WindowsBase_ni!MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)+9b WindowsBase_ni!MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)+6b WindowsBase_ni!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate, System.Object, Int32)+52 WindowsBase_ni!MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(System.Object, System.Delegate, System.Object, Int32, System.Delegate)+3a WindowsBase_ni!System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)+10e WindowsBase_ni!MS.Win32.HwndSubclass.SubclassWndProc(IntPtr, Int32, IntPtr, IntPtr)+f1 WindowsBase_ni!DomainNeutralILStubClass.IL_STUB_PInvoke(System.Windows.Interop.MSG ByRef)+3c [[InlinedCallFrame]] WindowsBase_ni!System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame)+b1 WindowsBase_ni!System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame)+49 WindowsBase_ni!System.Windows.Threading.Dispatcher.Run()+4b RCS.ZettaUI.ControlHost+<>c__DisplayClass6.a()+5d6 mscorlib_ni!System.Threading.ThreadHelper.ThreadStart_Context(System.Object)+6f mscorlib_ni!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+a7 mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)+16 mscorlib_ni!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)+41 mscorlib_ni!System.Threading.ThreadHelper.ThreadStart()+44
No, I can’t regularly replicate the crash. Do you have any ideas why GridUtilities. ProcessAsyncInvalidations() / ProcessAsyncInvalidationsImpl() would cause the entire application to crash?
ThanksDan
Hi Dan,
If I could get the dump file that would be perfect. I'm not sure how you plan on sending it to me. If it's smaller than 10MB then you can email it to support@infragistics.com with a subject of "Attention Rob - Dump File". If it's larger than 10MB then you'll probably need to upload it to some file sharing site like Dropbox or OneDrive and send me the download link. You can email me the download link if you want to keep it private.
Once you've sent the dump file let me know here.
Rob,
The Exception Details that I have are:
Unhandled exception at 0x6CFBE4AD (WindowsBase.ni.dll) in Zetta.exe.5608.dmp: 0x80131623.
In Zetta.exe.5608.dmp the assembly instruction at WindowsBase_ni!MS.Internal.Invariant.FailFast(System.String, System.String)+35 in C:\Windows\assembly\NativeImages_v4.0.30319_32\WindowsBase\f0de571ff5c97691112e296ed795c155\WindowsBase.ni.dll from Microsoft Corporation has caused an unknown exception (0x80131623) on thread 197
The version of Infragistics is 14.2.
If you would like, I can get you the dump file.
Dan
Can you provide the exception details, namely the exception type and if there was a message associated with it? It's great that you provided the call stack. I'm able to see in our source code that we do call UpdateLayout on a UIElement but I can't tell from the stack trace why it would crash. The exception type + message might help with that. Also, what version of Infragistics WPF are you using in that application?