一个简单文件上的svn提交出现奇怪错误500
我们在这里使用VisualSVN服务器,一切正常,我们有50多个存储库。我今天试图把一个网站放进一个存储库,但它总是在我隔离的一个特定文件上崩溃一个简单文件上的svn提交出现奇怪错误500,svn,tortoisesvn,visualsvn-server,Svn,Tortoisesvn,Visualsvn Server,我们在这里使用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 fail
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服务器的日志文件供我查看
如果我将文件复制到另一个具有类似结构的存储库,则不会出现问题
可以找到文件的代码:
希望有人能帮忙
更新
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服务器迁移到linux上的SVN服务器之后,我又遇到了同样的问题: [Fri Feb 24 16:35:21 2012][error][client 192.168.0.64]无法获取 下一个桶旅(URI: /svn/LAN6505/!svn/wrk/289e3161-cdbf-d44d-9716-c6390289ec92/web/trunk/common_files/includes/fr/处子秀.inc.php) [500,#0] [Fri Feb 24 16:36:12 2012][error][client 192.168.0.64]无法获取 下一个桶旅(URI: /svn/LAN6505/!svn/wrk/554a4a6c-a015-7045-b0c6-072ffe01f854/web/trunk/common_files/includes/fr/处子秀.inc.php) [500,#0] [Fri Feb 24 16:48:17 2012][error][client 192.168.0.64]无法获取 下一个桶旅(URI: /svn/LAN6505/!svn/wrk/15bd0f7e-06b9-b046-8c67-5f9778fab9b5/web/trunk/common_files/includes/fr/处子秀.inc.php) [500,#0]
这看起来像是一个bug:
内容长度时才会出现此错误。
但是如果第一个区块被传输,它也会出现在区块编码中
完全删除,主体稍后被截断
我希望有两件事可以帮助你:
- 更新VisualSVN,为您解决此问题;据报道,链接的bug在中修复了apache
*)核心:如果请求正文短于宣布的长度,则返回APR_EOF
由客户提供。PR 33098[Stefan Fritsch]
- 我(最近)缺乏使用VisualSVN的经验,这让我怀疑特定文件是否有问题(它可能包含令人不快的字符;这是Windows,我相信ascii 26(^Z)可能会被解释为EOF。请查看您的文件是否包含任何“有趣”的字符,或者您可以将其置于二进制模式(对于单个文件或整个服务器)
毕竟,我们发现简单地更改文件并提交文件可能仍然与防火墙有关,因为它是唯一的最后一个元素。但是更改文件的签名是有效的
非常非常奇怪的问题…我通过在提交时关闭客户端PC上的卡巴斯基互联网安全解决了这个问题,但我不知道它是否也能解决您的问题。我遇到了类似的问题,我确认,在提交时关闭卡巴斯基互联网安全2012解决了我的问题。
如果有人也面临这样的问题,应该检查防病毒/防火墙软件是否没有阻止svn传输。我经历过完全相同的问题。在本地网络连接中从未发生过这种情况。当我通过VPN提交到地球另一边的svn存储库时,这种情况已经足够频繁了
关闭卡巴斯基互联网安全2012会有所帮助,但并非总是如此
此外,我经常在VirtualBox虚拟机上完成我的工作和提交。有时甚至简单地重启虚拟机也会有所帮助
另一个解决方案是防止IP碎片。您可以使用ping命令检查数据包是否碎片化:ping host\u name-f
如果存在包碎片,您可以减小MTU大小。这提供了如何更改MTU大小的良好说明
不幸的是,上述所有解决方案都不是100%可靠的。这个错误对我来说也是个谜。我不明白为什么SVN对这些东西如此敏感。反病毒(卡巴斯基)程序导致了我们本地办公网络中的大部分问题。禁用反病毒程序解决了问题(在大多数情况下).在过去几天里,我一直在忍受这个问题,并最终设法解决了它
可能是因为缺少以下指南,或者是由于我自己的无知,我没有在我的存储库中执行正确的chown操作。而且似乎所有数据都被视为文本,导致二进制数据中的文件结尾字符导致apache中的Bucket Baggle错误
一旦我正确地完成了以下工作:
sudo chown -R www-data:www-data /home/svnrepo
我的问题已经消失了。我想我找到了这个错误的可能来源(至少在我的情况下):
这是因为您的回购所在的磁盘/分区上的磁盘空间不足
我的案例:
遇到错误
试图通过VisualSVN查找提交是否成功
回购在提交前仍处于状态
同时检查的磁盘空间为零
删除一些随机文件以释放内存(约10MB)
现在就开始工作
TL;DR:在存储库的磁盘上释放一些内存,内存不足可能是导致此错误的罪魁祸首服务器日志中可能有更多信息。假设您正在运行apache,请查看服务器上apache的错误日志文件。我已经为问题添加了信息,我已经查看了可能出现的故障关于“无法获取下一个bucket buggle”,与防火墙无关,因为防火墙不影响内部通信。尝试禁用存储库文件夹的防病毒功能,以防某些内容被解释为v