RadGridView crashes when I filter a column with integers

9 posts, 0 answers
  1. Hadrien
    Hadrien avatar
    28 posts
    Member since:
    Apr 2012

    Posted 28 Oct 2013 Link to this post

    Hi,

    I have a RadGridView with many column and in all of them I can filter data using the popup window (see attached gridview.png). In one of the columns, which has integers as data source, when I tick one of the available options it works fine, but when I use the filter "equals to" and I set a number my program crashes (see error.png). It's curious because I noticed that if I first select one of the others filters first ('is greater tham', 'is not equal to', ...) and them select the 'is equals to' it works!

    Do you know what can be the problem?
  2. Yoan
    Admin
    Yoan avatar
    1066 posts

    Posted 31 Oct 2013 Link to this post

    Hi Hadrien,

    I've tried to reproduce the problem you report, but to no avail. I have attached my test project for a reference.

    Regards,
    Yoan
    Telerik
    TRY TELERIK'S NEWEST PRODUCT - EQATEC APPLICATION ANALYTICS for WPF.
    Learn what features your users use (or don't use) in your application. Know your audience. Target it better. Develop wisely.
    Sign up for Free application insights >>
  3. UI for WPF is Visual Studio 2017 Ready
  4. Robert
    Robert avatar
    4 posts
    Member since:
    Apr 2016

    Posted 20 May in reply to Hadrien Link to this post

    I'd just mention that I experience this too (I didn't check your work-around though).
  5. Robert
    Robert avatar
    4 posts
    Member since:
    Apr 2016

    Posted 20 May in reply to Robert Link to this post

    The error is not reproducible in the example provided by Yoan.  However, I was able to get a stacktrace using my own application (of course I will try and recreate this by modifying the example provided by Yoan)

     

     Telerik.Windows.Data.dll!Telerik.Windows.Data.Expressions.FilterOperatorExpressionBuilderBase.GenerateContains(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.Expressions.FilterOperatorExpressionBuilderBase.CreateExpression(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.Expressions.OperatorValueFilterDescriptorExpressionBuilderBase.CreateBodyExpression()Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.FilterDescriptor.CreateFilterExpression(System.Linq.Expressions.ParameterExpression parameterExpression)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.FilterDescriptorBase.CreateFilterExpression(System.Linq.Expressions.Expression instance)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.Expressions.FilterDescriptorCollectionExpressionBuilder.CreateBodyExpression()Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.CompositeFilterDescriptor.CreateFilterExpression(System.Linq.Expressions.ParameterExpression parameterExpression)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.FilterDescriptorBase.CreateFilterExpression(System.Linq.Expressions.Expression instance)Unknown
     Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.FieldFilterDescriptor.Telerik.Windows.Data.IFilterDescriptor.CreateFilterExpression(System.Linq.Expressions.Expression instance)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.Expressions.FilterDescriptorCollectionExpressionBuilder.CreateBodyExpression()Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.CompositeFilterDescriptor.CreateFilterExpression(System.Linq.Expressions.ParameterExpression parameterExpression)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.FilterDescriptorBase.CreateFilterExpression(System.Linq.Expressions.Expression instance)Unknown
     Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.ColumnFilterDescriptor.CreateFilterExpression(System.Linq.Expressions.Expression instance)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.Expressions.FilterDescriptorCollectionExpressionBuilder.CreateBodyExpression()Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.CompositeFilterDescriptor.CreateFilterExpression(System.Linq.Expressions.ParameterExpression parameterExpression)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.FilterDescriptorBase.CreateFilterExpression(System.Linq.Expressions.Expression instance)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.CompositeFilterDescriptorCollection.CreateFilterExpression(System.Linq.Expressions.Expression instance)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnFilterDescriptorsChanged()Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.QueryableCollectionView.OnFilterDescriptorsCollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)Unknown
     System.dll!System.Collections.ObjectModel.ObservableCollection<Telerik.Windows.Data.IFilterDescriptor>.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.RadObservableCollection<System.__Canon>.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.ObservableItemCollection<Telerik.Windows.Data.IFilterDescriptor>.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)Unknown
     System.dll!System.Collections.ObjectModel.ObservableCollection<System.__Canon>.InsertItem(int index, System.__Canon item)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.RadObservableCollection<System.__Canon>.InsertItem(int index, System.__Canon item)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.FilterDescriptorCollection.InsertItem(int index, Telerik.Windows.Data.IFilterDescriptor item)Unknown
     mscorlib.dll!System.Collections.ObjectModel.Collection<Telerik.Windows.Data.IFilterDescriptor>.Insert(int index, Telerik.Windows.Data.IFilterDescriptor item)Unknown
     mscorlib.dll!System.Collections.ObjectModel.Collection<Telerik.Windows.Data.IFilterDescriptor>.System.Collections.IList.Insert(int index, object value)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.CollectionHelper.Insert(System.Collections.IList target, System.Collections.IEnumerable newItems, int startingIndex, System.Collections.IEqualityComparer itemComparer)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.ObservableCollectionManager.HandleCollectionChanged(System.Collections.IList sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs args)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.ObservableCollectionManager.Telerik.Windows.Data.IWeakEventListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.ReceiveWeakEvent(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs args)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.WeakEvent.WeakListener<System.Collections.Specialized.NotifyCollectionChangedEventArgs>.Handler(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs args)Unknown
     System.dll!System.Collections.ObjectModel.ObservableCollection<Telerik.Windows.Data.IFilterDescriptor>.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.RadObservableCollection<System.__Canon>.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.ObservableItemCollection<Telerik.Windows.Data.IFilterDescriptor>.OnCollectionChanged(System.Collections.Specialized.NotifyCollectionChangedEventArgs e)Unknown
     System.dll!System.Collections.ObjectModel.ObservableCollection<System.__Canon>.InsertItem(int index, System.__Canon item)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.RadObservableCollection<System.__Canon>.InsertItem(int index, System.__Canon item)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.FilterDescriptorCollection.InsertItem(int index, Telerik.Windows.Data.IFilterDescriptor item)Unknown
     mscorlib.dll!System.Collections.ObjectModel.Collection<Telerik.Windows.Data.IFilterDescriptor>.Add(Telerik.Windows.Data.IFilterDescriptor item)Unknown
     Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridViewColumn.OnColumnFilterDescriptorPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.DescriptorBase.OnPropertyChanged(System.ComponentModel.PropertyChangedEventArgs args)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.DescriptorBase.OnPropertyChanged(string propertyName)Unknown
     Telerik.Windows.Data.dll!Telerik.Windows.Data.DescriptorBase.ResumeNotifications()Unknown
     Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.FilteringViewModel.ApplyFilters()Unknown
     Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.FilteringViewModel.OnFieldFilterPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)Unknown
     Telerik.Windows.Controls.dll!Telerik.Windows.Controls.ViewModelBase.OnPropertyChanged(string propertyName)Unknown
     Telerik.Windows.Controls.GridView.dll!Telerik.Windows.Controls.GridView.FilterDescriptorViewModel.Value.set(object value)Unknown
     [Native to Managed Transition]
     [Managed to Native Transition]
     PresentationFramework.dll!MS.Internal.Data.PropertyPathWorker.SetValue(object item, object value)Unknown
     PresentationFramework.dll!MS.Internal.Data.ClrBindingWorker.UpdateValue(object value)Unknown
     PresentationFramework.dll!System.Windows.Data.BindingExpression.UpdateSource(object value)Unknown
     PresentationFramework.dll!System.Windows.Data.BindingExpressionBase.UpdateValue()Unknown
     PresentationFramework.dll!System.Windows.Data.BindingExpression.UpdateOverride()Unknown
     PresentationFramework.dll!System.Windows.Data.BindingExpressionBase.Update()Unknown
     PresentationFramework.dll!System.Windows.Data.BindingExpression.OnLostFocus(object sender, System.Windows.RoutedEventArgs e)Unknown
     WindowsBase.dll!System.Windows.WeakEventManager.ListenerList<System.Windows.RoutedEventArgs>.DeliverEvent(object sender, System.EventArgs e, System.Type managerType)Unknown
     WindowsBase.dll!System.Windows.WeakEventManager.DeliverEvent(object sender, System.EventArgs args)Unknown
     PresentationFramework.dll!System.Windows.LostFocusEventManager.OnLostFocus(object sender, System.Windows.RoutedEventArgs args)Unknown
     PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target, System.Windows.RoutedEventArgs routedEventArgs)Unknown
     PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source, System.Windows.RoutedEventArgs args, bool reRaised)Unknown
     PresentationCore.dll!System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject sender, System.Windows.RoutedEventArgs args)Unknown
     PresentationCore.dll!System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs e)Unknown
     PresentationFramework.dll!System.Windows.Controls.Primitives.TextBoxBase.OnLostFocus(System.Windows.RoutedEventArgs e)Unknown
     PresentationCore.dll!System.Windows.UIElement.IsFocused_Changed(System.Windows.DependencyObject d, System.Windows.DependencyPropertyChangedEventArgs e)Unknown
     WindowsBase.dll!System.Windows.DependencyObject.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs e)Unknown
     PresentationFramework.dll!System.Windows.FrameworkElement.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs e)Unknown
     PresentationFramework.dll!System.Windows.Controls.TextBox.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs e)Unknown
     WindowsBase.dll!System.Windows.DependencyObject.NotifyPropertyChange(System.Windows.DependencyPropertyChangedEventArgs args)Unknown
     WindowsBase.dll!System.Windows.DependencyObject.UpdateEffectiveValue(System.Windows.EntryIndex entryIndex, System.Windows.DependencyProperty dp, System.Windows.PropertyMetadata metadata, System.Windows.EffectiveValueEntry oldEntry, ref System.Windows.EffectiveValueEntry newEntry, bool coerceWithDeferredReference, bool coerceWithCurrentValue, System.Windows.OperationType operationType)Unknown
     WindowsBase.dll!System.Windows.DependencyObject.ClearValueCommon(System.Windows.EntryIndex entryIndex, System.Windows.DependencyProperty dp, System.Windows.PropertyMetadata metadata)Unknown
     WindowsBase.dll!System.Windows.DependencyObject.ClearValue(System.Windows.DependencyPropertyKey key)Unknown
     PresentationCore.dll!System.Windows.Input.FocusManager.OnFocusedElementChanged(System.Windows.DependencyObject d, System.Windows.DependencyPropertyChangedEventArgs e)Unknown
     WindowsBase.dll!System.Windows.DependencyObject.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs e)Unknown
     PresentationFramework.dll!System.Windows.FrameworkElement.OnPropertyChanged(System.Windows.DependencyPropertyChangedEventArgs e)Unknown
     WindowsBase.dll!System.Windows.DependencyObject.NotifyPropertyChange(System.Windows.DependencyPropertyChangedEventArgs args)Unknown
     WindowsBase.dll!System.Windows.DependencyObject.UpdateEffectiveValue(System.Windows.EntryIndex entryIndex, System.Windows.DependencyProperty dp, System.Windows.PropertyMetadata metadata, System.Windows.EffectiveValueEntry oldEntry, ref System.Windows.EffectiveValueEntry newEntry, bool coerceWithDeferredReference, bool coerceWithCurrentValue, System.Windows.OperationType operationType)Unknown
     WindowsBase.dll!System.Windows.DependencyObject.SetValueCommon(System.Windows.DependencyProperty dp, object value, System.Windows.PropertyMetadata metadata, bool coerceWithDeferredReference, bool coerceWithCurrentValue, System.Windows.OperationType operationType, bool isInternal)Unknown
     PresentationCore.dll!System.Windows.Input.FocusManager.SetFocusedElement(System.Windows.DependencyObject element, System.Windows.IInputElement value)Unknown
     PresentationFramework.dll!System.Windows.Input.KeyboardNavigation.UpdateFocusedElement(System.Windows.DependencyObject focusTarget)Unknown
     PresentationFramework.dll!System.Windows.FrameworkElement.OnGotKeyboardFocus(object sender, System.Windows.Input.KeyboardFocusChangedEventArgs e)Unknown
     PresentationCore.dll!System.Windows.Input.KeyboardFocusChangedEventArgs.InvokeEventHandler(System.Delegate genericHandler, object genericTarget)Unknown
     PresentationCore.dll!System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate handler, object target)Unknown
     PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target, System.Windows.RoutedEventArgs routedEventArgs)Unknown
     PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source, System.Windows.RoutedEventArgs args, bool reRaised)Unknown
     PresentationCore.dll!System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject sender, System.Windows.RoutedEventArgs args)Unknown
     PresentationCore.dll!System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs args)Unknown
     PresentationCore.dll!System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs args, bool trusted)Unknown
     PresentationCore.dll!System.Windows.Input.InputManager.ProcessStagingArea()Unknown
     PresentationCore.dll!System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs input)Unknown
     PresentationCore.dll!System.Windows.Input.KeyboardDevice.ChangeFocus(System.Windows.DependencyObject focus, int timestamp)Unknown
     PresentationCore.dll!System.Windows.Input.KeyboardDevice.TryChangeFocus(System.Windows.DependencyObject newFocus, System.Windows.Input.IKeyboardInputProvider keyboardInputProvider, bool askOld, bool askNew, bool forceToNullIfFailed)Unknown
     PresentationCore.dll!System.Windows.Input.KeyboardDevice.Focus(System.Windows.DependencyObject focus, bool askOld, bool askNew, bool forceToNullIfFailed)Unknown
     PresentationCore.dll!System.Windows.Input.KeyboardDevice.Focus(System.Windows.IInputElement element)Unknown
     PresentationCore.dll!System.Windows.UIElement.Focus()Unknown
     PresentationFramework.dll!System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonDown(System.Windows.Input.MouseButtonEventArgs e)Unknown
     PresentationCore.dll!System.Windows.UIElement.OnMouseLeftButtonDownThunk(object sender, System.Windows.Input.MouseButtonEventArgs e)Unknown
     PresentationCore.dll!System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate genericHandler, object genericTarget)Unknown
     PresentationCore.dll!System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate handler, object target)Unknown
     PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target, System.Windows.RoutedEventArgs routedEventArgs)Unknown
     PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source, System.Windows.RoutedEventArgs args, bool reRaised)Unknown
     PresentationCore.dll!System.Windows.UIElement.ReRaiseEventAs(System.Windows.DependencyObject sender, System.Windows.RoutedEventArgs args, System.Windows.RoutedEvent newEvent)Unknown
     PresentationCore.dll!System.Windows.UIElement.OnMouseDownThunk(object sender, System.Windows.Input.MouseButtonEventArgs e)Unknown
     PresentationCore.dll!System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(System.Delegate genericHandler, object genericTarget)Unknown
     PresentationCore.dll!System.Windows.RoutedEventArgs.InvokeHandler(System.Delegate handler, object target)Unknown
     PresentationCore.dll!System.Windows.RoutedEventHandlerInfo.InvokeHandler(object target, System.Windows.RoutedEventArgs routedEventArgs)Unknown
     PresentationCore.dll!System.Windows.EventRoute.InvokeHandlersImpl(object source, System.Windows.RoutedEventArgs args, bool reRaised)Unknown
     PresentationCore.dll!System.Windows.UIElement.RaiseEventImpl(System.Windows.DependencyObject sender, System.Windows.RoutedEventArgs args)Unknown
     PresentationCore.dll!System.Windows.UIElement.RaiseTrustedEvent(System.Windows.RoutedEventArgs args)Unknown
     PresentationCore.dll!System.Windows.UIElement.RaiseEvent(System.Windows.RoutedEventArgs args, bool trusted)Unknown
     PresentationCore.dll!System.Windows.Input.InputManager.ProcessStagingArea()Unknown
     PresentationCore.dll!System.Windows.Input.InputManager.ProcessInput(System.Windows.Input.InputEventArgs input)Unknown
     PresentationCore.dll!System.Windows.Input.InputProviderSite.ReportInput(System.Windows.Input.InputReport inputReport)Unknown
     PresentationCore.dll!System.Windows.Interop.HwndMouseInputProvider.ReportInput(System.IntPtr hwnd, System.Windows.Input.InputMode mode, int timestamp, System.Windows.Input.RawMouseActions actions, int x, int y, int wheel)Unknown
     PresentationCore.dll!System.Windows.Interop.HwndMouseInputProvider.FilterMessage(System.IntPtr hwnd, MS.Internal.Interop.WindowMessage msg, System.IntPtr wParam, System.IntPtr lParam, ref bool handled)Unknown
     PresentationCore.dll!System.Windows.Interop.HwndSource.InputFilterMessage(System.IntPtr hwnd, int msg, System.IntPtr wParam, System.IntPtr lParam, ref bool handled)Unknown
     WindowsBase.dll!MS.Win32.HwndWrapper.WndProc(System.IntPtr hwnd, int msg, System.IntPtr wParam, System.IntPtr lParam, ref bool handled)Unknown
     WindowsBase.dll!MS.Win32.HwndSubclass.DispatcherCallbackOperation(object o)Unknown
     WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate callback, object args, int numArgs)Unknown
     WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.TryCatchWhen(object source, System.Delegate callback, object args, int numArgs, System.Delegate catchHandler)Unknown
     WindowsBase.dll!System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority priority, System.TimeSpan timeout, System.Delegate method, object args, int numArgs)Unknown
     WindowsBase.dll!MS.Win32.HwndSubclass.SubclassWndProc(System.IntPtr hwnd, int msg, System.IntPtr wParam, System.IntPtr lParam)Unknown
     [Native to Managed Transition]
     [Managed to Native Transition]
     WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame frame)Unknown
     WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame frame)Unknown
     PresentationFramework.dll!System.Windows.Window.ShowHelper(object booleanBox)Unknown
     PresentationFramework.dll!System.Windows.Window.Show()Unknown
     PresentationFramework.dll!System.Windows.Window.ShowDialog()Unknown
    >Office2.exe!Core.App.OnStartup(System.Windows.StartupEventArgs e) Line 73C#
     PresentationFramework.dll!System.Windows.Application..ctor.AnonymousMethod__1_0(object unused)Unknown
     WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate callback, object args, int numArgs)Unknown
     WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.TryCatchWhen(object source, System.Delegate callback, object args, int numArgs, System.Delegate catchHandler)Unknown
     WindowsBase.dll!System.Windows.Threading.DispatcherOperation.InvokeImpl()Unknown
     WindowsBase.dll!System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(object state)Unknown
     WindowsBase.dll!MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(object obj)Unknown
     mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)Unknown
     mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)Unknown
     mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state)Unknown
     WindowsBase.dll!MS.Internal.CulturePreservingExecutionContext.Run(MS.Internal.CulturePreservingExecutionContext executionContext, System.Threading.ContextCallback callback, object state)Unknown
     WindowsBase.dll!System.Windows.Threading.DispatcherOperation.Invoke()Unknown
     WindowsBase.dll!System.Windows.Threading.Dispatcher.ProcessQueue()Unknown
     WindowsBase.dll!System.Windows.Threading.Dispatcher.WndProcHook(System.IntPtr hwnd, int msg, System.IntPtr wParam, System.IntPtr lParam, ref bool handled)Unknown
     WindowsBase.dll!MS.Win32.HwndWrapper.WndProc(System.IntPtr hwnd, int msg, System.IntPtr wParam, System.IntPtr lParam, ref bool handled)Unknown
     WindowsBase.dll!MS.Win32.HwndSubclass.DispatcherCallbackOperation(object o)Unknown
     WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.InternalRealCall(System.Delegate callback, object args, int numArgs)Unknown
     WindowsBase.dll!System.Windows.Threading.ExceptionWrapper.TryCatchWhen(object source, System.Delegate callback, object args, int numArgs, System.Delegate catchHandler)Unknown
     WindowsBase.dll!System.Windows.Threading.Dispatcher.LegacyInvokeImpl(System.Windows.Threading.DispatcherPriority priority, System.TimeSpan timeout, System.Delegate method, object args, int numArgs)Unknown
     WindowsBase.dll!MS.Win32.HwndSubclass.SubclassWndProc(System.IntPtr hwnd, int msg, System.IntPtr wParam, System.IntPtr lParam)Unknown
     [Native to Managed Transition]
     [Managed to Native Transition]
     WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrameImpl(System.Windows.Threading.DispatcherFrame frame)Unknown
     WindowsBase.dll!System.Windows.Threading.Dispatcher.PushFrame(System.Windows.Threading.DispatcherFrame frame)Unknown
     PresentationFramework.dll!System.Windows.Application.RunDispatcher(object ignore)Unknown
     PresentationFramework.dll!System.Windows.Application.RunInternal(System.Windows.Window window)Unknown
     PresentationFramework.dll!System.Windows.Application.Run(System.Windows.Window window)Unknown
     PresentationFramework.dll!System.Windows.Application.Run()Unknown
     Office2.exe!Core.App.Main()C#
     [Native to Managed Transition]
     [Managed to Native Transition]
     mscorlib.dll!System.AppDomain.ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args)Unknown
     Microsoft.VisualStudio.HostingProcess.Utilities.dll!Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()Unknown
     mscorlib.dll!System.Threading.ThreadHelper.ThreadStart_Context(object state)Unknown
     mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)Unknown
     mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool preserveSyncCtx)Unknown
     mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state)Unknown
     mscorlib.dll!System.Threading.ThreadHelper.ThreadStart()Unknown

  6. Stefan X1
    Admin
    Stefan X1 avatar
    514 posts

    Posted 24 May Link to this post

    Hi Robert,

    Such error is not reproducible on our end. Can you please try reproducing it with the sample application provided by my colleague? If you manage to do so, you can open a new support ticket and attach it there. We will be happy to help.

    All the best,
    Stefan X1
    Telerik
    Do you need help with upgrading your AJAX, WPF or WinForms project? Check the Telerik API Analyzer and share your thoughts.
  7. Robert
    Robert avatar
    4 posts
    Member since:
    Apr 2016

    Posted 24 May in reply to Stefan X1 Link to this post

    To quote my previous post

    Robert said:

    The error is not reproducible in the example provided by Yoan.

    I think this might be a race condition during initialization.  My data set is big enough to cover a couple of screens.  The data is loaded into an ObservableCollection using EntityFramework 6.  Here I suspect properties might be initialized from a background thread which could cause problems if you are not using normal Bindings (which marshall some property changes to the UI thread) but have your own INotifyPropertyChanged.PropertyChanged event handlers.  Do you guard against events from other threads in your event handlers?  If not, that might be a good idea so that the source of such errors becomes easier to find.  Library vendors like you should use design-by-contract (in some form), so that your users can code more and debug less.

     

    On a side note, I am not too happy with EntityFramework modifying properties from background threads, it has no reasons to do that at all; but I know it does anyway.

  8. Ivan Ivanov
    Admin
    Ivan Ivanov avatar
    1127 posts

    Posted 27 May Link to this post

    Hello Robert,

    I reviewed the code that is behind the stack trace that you mentioned. This really looks like a possible race condition. However, looking through the logic that must be responsible for this behavior, I don't seem to find when an unnoticed propertychanged occurrence can break it. Generally, the filtering data engine initialized an implementation of FilterOperatorExpressionBuilderBase in accordance to the column type. Then the same descriptor is used to chose the operator part of the filtering logic. However, in the described scenario, it seem that the wrong factory gets picked. Its type does not implement the mentioned method (Contains is supporterd only for string and IEnumerable<T>) and the exception is thrown. I must be missing something.
    Can you please shed some more light on the scenario, so that I can be more precise, while trying to reproduce it. I guess that exception is thrown when the filter is applied and the filtered type is string? Are there any items in RadGridView at the time when the filtering popup is opened? Can you please try fixing the column's data type to string to check whether the issue is still reproducible.

    Regards,
    Ivan Ivanov
    Telerik
    Do you need help with upgrading your AJAX, WPF or WinForms project? Check the Telerik API Analyzer and share your thoughts.
  9. Robert
    Robert avatar
    4 posts
    Member since:
    Apr 2016

    Posted 30 May in reply to Ivan Ivanov Link to this post

    Hi Ivan,

    How is the column type resolved?  

    I use a GridViewDataColumn and have taken no measures to disclose the source type.  The source type is in one of the cases a "long?" and another is "int?".  As the source type suggest some of these might sometimes be null.

    The ItemsSource is in one of my applications of RadGridView a CollectionViewSource with the Filter event handler is permanently set.  Perhaps it confuses the filtering in RadGridView that the ItemsSource is itself a CollectionViewSource?

    But really, I have no clue, because I don't have the Telerik source code.

    What kind of races do you believe you have found so far?

  10. Ivan Ivanov
    Admin
    Ivan Ivanov avatar
    1127 posts

    Posted 02 Jun Link to this post

    Hello,

    Would it be piossible for you to hadcode the DataType property of GridViewDataColumn to int? and check whether the issue is reproducible? I believe that this can guide us into the right direction. The stack trace shows that the failing filtering operation is "Contain", which should be available only for the string and IEnumerable<T> types, so thisis quite unusual.

    Regards,
    Ivan Ivanov
    Telerik
    Do you need help with upgrading your AJAX, WPF or WinForms project? Check the Telerik API Analyzer and share your thoughts.
Back to Top
UI for WPF is Visual Studio 2017 Ready