1
votes

After upgrading to TFS 2015 Update 1 from TFS 2013 Update 4 we can no longer administer project security (http://server:8080/tfs/teamprojectcollection/teamproject/_admin/_security).

We only get this error:

TF400898: An Internal Error Occurred.
c/</<@http://xxx:8080/tfs/_static/tfs/Dev14.M89-Part7/_scripts/TFS/min/TfsPresentationCoreJs?v=lXKi9E9jJDFVJ4uSgQ1IiVi52h9UMYcgejXSHEf0ezk1:24:1602
d@http://xxx:8080/tfs/_static/tfs/Dev14.M89-Part7/_scripts/TFS/min/TfsPresentationCoreJs?v=lXKi9E9jJDFVJ4uSgQ1IiVi52h9UMYcgejXSHEf0ezk1:24:834
c/<@http://xxx:8080/tfs/_static/tfs/Dev14.M89-Part7/_scripts/TFS/min/TfsPresentationCoreJs?v=lXKi9E9jJDFVJ4uSgQ1IiVi52h9UMYcgejXSHEf0ezk1:24:1203
n.Callbacks/j@http://xxx:8080/tfs/_static/tfs/Dev14.M89-Part7/_scripts/TFS/min/basejs:3:32503
n.Callbacks/k.fireWith@http://xxx:8080/tfs/_static/tfs/Dev14.M89-Part7/_scripts/TFS/min/basejs:3:33543
x@http://xxx:8080/tfs/_static/tfs/Dev14.M89-Part7/_scripts/TFS/min/basejs:11:13062
.send/b/<@http://xxx:8080/tfs/_static/tfs/Dev14.M89-Part7/_scripts/TFS/min/basejs:11:17299

TFS event log shows:

Detailed Message: TF30065: An unhandled exception occurred.

Web Request Details
    Url: http://xxx/_api/_identity/ReadScopedGroupsJson?__v=5 [method: GET]
    User Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0
    Headers: not available
    Path: /xxx/_api/_identity/ReadScopedGroupsJson
    Local Request: False
    Host Address: xxx
    User: xxx [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.Admin.ApiIdentityController.<>c.<ReadScopedGroupsJson>b__20_1(TeamFoundationIdentity x)
   at System.Linq.Enumerable.<SelectManyIterator>d__16`2.MoveNext()
   at System.Collections.Generic.HashSet`1.UnionWith(IEnumerable`1 other)
   at System.Collections.Generic.HashSet`1..ctor(IEnumerable`1 collection, IEqualityComparer`1 comparer)
   at Microsoft.TeamFoundation.Server.WebAccess.Admin.ApiIdentityController.ReadScopedGroupsJson(String lastSearchResult, String searchQuery, Nullable`1 pageSize)
   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.EndInvokeActionMethod(IAsyncResult asyncResult)
   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__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.EndInvokeActionMethodWithFilters(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.Async.AsyncControllerActionInvoker.EndInvokeAction(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)

We do have other team projects in the collection. For them, everything works fine.

1
This would probably be better on the TFS MSDN forums where you find Microsoft Support Staff.DaveShaw

1 Answers

0
votes

As you mentioned other team projects work fine except this one, you may check whether the User: xxx has the correct permission to access the page. You may try the command below as this blog mentioned:

tfssecurity /a+ Server FrameworkGlobalSecurity GenericRead n:Domain\userxxx ALLOW /collection:http://tfsservername:8080/DefaultCollection