Failed to determine definition for Feature with ID
I have been getting the following High alert in the SharePoint logs. I have tried searching the registry to no avail. Does anyone know what this feature may be or how I can look it up? Failed to determine definition for Feature with ID '8151d870-ea9e-4d2c-8504-d2d699ef050e'. Thanks, Matthew
March 18th, 2008 12:00am

I have the following PowerShell script that lists out all features in a site collection (and lists the farm-level features as well). I should clarify: run the script on the server, it will output a text file (features.txt). You can search the file for your feature GUID. Script is below:[reflection.assembly]::LoadWithPartialName("Microsoft.SharePoint")$outString = @()$outString += "Id`tDisplayName`tReceiverAssembly`tReceiverClass`tScope`tHidden`tURL"$s = [Microsoft.SharePoint.SPSite]"http://SITECOLLECTIONURLGOESHERE/"$wa = $s.WebApplication$f = $wa.Farmforeach ($farmFeature in $f.FeatureDefinitions) { $def = $farmFeature $outString += "$($def.Id)`t$($def.DisplayName)`t$($def.ReceiverAssembly)`t$($def.ReceiverClass)`t$($def.Scope)`t$($def.Hidden)`tN/A"}foreach ($webApplicationFeature in $wa.Features) { $def = $webApplicationFeature.Definition $outString += "$($def.Id)`t$($def.DisplayName)`t$($def.ReceiverAssembly)`t$($def.ReceiverClass)`t$($def.Scope)`t$($def.Hidden)`t$($s.Url)"}foreach ($siteFeature in $site.Features) { $def = $siteFeature.Definition $outString += "$($def.Id)`t$($def.DisplayName)`t$($def.ReceiverAssembly)`t$($def.ReceiverClass)`t$($def.Scope)`t$($def.Hidden)`t$($s.Url)"} foreach ($web in $s.AllWebs) { foreach ($webFeature in $web.Features) { $def = $webFeature.Definition $outString += "$($def.Id)`t$($def.DisplayName)`t$($def.ReceiverAssembly)`t$($def.ReceiverClass)`t$($def.Scope)`t$($def.Hidden)`t$($web.Url)" } } echo $web.ServerRelativeUrl $web.Dispose()$s.Dispose()#Open features.txt in Notepad, copy and paste into an Excel window for easier viewing.$outString >features.txt
Free Windows Admin Tool Kit Click here and download it now
March 18th, 2008 12:51am

That script is awesome, however the file it outputs does not contain theGUID I am looking for. Should I run the script on sites other than my main one (Central Admin, MySites, etc)? Do you have any other suggestions? Just so I say it, I am running MOSS 2007 on W2K3 SP2. Thanks. Matthew
March 19th, 2008 12:31am

Hrm. Another approach to this is the brute force method: 1. Download GREP for Windows (or program that performs equivalent task) 2. "grep" your entire C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ folder, including subdirectories, for your GUID. That's GOT TO work
Free Windows Admin Tool Kit Click here and download it now
March 19th, 2008 6:03pm

You obviously do not know my luck. I grepped the directory recursively and it came up with nothing. Just to make sure I got the command right, this is what I had. grep -r -H -i -a 8151d870-ea9e-4d2c-8504-d2d699ef050e C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\ and tomake sure the dashes in the GUID didn't translate to regular expressions, I also tried it with just 8151d870. Just a thought, since it says itdetermine a definition forthat GUID, couldn't that possibly mean it doesn't exist? Is there a way to find what is trying to call it? Thanks. Matthew
March 19th, 2008 11:38pm

I'm not the king grepper, but that looks correct. It's odd that it's asking for a feature definition but you don't have any record of the feature in your farm. All features have a feature.xml file underneath the 12/template/features/ directory (and thus should have been caught by the grep), and even if they're not, then a REFERENCE to the feature definition would exist somewhere in your farm (and thus should have been caught by the script). If you're feeling lucky, you can modify the PowerShell script to look through all sites in all web applications in the farm. I have actually used this script in the past to remove the Knowledge Network beta features, so I have seen the exact message you're seeing in the logs. Unfortunately for you, when I ran the script, I found the feature definition I was looking for. Maybe dig into the database(s) and look for the feature GUID there?
Free Windows Admin Tool Kit Click here and download it now
March 20th, 2008 12:01am

I really appreciate all your help. I guess I am just going to do a search on the entire DB (not looking forward to that). I will post back with my findings. Again, thank you very much for all your help, pseale.
March 21st, 2008 4:09am

Here is the latest if anyone can help. I have searched through the registry, all the SharePoint databases and the 12 folder and nothing turns up that GUID. Does anyone have any ideas? Thanks. Matthew
Free Windows Admin Tool Kit Click here and download it now
March 24th, 2008 5:41pm

I have a new idea: you can probably run:stsadm -o uninstallfeature -id (your GUID) -force If it works (if!), this will solve your problem. We've already established that this is not a standard WSS, MOSS Standard or Enterprise feature, as the feature ID doesn't appear anywhere in the 12 hive, so it must be a dead link to an unused custom feature. -Peter
March 25th, 2008 8:16pm

