We're dealing with a very old version (2012.2.912.40) of the map control and using the Bing Maps provider. We've just had a couple users run into an ArgumentExpcetion getting thrown when it tries to utilize the IComparer.Compare method inside Telerik.Windows.Controls.Map.FileCacheBase.GetMetadata.
We've gone 5 years without ever encountering it, and then having a couple occurrences worries us. One user repaved their machine and the issue didn't resurface. Search hasn't revealed anything similar, so we were wondering if you've experienced this before and if maybe a newer version fixes the issue so we just need to upgrade.
Appreciate any help,
Travis
Here is the stack trace of the exception:
Exception stack traces: (ArgumentException) Unable to sort because the IComparer.Compare() method returns inconsistent results. Either a value does not compare equal to itself, or one value repeatedly compared to another value yields different results. IComparer: 'System.Array+FunctorComparer`1[Telerik.Windows.Controls.Map.MemoryCache+ICacheRecordMetadata]'.
at System.Collections.Generic.IntrospectiveSortUtilities.ThrowOrIgnoreBadComparer(Object comparer)
at System.Collections.Generic.ArraySortHelper`1.Sort(T[] keys, Int32 index, Int32 length, IComparer`1 comparer)
at System.Array.Sort[T](T[] array, Int32 index, Int32 length, IComparer`1 comparer)
at System.Collections.Generic.List`1.Sort(Comparison`1 comparison)
at Telerik.Windows.Controls.Map.FileCacheBase.GetMetadata()
at Telerik.Windows.Controls.Map.FileCacheBase.SaveFilesThread()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()