【发布时间】:2016-08-26 21:51:36
【问题描述】:
我已经按照“单服务器”手册 (https://msdn.microsoft.com/en-us/Library/vs/alm/TFS/setup/single-server?f=255&MSPPError=-2147217396) 安装了 TFS 2015。
我配置了一个简单的构建,构建了一个添加了单元测试项目的小型控制台应用程序,以及一个小单元测试。
构建配置现在包含三个步骤。
- NuGet 安装程序
- Visual Studio 构建
- Visual Studio 测试
现在,每次调用第三步,都会出现错误,浏览器中出现一个红色框,上面有文字:
503: 503: error
TFS.WebApi.Exception: 503: error at k (http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/corejs?v=IiKWXrylMIeJdHBpXJwuE0SpVjVnmci79kLQuyG8-s41:64:375)
at http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/corejs?v=IiKWXrylMIeJdHBpXJwuE0SpVjVnmci79kLQuyG8-s41:64:2955
at d (http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/corejs?v=IiKWXrylMIeJdHBpXJwuE0SpVjVnmci79kLQuyG8-s41:64:635)
at http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/corejs?v=IiKWXrylMIeJdHBpXJwuE0SpVjVnmci79kLQuyG8-s41:64:2888
at l (http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/q.js:27:8122)
at http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/q.js:27:8348
at t.when (http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/q.js:27:3780)
at t.u.promiseDispatch (http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/q.js:27:2824)
at http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/q.js:27:1649
at MessagePort.t (http://teamfs2015:8080/tfs/_static/tfs/Dev14.M95.3/_scripts/TFS/min/q.js:27:5773)
Session Id: c0c3ef7f-e1db-4bf8-976a-f820a0701334
是的,烦人的 503:服务不可用错误......
有什么办法可以消除这个错误吗? 我正在为构建服务器使用域帐户,它们未配置为过期,这些帐户位于管理员组中。等等等等。
我想我在互联网上尝试了有关此问题的所有信息,但似乎没有任何效果。
我们在安装 TFS2012 时遇到了同样的问题。
查看事件查看器(应用程序),每次出现问题前都有以下信息:
-
信息:TFS 服务
应用程序请求处理开始
服务器版本 = Microsoft.TeamFoundation.Framework.Server,版本=14.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a 服务帐户 = NT AUTHORITY\NETWORK SERVICE 机器名称 = TEAMFS2015
应用域:/LM/W3SVC/2/ROOT/tfs-1-131066466082045873
-
信息:TFS 服务
应用程序因以下原因被关闭:HostingEnvironment 应用域:/LM/W3SVC/2/ROOT/tfs-1-131066466082045873
-
信息:TraceLog Profiler
TraceLog Profiler 组件关闭,处理 w3wp.exe
-
信息:TraceLog Profiler
TraceLog Profiler 组件关闭,进程 te.processhost.managed.exe
-
错误:Perflib
DLL“C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_perf.dll”中服务“ASP.NET_64_2.0.50727”的打开过程失败。此服务的性能数据将不可用。数据部分的前四个字节 (DWORD) 包含错误代码。
-
错误:Perflib
DLL“C:\Windows\System32\Secur32.dll”中服务“Lsa”的打开过程失败。此服务的性能数据将不可用。数据部分的前四个字节 (DWORD) 包含错误代码。
-
错误:PerfNET
无法打开服务器服务性能对象。数据部分的前四个字节 (DWORD) 包含状态代码。
更新
“Microsoft Team Foundation Server 应用程序池”每次都“停止”。所以问题可能与应用程序池有关。否则应用程序池将因另一个错误而停止....
更新 阅读 jessehouwing 的评论,有来自事件查看器的结果:“应用程序和服务日志”>“Microsoft-Team Foundation Server”>“调试”:
- 错误 Total Time:19235.2866 (Delay 0ms) (Duration 19235.2866ms) (Threshold 10ms) (Fast 18) (Truncated 0) VssRequestContext.HostManagement.TaskAgentPoolHub.Connect:19223 VssRequestContext.HostManagement.TaskAgentPoolHub.Connect:-19235 HostManagement.AspNetRequestContext.EndRequest:19235
- 错误 Total Time:19372.701 (Delay 0ms) (Duration 19372.701ms) (Threshold 10ms) (Fast 19) (Truncated 0) HostManagement.AspNetRequestContext.EndRequest:19372
- 错误 Total Time:19235.1277 (Delay 0ms) (Duration 19235.1277ms) (Threshold 10ms) (Fast 19) (Truncated 0) HostManagement.AspNetRequestContext.EndRequest:19235
- 错误 Total Time:19278.2777 (Delay 0ms) (Duration 19278.2777ms) (Threshold 10ms) (Fast 19) (Truncated 0) HostManagement.AspNetRequestContext.EndRequest:19278 5、6和7.信息 TFS 活动日志条目
- 错误 Microsoft.TeamFoundation.Framework.Server.RequestCanceledException:TF400733:请求已被取消:客户端已断开连接.. 在 Microsoft.TeamFoundation.Framework.Server.VssRequestContext.CheckCanceled(布尔 throwIfShutdown) 在 Microsoft.TeamFoundation.Framework.Server.VssRequestContext.get_ServiceProvider() 在 Microsoft.TeamFoundation.Framework.Server.VssRequestContextExtensions.GetService[TService](IVssRequestContext 上下文) 在 Microsoft.TeamFoundation.Framework.Server.ActivityLoggingAttribute.OnActionExecuted(HttpActionExecutedContext actionExecutedContext) 在 System.Web.Http.Filters.ActionFilterAttribute.OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext,CancellationToken cancelToken) --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()
- 错误 Microsoft.TeamFoundation.Framework.Server.RequestCanceledException:TF400733:请求已被取消:客户端已断开连接.. 在 Microsoft.TeamFoundation.Framework.Server.VssRequestContext.CheckCanceled(布尔 throwIfShutdown) 在 Microsoft.TeamFoundation.Framework.Server.VssRequestContext.get_ServiceProvider() 在 Microsoft.TeamFoundation.Framework.Server.VssRequestContextExtensions.GetService[TService](IVssRequestContext 上下文) 在 Microsoft.TeamFoundation.Framework.Server.ActivityLoggingAttribute.OnActionExecuted(HttpActionExecutedContext actionExecutedContext) 在 System.Web.Http.Filters.ActionFilterAttribute.OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext,CancellationToken cancelToken) --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Web.Http.Filters.ActionFilterAttribute.d__5.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Web.Http.Filters.ActionFilterAttribute.d__0.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Web.Http.Controllers.ActionFilterResult.d__2.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Web.Http.Filters.AuthorizationFilterAttribute.d__2.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务任务) 在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务任务) 在 System.Web.Http.Controllers.ExceptionFilterResult.d__0.MoveNext()
查看日志记录的“详细信息”,我没有看到任何类似问题的原因。在错误之前,有几个日志条目,例如: TaskHubTimelineRecordLog.AppendLogContent、TaskHubTimelineRecordLog.CreateLog、TaskHubTimelineRecordFeeds.PostLines、TaskHubTimelineRecords.UpdateRecords。然后在“UpdateRecords”之后,SignalR 立即出现错误(这是后端和我开始构建的前端页面之间的通信。
【问题讨论】:
-
在应用层服务器的 Windows 事件查看器中的
Application ad Service Logs\Microsoft-Team Foudnation Server\Debug中有什么有趣的内容吗? -
应用程序池肯定正在关闭,但为什么呢?应用程序池的域帐户始终相同,密码不会过期。还尝试了“本地网络”帐户,同样的问题。尝试超时的东西,没有任何改变。在开始构建 10 秒后,它每次都会崩溃。我确信当我们的程序员使用 Visual Studio 连接到新的 TFS 时,这也会成为一个问题。我们在安装 TFS2012 时遇到了同样的问题。我们希望在 Windows2012 R2 中安装新的 TFS2015 时问题会消失
-
刚刚将所有服务等更改为本地帐户而不是域帐户,但问题仍然存在..
-
新的构建系统严重依赖长轮询 http 请求。 TFS 服务器是否位于可能会丢弃这些连接的设备、反向代理、VPN 或防火墙后面?看起来可能在某处配置了 20 秒的请求超时......我看不出这些会如何触发池重置,除非池被配置为在达到许多错误后回收。
-
服务器是我们本地域的一部分,没有防火墙,没有反向代理,到 VPN。 Windows 防火墙已禁用,没有病毒扫描程序正在运行。