TF53010 error - TFS 2008 error in Windows 2008

I got a very strange error when trying to assign permissions to the members of a Team Project using Team Explorer.

I tried again and again with different users and always got the same non descriptive error.

After analyizing the servers event viewer, I found the following error:

TF53010: The following error has occurred in a Team Foundation component or extension:

Detailed Message: TF53014: A crash report for this problem was recently created; a new crash report for this occurrence of the problem is not being created. This problem has occurred 9 times.
Web Request Details
    Url: http://uruit-tfs:8080/Services/v1.0/GroupSecurityService.asmx [method: POST]
    User Agent: Team Foundation (devenv.exe, 9.0.30729.1)
    Headers: Content-Length=580&Content-Type=text%2fxml%3b+charset%3dutf-8&Accept-Encoding=gzip&Accept-Language=en-US&Expect=100-continue&Host=uruit-tfs%3a8080&User-Agent=Team+Foundation+(devenv.exe%2c+9.0.30729.1)&X-TFS-Version=1.0.0.0&X-TFS-Session=1aa75529-2eba-4d04-9ac2-a83afc1f0865&SOAPAction=%22http%3a%2f%2fschemas.microsoft.com%2fTeamFoundation%2f2005%2f06%2fServices%2fGroupSecurity%2f03%2fAddMemberToApplicationGroup%22
    Path: /Services/v1.0/GroupSecurityService.asmx
    Local Request: False
    Host Address: 172.20.200.17
    User: CARRASCO\mbabuglia [authentication type: NTLM]

Exception Message: Retrieving the COM class factory for component with CLSID {080D0D78-F421-11D0-A36E-00C04FB950DC} failed due to the following error: 800703fa. (type COMException)

Exception Stack Trace:    at System.DirectoryServices.ActiveDirectory.DirectoryEntryManager..ctor(DirectoryContext context)
   at System.DirectoryServices.ActiveDirectory.DomainController.FindOneInternal(DirectoryContext context, String domainName, String siteName, LocatorOptions flag)
   at System.DirectoryServices.ActiveDirectory.DomainController.FindOneWithCredentialValidation(DirectoryContext context, String siteName, LocatorOptions flag)
   at System.DirectoryServices.ActiveDirectory.DomainController.FindOne(DirectoryContext context, LocatorOptions flag)
   at Microsoft.TeamFoundation.Server.DomainProperties..ctor(String domain)
   at Microsoft.TeamFoundation.Server.DomainProperties.GetDomainProperties(String domain)
   at Microsoft.TeamFoundation.Server.ADAccessor.ExtractIdentity(Boolean includeMembers, IdentitySeen identitySeen, ProcessIdentity processIdentity)
   at Microsoft.TeamFoundation.Server.ADAccessor.ExtractIdentity(Boolean includeMembers)
   at Microsoft.TeamFoundation.Server.IdentityStoreAccessor.ReadIdentityFromSource(String sid, Boolean includeMembers)
   at Microsoft.TeamFoundation.Server.IdentityStoreAccessor.AddMemberToApplicationGroup(String groupSid, String memberSid)
   at Microsoft.TeamFoundation.Server.Core.AddMemberToApplicationGroup(IPrincipal user, String groupSid, String identitySid)
   at Microsoft.TeamFoundation.Server.GroupSecurityService.AddMemberToApplicationGroup(String groupSid, String identitySid)


Luckily this guy had the correct anwser. According to Jiange Sun:

"This is due to a design change in Windows 2008. This wasn’t an issue in Win2k3, because the OS would let us hold onto HKCU after the user logged out."

To solve the problem:

Set “Load User Profile” to True for the IIS Application Pool “Microsoft Team Foundation Server Application Pool”, as shown in the following image:

Load User Profile in IIS

 

Post written by Manuel Babuglia - Software Engineer @ UruIT Global IT Services

No Comments