Jenkins 颠覆检查失败 - "E175002: CRLF expected at end of chunk: -1/-1"
Jenkins Subversion Checkout Failing - "E175002: CRLF expected at end of chunk: -1/-1"
我有一个 Jenkins v2.107.2 实例(运行 作为一个 Windows 服务)它正在通过 Visual SVN 服务器的 Subversion 检查几个项目(在单独的 Windows PC).
其中一个项目(最大 - ~2.7GB)偶尔出现,但在尝试结帐时始终失败并出现以下错误:
ERROR: Failed to check out https://example.com/myrepo
org.tmatesoft.svn.core.SVNException: svn: E175002: CRLF expected at end of chunk: -1/-1
svn: E175002: REPORT request failed on '/svn/REPO/!svn/vcc/default'
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:112)
另外,在查看Visual SVN Server的日志时,我可以看到如下内容:
Error writing base64 data: The timeout specified has expired [500, #70007]
A failure occurred while driving the update report editor [500, #70007]
Provider encountered an error while streaming a REPORT response. [500, #0]
以前,将 Jenkins 和 Subversion 插件降级一个版本的某种组合解决了这个错误,但尽管此后没有更改版本,但它不再有效。
从网上看,Subversion 中似乎内置了某种超时,如果超过特定时间,请求将被终止。然而,说明都提到了应该在 %APPDATA%\Roaming 中的 Subversion 配置,我似乎没有。
Jenkins Subversion documentation 建议 C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming
,但我还是什么都没有。
我已经安装了 TortoiseSVN,它确实创建了 Subversion 配置文件夹。我已经修改了http-timeout
,然后把这个配置放在文档建议的所有位置,但是这没有任何区别(但是是因为它没有解决问题,还是没有被选中向上 - 我不确定)。
您需要启用假脱机。
参见 this Jenkins support issue, although this dupe issue 更好地描述了解决方案:
Set the -Dhudson.spool-svn=true
system property or increase timeout on the server.
使用 SVNKit 支持 Subversion 的产品可能会出现此错误 E175002: CRLF expected at end of chunk: -1/-1
- Jenkins、Fisheye、Crucible 等。此错误不应出现在 svn.exe、TortoiseSVN 或本机 JavaHL 库中。
根据我的经验,以下解决方案可以解决问题 - 在 SVNKit 中启用假脱机。查看这些门票:
错误是由 Jenkins 中用于启用 SVN 客户端功能的 SVNKit 产生的。 SVNKit 是 Subversion 的单独重新实现,SVNKit 可能有自己的细节,可能会导致实际 Apache Subversion 客户端不会发生的问题或错误。我不是 SVNKit 方面的专家,但在我看来,您遇到过这种 SVNKit 特有的问题,或者至少是措辞错误。
对于 Windows 上的 Jenkins,您需要编辑位于 Jenkins 安装目录(例如 C:\Program Files\Jenkins\jenkins.xml)的 jenkins.xml 文件。
为 Hudson 添加一个选项以使用 SVN 假脱机
<service>
...
<arguments>
...
-Dhudson.spool-svn=true
...
</arguments>
...
</service>
我有一个 Jenkins v2.107.2 实例(运行 作为一个 Windows 服务)它正在通过 Visual SVN 服务器的 Subversion 检查几个项目(在单独的 Windows PC).
其中一个项目(最大 - ~2.7GB)偶尔出现,但在尝试结帐时始终失败并出现以下错误:
ERROR: Failed to check out https://example.com/myrepo
org.tmatesoft.svn.core.SVNException: svn: E175002: CRLF expected at end of chunk: -1/-1
svn: E175002: REPORT request failed on '/svn/REPO/!svn/vcc/default'
at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:112)
另外,在查看Visual SVN Server的日志时,我可以看到如下内容:
Error writing base64 data: The timeout specified has expired [500, #70007]
A failure occurred while driving the update report editor [500, #70007]
Provider encountered an error while streaming a REPORT response. [500, #0]
以前,将 Jenkins 和 Subversion 插件降级一个版本的某种组合解决了这个错误,但尽管此后没有更改版本,但它不再有效。
从网上看,Subversion 中似乎内置了某种超时,如果超过特定时间,请求将被终止。然而,说明都提到了应该在 %APPDATA%\Roaming 中的 Subversion 配置,我似乎没有。
Jenkins Subversion documentation 建议 C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming
,但我还是什么都没有。
我已经安装了 TortoiseSVN,它确实创建了 Subversion 配置文件夹。我已经修改了http-timeout
,然后把这个配置放在文档建议的所有位置,但是这没有任何区别(但是是因为它没有解决问题,还是没有被选中向上 - 我不确定)。
您需要启用假脱机。
参见 this Jenkins support issue, although this dupe issue 更好地描述了解决方案:
Set the
-Dhudson.spool-svn=true
system property or increase timeout on the server.
使用 SVNKit 支持 Subversion 的产品可能会出现此错误 E175002: CRLF expected at end of chunk: -1/-1
- Jenkins、Fisheye、Crucible 等。此错误不应出现在 svn.exe、TortoiseSVN 或本机 JavaHL 库中。
根据我的经验,以下解决方案可以解决问题 - 在 SVNKit 中启用假脱机。查看这些门票:
错误是由 Jenkins 中用于启用 SVN 客户端功能的 SVNKit 产生的。 SVNKit 是 Subversion 的单独重新实现,SVNKit 可能有自己的细节,可能会导致实际 Apache Subversion 客户端不会发生的问题或错误。我不是 SVNKit 方面的专家,但在我看来,您遇到过这种 SVNKit 特有的问题,或者至少是措辞错误。
对于 Windows 上的 Jenkins,您需要编辑位于 Jenkins 安装目录(例如 C:\Program Files\Jenkins\jenkins.xml)的 jenkins.xml 文件。
为 Hudson 添加一个选项以使用 SVN 假脱机
<service>
...
<arguments>
...
-Dhudson.spool-svn=true
...
</arguments>
...
</service>