svn commit 在一个简单文件上出现奇怪的错误 500

发布于 2024-12-26 12:15:40 字数 1930 浏览 2 评论 0原文

我们在工作中使用 VisualSVN 服务器,一切正常,我们有超过 50 个存储库。我今天尝试将一个网站放入存储库,但它在我隔离的一个特定单个文件上不断崩溃。

Adding: C:\Work\LAN6505\web\trunk\common_files\includes\fr\debut.inc.php  
Sending content: C:\Work\LAN6505\web\trunk\common_files\includes\fr\debut.inc.php  
Error: Commit failed (details follow):  
Error: Server sent unexpected return value (500 Internal Server Error) in response to  
Error:  PUT request for  
Error:  '/svn/LAN6505/!svn/txr/13-i/web/trunk/common_files/includes/fr/debut.inc.php'  
Completed!:   

我只是收到 500 错误,没有更多信息。有人知道该怎么办吗?是否有我可以查看的 VisualSvn 服务器日志文件。

如果我将文件复制到具有类似结构的另一个存储库,则不会出现问题...

可以找到文件的代码: http:// astebin.com/PwTCQSP7

希望有人可以帮助...


更新

Event Type:       Error
Event Source:   VisualSVN Server 2.5
Event Category:               Apache 
Event ID:             1001
Date:                    1/23/2012
Time:                    9:37:10 AM
User:                    ACTIVIS-991RBEL\Mathieu Dumoulin
Computer:         DELL-PE2900-01
Description:
Could not get next bucket brigade  [500, #0]
[client 192.168.0.64]

更新 #2

太棒了,花了 2.5 天将 Windows 上的 SVN 服务器迁移到 SVN 服务器在linux上,我又遇到了同样的问题:

[2012 年 2 月 24 日星期五 16:35:21] [错误] [客户端 192.168.0.64] 无法获取 下一个桶旅(URI: /svn/LAN6505/!svn/wrk/289e3161-cdbf-d44d-9716-c6390289ec92/web/trunk/common_files/includes/fr/debut.inc.php) [500,#0]

[2012 年 2 月 24 日星期五 16:36:12] [错误] [客户端 192.168.0.64] 无法获取 下一个桶旅(URI: /svn/LAN6505/!svn/wrk/554a4a6c-a015-7045-b0c6-072ffe01f854/web/trunk/common_files/includes/fr/debut.inc.php) [500,#0]

[2012 年 2 月 24 日星期五 16:48:17] [错误] [客户端 192.168.0.64] 无法获取 下一个桶旅(URI: /svn/LAN6505/!svn/wrk/15bd0f7e-06b9-b046-8c67-5f9778fab9b5/web/trunk/common_files/includes/fr/debut.inc.php) [500,#0]

We use VisualSVN server here at work and everything works fine, we have over 50 repositories. I tried today to put into a repository a web site but it keeps crashing at one specific single file that i've isolated.

Adding: C:\Work\LAN6505\web\trunk\common_files\includes\fr\debut.inc.php  
Sending content: C:\Work\LAN6505\web\trunk\common_files\includes\fr\debut.inc.php  
Error: Commit failed (details follow):  
Error: Server sent unexpected return value (500 Internal Server Error) in response to  
Error:  PUT request for  
Error:  '/svn/LAN6505/!svn/txr/13-i/web/trunk/common_files/includes/fr/debut.inc.php'  
Completed!:   

I simply get a 500 error, no more informations. Anyone know what to do with that? Is there a log file for VisualSvn server that i could look into.

If i copy the file to another repository with similar structure, the problem doesn't occur...

The code of the file can be found : http://pastebin.com/PwTCQSP7

Hope someone can help...


UPDATE

Event Type:       Error
Event Source:   VisualSVN Server 2.5
Event Category:               Apache 
Event ID:             1001
Date:                    1/23/2012
Time:                    9:37:10 AM
User:                    ACTIVIS-991RBEL\Mathieu Dumoulin
Computer:         DELL-PE2900-01
Description:
Could not get next bucket brigade  [500, #0]
[client 192.168.0.64]

UPDATE #2

Soooo, after spending 2.5 days migrating my SVN server on windows to a SVN server on linux, i got the same problem again:

[Fri Feb 24 16:35:21 2012] [error] [client 192.168.0.64] Could not get
next bucket brigade (URI:
/svn/LAN6505/!svn/wrk/289e3161-cdbf-d44d-9716-c6390289ec92/web/trunk/common_files/includes/fr/debut.inc.php)
[500, #0]

[Fri Feb 24 16:36:12 2012] [error] [client 192.168.0.64] Could not get
next bucket brigade (URI:
/svn/LAN6505/!svn/wrk/554a4a6c-a015-7045-b0c6-072ffe01f854/web/trunk/common_files/includes/fr/debut.inc.php)
[500, #0]

[Fri Feb 24 16:48:17 2012] [error] [client 192.168.0.64] Could not get
next bucket brigade (URI:
/svn/LAN6505/!svn/wrk/15bd0f7e-06b9-b046-8c67-5f9778fab9b5/web/trunk/common_files/includes/fr/debut.inc.php)
[500, #0]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

归属感 2025-01-02 12:15:40

我经历过完全相同的问题。使用本地网络连接时永远不会发生这种情况。当我通过 VPN 提交到地球另一端的 SVN 存储库时,这种情况经常发生。

关闭卡巴斯基安全软件 2012 会有所帮助,但并非总是如此。

此外,我经常在 VirtualBox 虚拟机上完成工作和提交。有时,即使简单地重新启动虚拟机也会有所帮助。

另一个解决方案是防止 IP 碎片。您可以使用 ping 命令检查数据包是否分段: ping host_name -f

如果存在数据包分段,您可以减小 MTU 大小。这个链接很好地描述了如何更改 MTU 大小。

不幸的是,上述所有解决方案都不是 100% 可靠。这个错误对我来说也很神秘。我不明白为什么SVN对这些东西如此敏感。

I have experienced the exactly same problem. It never happens with a local network connection. When I commit to a SVN repository on another side of the planet via VPN it happens often enough.

Turning off Kaspersky Internet Security 2012 helps, but not always.

Moreover, I often do my work and commit from a VirtualBox virtual machine. Sometimes even simple restart of the VM helps.

Another solution is to prevent IP fragmentation. You can check that your packets are fragmented by using the ping command: ping host_name -f

If there is a package fragmentation you can reduce your MTU size. This link provides a good description how to change the MTU size.

Unfortunately, all the above mentioned solutions are not 100% reliable. This error looks like a mystery for me also. I can't understand why SVN is so sensitive to these things.

涙—继续流 2025-01-02 12:15:40

我遇到了类似的问题,并且我确实确认,在提交时关闭卡巴斯基安全软件 2012 可以解决我的问题。
如果有人也面临这样的问题,应该检查防病毒/防火墙软件是否没有阻止 svn 传输。

I had a similar problem and I do confirm, that turning off Kaspersky Internet Security 2012 for the time of commit resolves the issue in my case.
If somebody is also facing such problem, should check if the antivirus/firewall software doesn't block the svn transmission.

做个少女永远怀春 2025-01-02 12:15:40

这看起来像这个错误:

结果是在输入过滤器中(与分块编码有关);如果上传提前结束,则上传会失败,因为服务器需要更多数据,即使流末尾已发送。

好的,那么错误就出在输入过滤器中。

我有一个(错误的)印象:这个错误只有在给出了 content-length 时才会出现。
但如果传输第一个块,它也会出现分块编码
完全,正文稍后被截断。

我希望有两件事可以帮助您:

  • VisualSVN 的更新可以为您解决此问题;据报道,链接的错误已在 r792409

    <块引用>

    *) core: 如果请求正文短于公布的长度,则返回 APR_EOF
    由客户。 PR 33098 [ 斯特凡·弗里奇 ]

  • 我(最近)缺乏使用 VisualSVN 的经验,这让我怀疑特定文件是否出了问题(它可能包含有问题的字符;这是 Windows,我相信 ascii 26 (^Z) 可能是解释为 EOF。查看您的文件是否包含任何“有趣”字符,或者您可以将其置于二进制模式(对于单个文件或整个服务器)。

This looks like this bug:

It turned out to be in the input filter (having to do with chunked encoding); if the upload ends before expected, the upload fails because the server expects more data, even though the end of stream had been sent.

ok, then the bug is in the input filter.

I was under the (wrong) impression that this bug only appears if content-length is given.
But it also appears with chunked encoding if the first chunk is transferred
completely and the body is truncated later.

I'd expect two things could help you:

  • An update of VisualSVN to fix this for you; the linked bug is reported to have a fix for apache in r792409

    *) core: Return APR_EOF if request body is shorter than the length announced
    by the client. PR 33098 [ Stefan Fritsch ]

  • My lack of (recent) experience with VisualSVN makes me doubt whether there might be something going on with the particular file (it may contain offending characters; this being Windows, I believe ascii 26 (^Z) might be interpreted as EOF. See if your file contains any 'funny' characters or you can put it in binary mode (either for the single file, or for the whole server).
杯别 2025-01-02 12:15:40

毕竟,我们发现简单地更改文件并提交工作,可能仍然与防火墙有关,因为它是唯一的最后一个元素。但是更改文件的签名有效...

真的非常非常奇怪的问题...

After all, we found out that simply changing the file and committing works, might still be related to the firewall since it's the only last element in the way. But changing the file's signature works...

really really really strange problem...

新人笑 2025-01-02 12:15:40

我想我找到了这个错误的可能来源(至少在我的例子中):
这是由于您的存储库所在的磁盘/分区上的磁盘空间不足。

我的案例:
遇到错误
尝试通过 VisualSVN 查找提交是否成功
Repo 仍处于提交前的状态
碰巧检查了磁盘空间,为零
删除一些随机文件以释放内存(约 10MB)
提交现在可以工作了

TL;DR:释放存储库所在磁盘上的一些内存,内存不足可能是此错误的罪魁祸首

I think I found a possible source of this error (at least in my case):
This is due to running out of disk space on the disc/partition where your repo is located on.

My case:
Encountered error
Tried to look up if commit succeeded via VisualSVN
Repo was still in state before commit
Coincidentally checked disk space, was zero
Delete some random file to free up memory (ca 10MB)
Commit works now

TL;DR: Free up some memory on the disk your repository is stored on, not enough memeory is likely the culprint of this bug

独自←快乐 2025-01-02 12:15:40

我通过在提交时关闭客户端 PC 上的卡巴斯基安全软件解决了这个问题,但我不知道它是否也能解决您的问题。

I solved this problem by turning off Kaspersky Internet Security on client PC on commits, but I don't if it will also resolve issue in your case.

缪败 2025-01-02 12:15:40

防病毒(卡巴斯基)程序导致了我们本地办公网络的大部分问题。禁用防病毒程序可以解决问题(在大多数情况下)。

Anti virus (Kaspersky) program was causing most of the problems in our local office network. Disabling the anti virus program solved the problem (in most cases).

骄兵必败 2025-01-02 12:15:40

在过去的几天里我一直受到这个问题的困扰,并终于设法解决了它。

看起来要么是缺少以下指南,要么是我自己的无知,我没有在我的存储库上进行正确的 chown。看起来所有数据都被视为文本,导致二进制数据中的文件结尾字符导致 apache 中出现 Bucket Brigade 错误。

一旦我正确地完成了以下操作:

sudo chown -R www-data:www-data /home/svnrepo

我的问题就消失了。

I have been suffering this problem over the last few days and have finally managed to fix it.

It looks like by either missing following guides, or my own ignorance I had not done the correct chown on my repository. And It looks like all data was being treated as text, causing end of file characters in binary data to cause the Bucket Brigade error in apache.

Once I had correctly done the chown with the following:

sudo chown -R www-data:www-data /home/svnrepo

My problems have gone away.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文