Странная ошибка 500 с фиксацией svn на один простой файл
Мы используем сервер 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://pastebin.com/PwTCQSP7
Надеюсь, кто-то может помочь...
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]
ОБНОВЛЕНИЕ # 2
Soooo, потратив 2,5 дня на перенос моего SVN-сервера на Windows на сервер SVN на linux, я снова получил ту же проблему:
[Fri Feb 24 16:35:21 2012] [error] [клиент 192.168.0.64] Не удалось получить следующая ведровая бригада (URI: /svn/LAN 6505/!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] [клиент 192.168.0.64] Не удалось получить следующая ведровая бригада (URI: /svn/LAN 6505/!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] [клиент 192.168.0.64] Не удалось получить следующая ведровая бригада (URI: /svn/LAN 6505/!svn/wrk/15bd0f7e-06b9-b046-8c67-5f9778fab9b5/web/trunk/common_files/includes/fr/debut.inc.php) [500, # 0]
Ответы
Ответ 1
В конце концов, мы выяснили, что простое изменение файла и выполнение работ могут по-прежнему быть связаны с брандмауэром, поскольку это единственный последний элемент на этом пути. Но изменение подписи файла работает...
действительно действительно странная проблема...
Ответ 2
У меня возникла точно такая же проблема. Это никогда не происходит при подключении к локальной сети. Когда я передаю SVN-репозиторий на другой стороне планеты через VPN, это случается достаточно часто.
Отключение Kaspersky Internet Security 2012 помогает, но не всегда.
Кроме того, я часто выполняю свою работу и фиксирую с виртуальной машины VirtualBox. Иногда даже простой перезапуск виртуальной машины помогает.
Другим решением является предотвращение фрагментации IP. Вы можете проверить, что ваши пакеты фрагментированы с помощью команды ping: ping host_name -f
Если есть фрагментация пакета, вы можете уменьшить размер MTU. Эта ссылка дает хорошее описание того, как изменить размер MTU.
К сожалению, все вышеупомянутые решения не на 100% надежны. Эта ошибка также выглядит для меня загадкой. Я не понимаю, почему SVN настолько чувствителен к этим вещам.
Ответ 3
У меня была аналогичная проблема, и я подтверждаю, что отключение Kaspersky Internet Security 2012 на время фиксации разрешает проблему в моем случае.
Если кто-то также сталкивается с такой проблемой, следует проверить, не защищает ли антивирус/брандмауэр svn-передачу.
Ответ 4
Это выглядит так:
Он оказался во входном фильтре (имеет отношение к закодированной кодировке); если загрузка заканчивается до того, как ожидается, загрузка завершится неудачно, потому что сервер ожидает больше данных, даже если конец потока был отправлен.
ok, ошибка появляется во входном фильтре.
Я был под (неправильным) впечатлением, что эта ошибка появляется только в том случае, если задано content-length
. Но он также появляется с закодированным кодированием, если первый фрагмент передан полностью и тело усекается позже.
Я бы ожидал, что вам помогут две вещи:
Ответ 5
Я думаю, что нашел возможный источник этой ошибки (по крайней мере, в моем случае):
Это происходит из-за нехватки дискового пространства на диске/разделе, на котором находится ваше репо.
Мой случай:
Обнаруженная ошибка
Пытался искать, если фиксация прошла через VisualSVN
Repo все еще находился в состоянии до совершения сделки
Совместимое место на диске, было равно нулю
Удалите некоторые случайные файлы для освобождения памяти (около 10 МБ)
Commit работает сейчас
TL; DR: освободите память на диске, в котором хранится ваш репозиторий, недостаточно памяти, вероятно, является следствием этой ошибки
Ответ 6
Я решил эту проблему, отключив Kaspersky Internet Security на клиентском ПК при совершении транзакций, но я этого не сделаю, если он также разрешит проблему в вашем случае.
Ответ 7
Антивирусная программа (Kaspersky) вызывала большинство проблем в нашей локальной сети. Отключение антивирусной программы разрешило проблему (в большинстве случаев).
Ответ 8
Я испытываю эту проблему в течение последних нескольких дней и, наконец, смог ее исправить.
Похоже, что либо отсутствующие следующие руководства, либо мое собственное невежество, я не сделал правильный chown в моем репозитории. И похоже, что все данные обрабатывались как текст, что приводило к тому, что конец символов файла в двоичных данных приводил к ошибке Bucket Brigade в apache.
Как только я правильно сделал chown со следующим:
sudo chown -R www-data:www-data /home/svnrepo
Мои проблемы ушли.