TFS 构建堆栈:"F246018: The database operation exceeded the timeout limit and has been cancelled. Verify that the parameters..."

TFS Build stack: "F246018: The database operation exceeded the timeout limit and has been cancelled. Verify that the parameters..."

我们有 TFS 2017.3 On-Premise,有 XAML 个版本。

当构建在“关联变更集和工作项”序列上冻结并出现下一个错误“TF246018:数据库操作超出超时限制并已被取消时,我们面临构建问题。验证运行的参数是否正确

存在此类问题的构建在超时后不会停止,因此它们会锁定代理并重新启动构建过程。

如果我们重新[​​=28=]构建它可以成功通过。

此问题可能出现在具有不同代理的不同构建定义中。

更新:我们又遇到了同样的问题。 Associate Changesets and Work Items 上的构建堆栈”序列。每次构建都会恢复构建机器,所以我想清理缓存不是解决方案。有什么建议吗?

您可以尝试登录build agent机器,清理缓存文件夹,看看是否对您有帮助。文件夹路径为:C:\Users\username\AppData\Local\Microsoft\Team Foundation\x.0\Cache

由于您使用的是 TFS 2017,建议从 XAML build:

切换到新的构建系统

https://docs.microsoft.com/en-us/vsts/pipelines/build/migrate-from-xaml-builds?view=vsts

看来我们终于找到了 RC 为什么构建卡住了。

我们查看了构建历史,签入并发现了一个特定的 WI,从该构建变得可堆叠包含 ASCII 控制 EXT(我们刚刚将 WI 的所有字段一一复制到记事本++,发现符号(VS 不显示此类符号)。

在我们删除这个 WI 并创建一个新的 WI 并将变更集链接到它之后构建通过了

所以我们猜测原因是 TFS 不知道如何处理这个 ASCII 符号,并且在构建期间他无法保存工作项并且构建卡住了。