Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TF400324 - "Page not found" in source control explorer

We use TFS2012 and VS2012 (some people use Update1 and some Update2). ). In some people's machines, we get:

TF400324: Team Foundation services are not available from server vstfps\Protection.
Technical information (for administrator):
    Page not found.

This happens on any source control access, both in VS2012 and when running "tf.exe get". However, other TFS services work fine, for example work item queries.

I've uninstalled and re-installed VS (this time without Update2), and the problem persists.

I found a similar problem report, though it's somewhat different, and either way has no fix.

Debugging with Netmon, I noticed that affected machines use a different URI:

Good: /tfs/Protection/VersionControl/v4.0/repository.asmx
Bad: /tfs/Protection/VersionControl/v5.0/repository.asmx

What determines the URI the machine uses? How can I change that?

like image 213
Jonathan Avatar asked Apr 17 '13 13:04

Jonathan


1 Answers

Workaround: Close Visual Studio and related apps, then delete %LocalAppData%\Microsoft\Team Foundation\4.0\Cache.

Reason: (reconstructed from reports from my sysadmin...)

My TFS2012 RTM server was cloned from an existing server, keeping the same collection GUID. Effects:

  • The old server had Update1 installed and uninstalled. TFS2012 RTM only supported v4.0 URI, while TFS2012 Update1 added v5.0. So sometimes, clients would get confused and go to the old server, get the v5.0 URI, and keep that cached in ...\Cache\<guid>\LocationServiceData.config.
  • We've had TFS builds fail with "Can't copy activity logs", since they tried to copy to the old server.

Fix: Change the collection GUID at the new server, by running:

tfsconfig ChangeServerID /sqlinstance:<SQLInstanceName> /databasename:tfs_configuration 

afterwards, people need to clean the cache one last time and that's it.

like image 151
Jonathan Avatar answered Sep 28 '22 12:09

Jonathan