Guys, another crash. Please correct as soon as you can. There was no user action that prompted this. I need a way to trap this from propagating to my application. Thanks,. Klaus
MachineName : SUP-NJITimeStamp : 3/13/2010 4:07:44 PMFullName : Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Version=4.1.0.0, Culture=neutral, PublicKeyToken=nullAppDomainName : EMS.OCC600.Infrastructure.Shell.vshost.exeThreadIdentity : njiWindowsIdentity : EMS-TCANADA\nji Inner Exception --------------- Type : System.ArgumentOutOfRangeException, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Message : Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index Source : mscorlib Help link : ActualValue : ParamName : index Data : System.Collections.ListDictionaryInternal TargetSite : Void ThrowArgumentOutOfRangeException(System.ExceptionArgument, System.ExceptionResource) Stack Trace : at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource) at System.ThrowHelper.ThrowArgumentOutOfRangeException() at System.Collections.Generic.List`1.get_Item(Int32 index) at System.Collections.ObjectModel.Collection`1.System.Collections.IList.get_Item(Int32 index) at System.Windows.Data.ListCollectionView.InternalItemAt(Int32 index) at System.Windows.Data.ListCollectionView.GetItemAt(Int32 index) at Infragistics.Windows.CollectionViewWrapper.get_Item(Int32 index) at Infragistics.Windows.DataPresenter.DataRecordCollection.AllocateNewRecord(Int32 index) at Infragistics.Windows.DataPresenter.UnsortedRecordSparseArray.GetItem(Int32 index, Boolean create, Boolean calledFromSortedManagerSparseArray, Boolean& newRowCreated) at Infragistics.Windows.DataPresenter.MainRecordSparseArray.CreateItem(SparseArray array, Int32 relativeIndex) at Infragistics.Windows.Helpers.SparseArray.CreateItemHelper(ICreateItemCallback createItemCallback, Node node, Int32 nodeIndex, Int32 overallIndex) at Infragistics.Windows.Helpers.SparseArray.GetItem(Int32 index, ICreateItemCallback createItemCallback) at Infragistics.Windows.DataPresenter.MainRecordSparseArray.GetItem(Int32 index, Boolean create) at Infragistics.Windows.DataPresenter.ViewableRecordCollection.CachedInfo.GetFixedNonSpecialRecords(List`1 list, Boolean top) at Infragistics.Windows.DataPresenter.ViewableRecordCollection.VerifySpecialRecords() at Infragistics.Windows.DataPresenter.ViewableRecordCollection.Verify() at Infragistics.Windows.DataPresenter.ViewableRecordCollection.get_ScrollCount() at Infragistics.Windows.DataPresenter.FlatScrollRecordsCollection.get_Count() at System.Windows.Data.ListCollectionView.get_InternalCount() at System.Windows.Data.ListCollectionView.get_IsEmpty() at System.Windows.Data.ListCollectionView.RefreshOverride() at System.Windows.Data.CollectionView.RefreshInternal() at System.Windows.Data.CollectionView.RefreshOrDefer() at System.Windows.Data.ListCollectionView.ProcessCollectionChanged(NotifyCollectionChangedEventArgs args) at System.Windows.Data.CollectionView.OnCollectionChanged(Object sender, NotifyCollectionChangedEventArgs args) at Infragistics.Windows.DataPresenter.FlatScrollRecordsCollection.RaiseCollectionChangedHelper(NotifyCollectionChangedEventArgs eventArgs) at Infragistics.Windows.DataPresenter.FlatScrollRecordsCollection.RaiseChangeEvent(EventArgs e, Boolean async) at Infragistics.Windows.DataPresenter.FlatScrollRecordsCollection.RaisePendingNotifications() at Infragistics.Windows.DataPresenter.FlatScrollRecordsCollection.RaisePendingNotificationsCallback()
I ran into this problem with standard release of 10.2. I have upgraded to the service release posted on Aug 25 and there has been no incident so far. Sure way to verify if this is fixed is to look at the source.
This bug seems to be fixed in the service releases of 9.2 and 10.1 (Builds 2160 and 2060, respectively) and the standard release of 10.2
As stated by an Infragistics Support Engineer:
Normal 0 false false false EN-US X-NONE X-NONE MicrosoftInternetExplorer4
I tested this sample in the service releases of 9.2 and 10.1 (Builds 2160 and 2060, respectively) and the standard release of 10.2 and the problem is solved. I did reproduce it in the release builds of 9.2 and 10.1. Fortunately, all you need to do is upgrade to the service release of 9.2 or 10.1 or go to 10.2 release and you’re in business.
So the problem seems to be resolved
Finally! I’ve managed to narrow down the problem! Created a small simple project to demonstrate it (attached). Tested with Infragistics for WPF 9.2.20092.2064, fails for me 100% of times.
It definitely looks like a bug. Would somebody please convey it to developers and ask them to respond as soon as possible. We see this problem often in production, and any work-around suggested will be appreciated until the problem is fixed.
The basic steps are very simple:
- Populate an ObservableCollection, wrap it with ListCollectionView, add some SortDescriptions to the latter.
- Bind a grid to the ListCollectionView, show it.
- Delete half of the items in the ObservableCollection and then call BeginInvoke with action that calls Clear() on the collection.
- And voilà! observe an infinite sequence of exceptions..
The 1st one is from Clear(), but then the grid becomes corrupted and any ContextLayoutManager.UpdateLayout() ends up with an exception thrown from exactly the same place.
Thanks,
Michael
For your information, this issue has been submitted to developer support as Case ID: CAS-47485-745TH4. Please contact developer support and cite this case number if you don't hear anything back from them soon. Once we find out the issue, support will update this post to let other users know about this issue.
Thank you!
Developer Support:http://ko.infragistics.com/support/default.aspx