We recently upgraded from TFS 2010 to TFS 2013 Update 4. Everything seems to be working fine except that now when any user who is not a member theProject Collection Administrators group opens the Web Portal, the following error is displayed:
Error(s):
TF400898 An Internal Error Occurred
Observations:
1) The Web Portal works fine (except for the features not enabled) after the user dismisses the Error window
- Note: when user is added to the Advanced Level, opening the Team Rooms results in error TF400898, but works ok when user is member of Project Collection Administrators
2) Adding the user to the Project Collection Administrators group eliminates error message TF400898 from appearing
3) Event Log on the TFS Application Tier server (see excerpt below) says that the error occurred invoking the url
http://***:8080/tfs/DevCollection/***/_api/_teams/members?maxResults=101&randomize=true&__v=5&teamId=21b46a9c-e329-41f9-83d8-cc324ea15d62
- Opening this link with an account in the Project Collection Administrators group retrieves the Members.json file
- Opening this link with an account NOT in the Project Collection Administrators group results in error TF400898
Judging from the behaviour, I suspect that the problem is caused by a security/permissions setting; thus, it may be very difficult to duplicate the problem on another server/collection. If that is the case, any help explaining what uses the Members.json file in the Web Portal, and the permissions that are needed to access the information in the file would be helpful.
==================================================
Event Log Details
==================================================
TF53010: The following error has occurred in a Team Foundation component or extension:
Date (UTC): 03/06/2015 5:31:23 PM
Machine: ****
Application Domain: /LM/W3SVC/3/ROOT/tfs-1-****
Assembly: Microsoft.TeamFoundation.Framework.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a; v4.0.30319
Service Host: 70114103-0ed2-4473-a297-4b41cc816670 (DevCollection)
Process Details:
Process Name: w3wp
Process Id: 6656
Thread Id: 6580
Account name: ***\***
Detailed Message: TF30065: An unhandled exception occurred.
Web Request Details
Url:
http://****:8080/tfs/DevCollection/***/_api/_teams/members?maxResults=101&randomize=true&__v=5&teamId=21b46a9c-e329-41f9-83d8-cc324ea15d62 [method: GET]
User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Headers: Connection=Keep-Alive&Accept=application%2fjson%2c+text%2fjavascript%2c+*%2f*%3b+q%3d0.01&Accept-Encoding=gzip%2c+deflate&Accept-Language=en-CA&Authorization=NTLM+TlRMTVNTUAADAAAAGAAYAIoAAABcAVwBogAAAAYABgBYAAAAEAAQAF4AAAAcABwAbgAAAAAAAAD%2bAQAABYKIogYBsR0AAAAPNRtssXXYVMRjSPAjzvErPG4AaABxAHQAZgBzAHUAcwBlAHIAMQBOAEwARQBNADEAVwBBADAAOAAwADkAQgBXADEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHtrbtxg4WaiYsKB06SKiOwEBAAAAAAAAHXiLHCOe0AH%2bNrZBLajPAwAAAAACAAgAQQBQAFAAUwABABQATgBKAEUAUwAxAFMANwA2ADcANQAEABoAYQBwAHAAcwAuAGMAaQAuAGcAYwAuAGMAYQADADAATgBKAEUAUwAxAFMANwA2ADcANQAuAGEAcABwAHMALgBjAGkALgBnAGMALgBjAGEABQAQAGMAaQAuAGcAYwAuAGMAYQAHAAgAHXiLHCOe0AEGAAQAAgAAAAgAMAAwAAAAAAAAAAAAAAAAMAAAbzn0nkrOke2mF5zxqjuZq5s%2bpYeKRwQ2kRuoikvvsDEKABAAAAAAAAAAAAAAAAAAAAAAAAkAOgBIAFQAVABQAC8AbgBqAGUAcwAxAHMANwA2ADcANQAuAGEAcABwAHMALgBjAGkALgBnAGMALgBjAGEAAAAAAAAAAAAAAAAA&Cookie=chat.transport%3dserverSentEvents%2cforeverFrame%2clongPolling%3b+__RequestVerificationToken_L3Rmcw2%3dHFP_8Xhh96bcUnUM3ZrVMyHrmUIf5zmIE8qsugTHOMCm4OsaVhOLRRskW9YlGjCWhfsp9TI_6zDjTgeTil6tMPvQtss1%3b+__RequestVerificationToken291b7725e-3aef-44d6-a208-9edb8d116c7c%3dHFP_8Xhh96bcUnUM3ZrVMyHrmUIf5zmIE8qsugTHOMCm4OsaVhOLRRskW9YlGjCWhfsp9TI_6zDjTgeTil6tMPvQtss1&Host=****%3a8080&Referer=http%3a%2f%2f****%3a8080%2ftfs%2fDevCollection%2f***&User-Agent=Mozilla%2f5.0+(Windows+NT+6.1%3b+WOW64%3b+Trident%2f7.0%3b+rv%3a11.0)+like+Gecko&X-Requested-With=XMLHttpRequest
Path: /tfs/***/_api/_teams/members
Local Request: False
Host Address: **.**.**.**
User: *** [authentication type: NTLM]
Exception Message: Object reference not set to an instance of an object. (type NullReferenceException)
Exception Stack Trace: at Microsoft.TeamFoundation.Server.WebAccess.Controllers.ApiTeamsController.<Members>b__0(TeamFoundationIdentity id)
at System.Linq.EnumerableSorter`2.ComputeKeys(TElement[] elements, Int32 count)
at System.Linq.EnumerableSorter`1.Sort(TElement[] elements, Int32 count)
at System.Linq.OrderedEnumerable`1.<GetEnumerator>d__0.MoveNext()
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at System.Linq.Enumerable.Count[TSource](IEnumerable`1 source)
at Microsoft.TeamFoundation.Server.WebAccess.Controllers.ApiTeamsController.Members(Guid teamId, Nullable`1 includeGroups, Nullable`1 maxResults, Nullable`1 randomize)
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<>c__DisplayClass2a.<BeginInvokeAction>b__20()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult)
at System.Web.Mvc.Controller.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar)
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)