Thursday, 12 April 2012

FatalError: Failed to compare two elements in the array

I tried to export my site by using STSADM

stsadm -o export -url <url> -filename <filelocation>


But I received the following error 
[4/12/2012 4:05:49 PM]: Start Time: 4/12/2012 4:05:49 PM.
[4/12/2012 4:05:49 PM]: Progress: Initializing Export.
[4/12/2012 4:05:49 PM]: Progress: Starting Export.
[4/12/2012 4:05:49 PM]: Progress: Calculating Objects to Export.
[4/12/2012 4:05:50 PM]: Progress: Serializing Objects to Disk.
[4/12/2012 4:05:50 PM]: Progress: Starting to process objects of type Site.
[4/12/2012 4:05:50 PM]: Progress: Finished processing objects of type Site.
[4/12/2012 4:05:50 PM]: Progress: Starting to process objects of type Web.
[4/12/2012 4:05:50 PM]: Progress: Exporting Web http://spmig:33322.
[4/12/2012 4:05:51 PM]: FatalError: Failed to compare two elements in the array.
   at System.Collections.Generic.ArraySortHelper`1.QuickSort[TValue](T[] keys, TValue[] values, Int32 left, Int32 right, IComparer`1 comparer)
   at System.Collections.Generic.ArraySortHelper`1.Sort[TValue](T[] keys, TValue[] values, Int32 index, Int32 length, IComparer`1 comparer)
   at System.Collections.Generic.ArraySortHelper`1.Sort(T[] items, 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(Int32 index, Int32 count, IComparer`1 comparer)
   at System.Collections.Generic.List`1.Sort(IComparer`1 comparer)
   at Microsoft.SharePoint.Deployment.WebSerializer.GetDataFromObjectModel(Object obj, SerializationInfo info, StreamingContext context)
   at Microsoft.SharePoint.Deployment.DeploymentSerializationSurrogate.GetObjectData(Object obj, SerializationInfo info, StreamingContext context)
   at Microsoft.SharePoint.Deployment.XmlFormatter.SerializeObject(Object obj, ISerializationSurrogate surrogate, String elementName, Boolean bNeedEnvelope)
   at Microsoft.SharePoint.Deployment.XmlFormatter.Serialize(Stream serializationStream, Object topLevelObject)
   at Microsoft.SharePoint.Deployment.ObjectSerializer.Serialize(DeploymentObject deployObject, Stream serializationStream)
   at Microsoft.SharePoint.Deployment.SPExport.SerializeObjects()
   at Microsoft.SharePoint.Deployment.SPExport.Run()
*** Inner exception:
Failed to find the XML file at location '12\Template\Features\DenyAdd\feature.xml'
   at Microsoft.SharePoint.SPXmlDocCache.GetGlobalXmlDocumentCore(String pathXml, Boolean bFeature)
   at Microsoft.SharePoint.SPXmlDocCache.GetGlobalXmlDocument(String pathAllFeaturesRelativeXml)
   at Microsoft.SharePoint.Administration.SPFeatureDefinition.EnsureGlobalDefinition()
   at Microsoft.SharePoint.Administration.SPFeatureDefinition.get_Scope()
   at Microsoft.SharePoint.Administration.SPFeatureDefinition.ActivationDependencyComparer.System.Collections.Generic.IComparer<Microsoft.SharePoint.Administration.SPFeatureDefinition>.Compare(SPFeatureDefinition featdef1, SPFeatureDefinition featdef2)
   at Microsoft.SharePoint.Deployment.WebSerializer.ExportFeatureComparer.System.Collections.Generic.IComparer<Microsoft.SharePoint.Deployment.ExportObject>.Compare(ExportObject exportObject1, ExportObject exportObject2)
   at System.Collections.Generic.ArraySortHelper`1.QuickSort[TValue](T[] keys, TValue[] values, Int32 left, Int32 right, IComparer`1 comparer)
[4/12/2012 4:05:51 PM]: Progress: Export Completed.
[4/12/2012 4:05:51 PM]: Finish Time: 4/12/2012 4:05:51 PM.
[4/12/2012 4:05:51 PM]: Completed with 0 warnings.
[4/12/2012 4:05:51 PM]: Completed with 1 errors.


 I understood there is error in the feature which is already deployed in my website.  But I cant find which the faulty one.  

Finally I found this tool in CodePlex... Feature Admin V2.0  ...   

It is great we simply find the faulty feature and remove it .....
Now it is working fine....
happy coding:)