Hi all,
I'm using a XamGrid bounded on an observable collection. This source is regulary updated in my viewmodel (entity are updated)
Several filters/sort are applied on this grid. We are facing randomly exceptions which cause application crash .
-> Source: InfragisticsWPF4.Controls.Grids.XamGrid.v12.2-> Exception: System.NullReferenceException-> Message: Object reference not set to an instance of an object.at Infragistics.Controls.Grids.Primitives.FilterRow.CellEditorValueChanged(CellBase cellBase, Object newValue)at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)at System.Windows.Controls.Primitives.TextBoxBase.OnTextContainerChanged(Object sender, TextContainerChangedEventArgs e)at System.Windows.Controls.TextBox.OnTextContainerChanged(Object sender, TextContainerChangedEventArgs e)at System.Windows.Documents.TextContainerChangedEventHandler.Invoke(Object sender, TextContainerChangedEventArgs e)at System.Windows.Documents.TextContainer.EndChange(Boolean skipEvents)at System.Windows.Documents.TextRangeBase.EndChange(ITextRange thisRange, Boolean disableScroll, Boolean skipEvents)at System.Windows.Documents.TextRange.ChangeBlock.System.IDisposable.Dispose()at System.Windows.Controls.TextBox.OnTextPropertyChanged(String oldText, String newText)at System.Windows.Controls.TextBox.OnTextPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)at System.Windows.Controls.TextBox.OnPropertyChanged(DependencyPropertyChangedEventArgs e)at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)at System.Windows.Data.BindingExpressionBase.Invalidate(Boolean isASubPropertyChange)at System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange)at MS.Internal.Data.PropertyPathWorker.UpdateSourceValueState(Int32 k, ICollectionView collectionView, Object newValue, Boolean isASubPropertyChange)at MS.Internal.Data.PropertyPathWorker.UpdateSourceValueState(Int32 k, ICollectionView collectionView)at MS.Internal.Data.ClrBindingWorker.OnSourcePropertyChanged(Object o, String propName)at System.Windows.WeakEventManager.ListenerList`1.DeliverEvent(Object sender, EventArgs e, Type managerType)at System.Windows.WeakEventManager.DeliverEventToList(Object sender, EventArgs args, ListenerList list)at System.ComponentModel.PropertyChangedEventManager.OnPropertyChanged(Object sender, PropertyChangedEventArgs args)at System.ComponentModel.PropertyChangedEventHandler.Invoke(Object sender, PropertyChangedEventArgs e)at Infragistics.Controls.Grids.FilterColumnSettings.set_FilterCellValue(Object value)at Infragistics.Controls.Grids.Primitives.FilterRow.RemoveFilters(FilterRowCell cellBase)at Infragistics.Controls.Grids.Primitives.RowFilteringCommandBase.Execute(Object parameter)at Infragistics.Controls.CommandSource.LookForCommandTarget(FrameworkElement parent, Boolean execute, ICommand command)at Infragistics.Controls.CommandSource.InvokeCommand(Boolean execute)at Infragistics.Controls.CommandSource.EventFired(Object sender, EventArgs e)at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)at System.Windows.Input.InputManager.ProcessStagingArea()at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)at System.Windows.Interop.HwndSource.InputFilterMessage(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 MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)at System.Windows.Application.RunInternal(Window window)
Have you any idea on this issue (or a workaround)
Thanks in advance for your answer.
New exception fired with same context...
System.NullReferenceException
at Infragistics.Controls.Grids.RowBase.get_Columns() at Infragistics.Controls.Grids.Primitives.CellsPanel.RenderCells(Double) at Infragistics.Controls.Grids.Primitives.CellsPanel.MeasureOverride(System.Windows.Size) at System.Windows.FrameworkElement.MeasureCore(System.Windows.Size) at System.Windows.UIElement.Measure(System.Windows.Size) at System.Windows.UIElement.Arrange(System.Windows.Rect) at System.Windows.ContextLayoutManager.UpdateLayout() at Infragistics.Windows.DockManager.ContentPane.ActivateInternalImpl(Boolean, Boolean, Boolean) at Infragistics.Windows.DockManager.ContentPane.ActivateInternal(Boolean, Boolean, Boolean) at Infragistics.Windows.DockManager.PaneTabItem.OnMouseDown(System.Windows.Input.MouseButtonEventArgs) at System.Windows.UIElement.OnMouseDownThunk(System.Object, System.Windows.Input.MouseButtonEventArgs) at System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate, System.Object) at System.Windows.EventRoute.InvokeHandlersImpl(System.Object, System.Windows.RoutedEventArgs, Boolean) at System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject, System.Windows.RoutedEventArgs) at System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs) at System.Windows.Input.InputManager.ProcessStagingArea() at System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport) at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr, System.Windows.Input.InputMode, Int32, System.Windows.Input.RawMouseActions
Hello Thibaud,
Thank you for your post. I have been looking into it and I am wondering if it is possible for you to send us isolated sample project, where this is reproduced, so we could be able to investigate this further for you.
Looking forward for your reply.
Hi Stefan,
Unfortunately, we have tried without success to reproduce this behavior in a simple POC.
With basics conditions, the XamGrid handled no exception when filtering and sorting data.
Have you any idea to investigate ?
Thank for your reply.
I am just checking the progress of this issue and was wondering if you managed to achieve your goal or if you need any further assistance on the matter.
Hi Stephan
I still have the same kind of crash with my XamGrid. It is very random to reproduce.
We've have created a sample (basic xamgrid with same style bound to a collection) but we have been unabled to reproduce this crashs. I thought you would be able to get better information with stacktraces.
Do you have any idea for me to investigate the root cause ?
Thanks
I can suggest you run your application against our latest version (14.2), to see if the issue is reproducible there, because version 12.2 is retired and we no longer provide fixes for it. If the issue still occurs there you can send me your original application via the private ticket I created for you: CAS-145302-W7P3B6.
We were successful in reproducing 3 crash scenarios in one sample with sort function. I just downloaded your trial version 14.2.
I'll try to do the update to see if i still have problems.
My feedback asap :)
I am just checking if you got this worked out or you still require any assistance or clarification on the matter.
I update my sample with your 14.2 version for WPF.
Two crashs are resolved but unfortunately one issue is ever reproductible.
You will find my sample as attachment to this topic.
Here the scenario :
1. Filter by Diffusion
2. Open one raw randomly
3. Filter by Status
4. Open one row randomly
5. Just enter in edit mode in Filter input (criteria) on Reference column
6. Clear all filter (in reverse side, Diffusion then Status)
7. A Null Reference Exception occurs
Object reference not set to an instance of an object.
InfragisticsWPF4.Controls.Grids.XamGrid.v14.2
at Infragistics.Controls.Grids.RowBase.get_Columns() at Infragistics.Controls.Grids.XamGrid.SetActiveCell(CellBase cell, CellAlignment alignment, InvokeAction action, Boolean allowSelection, Boolean setFocus, Boolean scrollIntoView) at Infragistics.Controls.Grids.XamGrid.SetActiveCell(CellBase cell, CellAlignment alignment, InvokeAction action, Boolean allowSelection, Boolean scrollIntoView) at Infragistics.Controls.Grids.XamGrid.SetActiveCell(CellBase cell, CellAlignment alignment, InvokeAction action) at Infragistics.Controls.Grids.RowsManager.InvalidateGroupBy(Boolean reset) at Infragistics.Controls.Grids.XamGridRowsManager.InvalidateGroupBy(Boolean reset) at Infragistics.Controls.Grids.RowsManager.OnColumnLayoutPropertyChanged(ColumnLayout layout, String propertyName)
Let me know if you need further information.
I am looking forward to your response.
Thanks in advance
I have logged this with development under ID: 183866 and I have also created a support ticket on your behalf: CAS-145302-W7P3B6 and have linked the development issue to it, so that you can get automatically updated, when a Service Release containing the fix is available for download. You can get the new version from our website’s “My IG”, “My Keys & Downloads” tags: https://www.infragistics.com/Membership/Default.aspx?panel=Downloads#Downloads
You can also monitor the support ticket’s progress through the “My Support Activity” tag: https://www.infragistics.com/Membership/MySupport.aspx
I just received a mail with link to support case.
Is it possible to edit this case because it is incomplete ? The description is incorrect (the last issue is declared in my last post) and my sample isn't available in this case.
Could you have a look ?
I have updated the case.