If only it were that easy. The operation completed successfully, yet the error is still there. I am going to try to grep the entire c: and d: to see what I come up with (though I don't expect much). Matthew
Free Windows Admin Tool Kit Click here and download it now
March 27th, 2008 8:12pm

STOP THE PRESSES!!! A grep of C: actually turned up the culprit. It turns out the dumb@$$ who set up the server made a custom web part and stored it in a personal my documents folder. I am almost bald from pulling my hair out this whole time. Thank you so much for all your help Peter. If there was ever a way to repay you. Matthew
March 27th, 2008 10:52pm

Hi, I've got a similar problem as you guys have had. Error Log Message: Failed to determine definition for Feature with ID 'a93fcaa1-9daa-48f2-90cb-8a2387925a46'. Skipping this feature for element querying consideration. The only thing is I the feature that's causing the issues is in a custom workflow that I installed as part of a solution and have since removed. The feature file no longer exists in the 12 hive and when I run: stsadm -o uninstallfeature -i <guid> I get an error saying the feature is not installed and hence not uninstalled. How can I remove this feature?What's still binding to it?Thanks
Free Windows Admin Tool Kit Click here and download it now
June 19th, 2008 1:17pm

I am having the same issue as GR101... any ideas? Did you get anywhere GR101?
October 15th, 2008 9:26am

OldRobbo1983, Yes I did resolve it. I reinstalled the workflow and then ranstsadm -o uninstallfeature -i <guid> This fixed it. Hope this helps :)
Free Windows Admin Tool Kit Click here and download it now
October 17th, 2008 9:32am

Just found this link, I've not used the tool but looks handy.http://www.moss2007.be/blogs/vandest/archive/2008/04/28/stsadm-o-export-fatalerror-failed-to-compare-two-elements-in-the-array.aspx
October 17th, 2008 10:13am

Nice! Here are the modifications to run the feature detection on every site collection in the specified WebApp: [reflection.assembly]::LoadWithPartialName("Microsoft.SharePoint")$outString = @()$outString += "Id`tDisplayName`tReceiverAssembly`tReceiverClass`tScope`tHidden`tURL" $webAppURL = http://yourwebapphere/$wa = [Microsoft.Sharepoint.Administration.SPWebApplication]::Lookup($webAppURL)$f = $wa.Farm # Enumerate features in the webApp base.foreach ($farmFeature in $f.FeatureDefinitions) {$def = $farmFeature$outString += "$($def.Id)`t$($def.DisplayName)`t$($def.ReceiverAssembly)`t$($def.ReceiverClass)`t$($def.Scope)`t$($def.Hidden)`tN/A"} # Now loop though each site collection:foreach ($s in $wa.sites) { foreach ($webApplicationFeature in $wa.Features) { $def = $webApplicationFeature.Definition $outString += "$($def.Id)`t$($def.DisplayName)`t$($def.ReceiverAssembly)`t$($def.ReceiverClass)`t$($def.Scope)`t$($def.Hidden)`t$($s.Url)"} foreach ($siteFeature in $s.Features) { $def = $siteFeature.Definition $outString += "$($def.Id)`t$($def.DisplayName)`t$($def.ReceiverAssembly)`t$($def.ReceiverClass)`t$($def.Scope)`t$($def.Hidden)`t$($s.Url)"} foreach ($web in $s.AllWebs) { foreach ($webFeature in $web.Features) { $def = $webFeature.Definition $outString += "$($def.Id)`t$($def.DisplayName)`t$($def.ReceiverAssembly)`t$($def.ReceiverClass)`t$($def.Scope)`t$($def.Hidden)`t$($web.Url)" } } echo $web.ServerRelativeUrl$web.Dispose() } $s.Dispose() #Open features.txt in Notepad, copy and paste into an Excel window for easier viewing.$outString >features.txt
Free Windows Admin Tool Kit Click here and download it now
March 3rd, 2009 1:09am

Just found this link, I've not used the tool but looks handy. http://www.moss2007.be/blogs/vandest/archive/2008/04/28/stsadm-o-export-fatalerror-failed-to-compare-two-elements-in-the-array.aspx PROBLEM SOLVED I tried this tool several times and SUCESSFULLY !! Error LOG is now clean from this type of errors. Very handy. Thx GR101
September 2nd, 2009 2:22pm

be that as it may it did not work for me where there is no such feature installed on the server yet SharePoint insists on looking for it. The PreUpgradeCheck tool of stsadm can list all of the feature sharepoint thinks it is supposed to have and show a status of missing. However, deactivating the feature using stsadm still does not remove it. uninstallfeature merely returns message that said feature is not installed and therefore will not be uninstalled.ERJ MCSD MCDBA
Free Windows Admin Tool Kit Click here and download it now
October 8th, 2010 11:35pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics