【问题标题】:TFS 2010 Build: Sporadic failure in the processTFS 2010 Build:过程中出现零星故障
【发布时间】:2011-09-17 01:22:48
【问题描述】:

我们的构建已经停止以稳定的方式执行。
大约每三个我们收到一个 TF215096 或 TF215097 错误并且构建失败。
如果我们然后重新启动构建控制器,它会再次工作 - 直到下一次。

我们得到的错误是:

TF215096:连接到控制器 vstfs:///Build/Controller/1 时出错:在 ht*p://XXXX 处没有可以接受消息的端点侦听。这通常是由不正确的地址或 SOAP 操作引起的。有关详细信息,请参阅 InnerException(如果存在)。


TF215096:连接到控制器 XXX 时出错 - 控制器:无法连接到 ht*p://XXX。 TCP错误码10061:无法连接,因为目标机器主动拒绝192.168.XXX.XXX:XXX。


TF215097:为构建定义 \XXX 初始化构建时出错:服务器 ht*p://XXX 无法使用 Team Foundation 服务。技术信息(针对管理员):底层连接已关闭:预期保持活动状态的连接已被服务器关闭。


TF215097:为构建定义 \YYY 初始化构建时出错:接收对 ht*p://XXX 的 HTTP 响应时出错。这可能是由于服务端点绑定未使用 HTTP 协议。这也可能是由于服务器中止了 HTTP 请求上下文(可能是由于服务关闭)。有关详细信息,请参阅服务器日志。

服务器日志提供的信息很少,至少我们没有发现任何东西可以帮助我们解决问题。网络上的各种搜索也没有成效。

有人遇到过这些/类似的问题吗?关于如何/在哪里寻找解决方案的任何想法?
非常感谢您的任何意见!

【问题讨论】:

    标签: tfs tfsbuild


    【解决方案1】:

    是的,听起来您确实遇到了一些连接问题。您可以尝试在构建机器和服务器(如果可能)上启用SOAP tracing 以查看是否有任何错误。如果仍然没有为您提供任何新信息,请通过提交Connect Bug 联系 Microsoft 以获得帮助。

    【讨论】:

    • 你好 Duat,我们听从了你的建议,创建的日志对揭示问题没有帮助。我将继续向 MS 报告此情况,并且还将更新此帖子,以防我们收到的输入对其他人也有用。
    【解决方案2】:

    我不确定它是否会对您有所帮助,但我在构建代理时遇到了类似的问题,最终只是删除并重新创建了代理。您可以尝试删除您的控制器/代理并将其重新添加。一个蛮力解决方案,但一个很好的起点。如果这不能解决问题,至少您可以消除控制器/代理的问题,并查看与网络/服务器相关的问题。

    【讨论】:

    • 您好 NgM,感谢您的意见!我们实际上尝试了这个,它似乎确实帮助了一两天:现在我们处于同样的情况。我将遵循下面建议的@Duat 路径。
    【解决方案3】:

    今天是快乐的一天,因为我们设法查明了问题的真相。抱歉@Duat,我取消了“答案”复选标记 - 但事实证明,问题与您(和其他任何人)预测的完全不同。

    在我上次更新时,我正准备将此事转发给 MS,这时我们意识到我们的防火墙在名称解析中行为不端。所以我们认为这是罪魁祸首并等待解决。解决后,我们仍然遇到同样的问题,我们再次重新检查情况。

    我们在构建过程中隔离了问题,更具体地说,我们的构建解决方案中包含自定义代码活动。

    我已经实现了一个代码活动,该活动将在每次构建的最后步骤中启动。此活动是关于收集BuildDetails 关于正在运行的构建并将它们添加为“BuildLog.xls”中的新行。
    使用Microsoft.Office.Interop.Excel 实现。
    此 excel 表驻留在另一台服务器中(不是在控制器/代理所在的服务器上)。

    在此活动的开发过程中,我遇到了this 之类的问题,但在我完成后,没有任何 EXCEL 实例被挂起。所以我认为这已经完成并处理了。

    通过 try & error,我们观察到,当此活动不运行时,不会发生任何问题。
    随着这个活动的运行,在构建控制器重置后的第一个构建将成功,任何下一个构建都有一定的失败机会。一旦任何构建失败,在另一个构建控制器重置之前,其他构建控制器都不会成功。

    我对问题出在哪里只有一个大致的了解(Excel 调用是 DCOM,TFS 服务是 WCF:它们到底会如何干扰?!为什么有时会成功,有时会失败?! )。
    提供的诊断也无济于事,实际上它们会误导我们进入一个持续数月的循环。
    如果我有时间,我想干净利落地重现错误并从中提出服务器故障问题...


    删除此活动后,它可以工作!我现在在 SO 中搜索并找到 this,其中 J.Saunders cmets:“一般来说,您永远不应该在服务器环境中使用 Office Interop”。
    具有讽刺意味的是,一旦你找到任何难题的根源,整个宇宙似乎都知道它,除了你......

    【讨论】:

    • 这是一个示例,说明您无法从服务器类型的应用程序安全地使用 Office 自动化。这不是它的设计方式,也不是它的工作方式。相反,它就是这样失败的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-10
    • 1970-01-01
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多