Контекст работы с ошибкой SVN: существующее соединение было принудительно закрыто удаленным хостом
Я создал SVN-репо на моем сервере сборки Debian Wheezy после этот учебник.
svn --version
дает 1.6.17
.
К сожалению, я больше не могу совершать репо с моей машины Windows 7; он выходит из строя со следующим сообщением об ошибке:
Transmitting file data .svn: E730054: Commit failed (details follow):
svn: E730054: Error running context: An existing connection was forcibly closed
by the remote host.
У меня была эта ошибка как с TortoiseSVN, так и с клиент командной строки.
Это содержимое /var/log/apache2/access.log
на сервере за время неудачной фиксации: access.log.
В журнале ошибок нет записи за такое же время.
Я все еще могу проверить содержимое репо и svn info http://myurl/svn/myrepo
работает также отлично.
Сервер Debian с репо запущен внутри виртуальной машины на Windows Server 2008 R2 (Hyper-V-Manager 6.1). Соединение с моей Windows-машиной на Windows Server устанавливается с помощью FortiClient 4.2.8.0307.
После того, как вчера я столкнулся с этой ошибкой, я очистил svn с сервера и снова настроил репо. Это заставило репо принять фиксацию в течение нескольких часов, пока не сработает с той же ошибкой.
В настоящее время завершается работа с TortoiseSVN, но с помощью клиент командной строки.
Что означает E730054
и как я могу исправить его навсегда?
Я повысил до Джесси тем временем, но ситуация не улучшилась. Commits with Tortoise перестает работать снова, что означает, что он зависает при действии "Отправка содержимого" около пяти минут, а затем печатает ошибку, которая в заголовке.
Выплаты по-прежнему работают без сбоев.
apache2 -v
:
Версия сервера: Apache/2.4.9 (Debian)
Серверная сборка: 29 марта 2014 21:52:01
svn --version
:
svn, версия 1.8.8 (r1568071)
скомпилировано 1 апреля 2014 года, 03:41:42 на i486-pc-Linux-GNU
Здесь thread, который обсуждает ошибку, но я не мог заключить решение своей проблемы из него.
Я заметил, что проблема возникает, когда я хочу зафиксировать вторую модификацию файла.
Мое исправление
Проблема исчезла после использования svnserve
вместо apache2
. Этот учебник помог мне настроить его.
Ответы
Ответ 1
Когда я читал о потоке, кажется, что некоторые проблемы в реализации WEBDAV на клиентском сайте приводят к сбою потока apache. У меня были другие проблемы с репозиториями до 1.8, и я решил большинство из них, выгрузив/перегрузив весь репозиторий в новый (использование " обновления svnadmin " недостаточно!). В репозиториях до 1.8 иногда есть "поврежденные/устаревшие" данные в файлах ревизий, которые игнорируются клиентами. Похоже, что это может привести к segfault.
Вы можете сбросить/перезагрузить свой репозиторий следующим образом:
svnadmin create newrepos
svnadmin dump oldrepos | svnadmin load newrepos
Обратите внимание, что для выполнения цикла обновления/перезагрузки может потребоваться огромное количество времени (примерно 1 ГБ/ч + - 50% в зависимости в основном от скорости диска).
Если у вас другое время, пожалуйста, опубликуйте свое время, я занимаюсь частным исследованием характеристик цикла дампа/перезагрузки.
Ответ 2
У меня возникла проблема с одним файлом при попытке проверить несколько файлов с помощью Tortoise SVN в Windows 7 x64. Не удалось выполнить несколько попыток зафиксировать файл с использованием различных версий Tortoise SVN и версии SVN с командной строкой.
В то время мой ноутбук использовал мое домашнее интернет-соединение интернет-провайдера. Когда я позже пошел на работу и попытался передать файл сбой из моей сети работодателей, файл был зафиксирован без проблем.
Я не знаю, почему так было, но если вы столкнулись с этой проблемой и найдете свой путь к этому ответу с помощью поискового запроса, вы можете попробовать еще раз - используя другое интернет-соединение. Хотя это не решение проблемы, это может обеспечить временную работу.
Ответ 3
Я получал эту ошибку.
Ошибка контекста: существующее соединение было принудительно закрыто удаленным
Я решил эту проблему, переключив прокси-сервер на Cntlm, и он отлично работает.
Я использую версию TortoiseSVN 1.9.3.
Ответ 4
Искал ту же ошибку.
Моя проблема заключалась в антивирусе Avast, когда я поставил URL-адрес сервера svn в exclutions, проблема была решена.
Ответ 5
Я встретил эту проблему после того, как наш svn-сервер переместился с lan на internet. Наконец, я решаю эту проблему, меняя свой IP-адрес.
Например: от 192.168.0.60 до 192.168.0.71.
Версия SVN: TortoiseSVN 1.9.7, Build 27907 - 64 бит
Версия ОС: Windows 10, 1703
Ответ 6
У меня была эта проблема с большим коммитом (~ 500 файлов, 50 МБ) в базовой сети. Это работало, когда я разбивал файл на партии (например, выбирал файлы за раз). Похоже, что он боролся с одним большим файлом, который был повторен для нескольких папок.
Ответ 7
Я получаю эту ошибку.
Ошибка: существующее соединение было принудительно закрыто удаленным
Я использую версию TortoiseSVN 1.11.
Я использую контрольно-пропускной пункт VPN, я просто перезапускаю VPN-соединение
Ответ 8
У меня тоже была эта проблема в SVN клиенте. Я очистил временные папки в Windows. Затем очистил все данные, включая данные авторизации, из "сохраненных данных" в настройках SVN. Затем повторили попытку в SVN, запросили аутентификацию и нормально открылись без ошибок.
Ответ 9
Я тоже сталкивался с подобной проблемой.
Подробности SVN: TortoiseSVN 1.12.0, сборка 28568 - 64-разрядная версия
Решение. Перейдите в диспетчер задач и найдите службу кэширования Tortoise SVN, завершите эту задачу и повторите попытку, чтобы обновить/зафиксировать изменения.
Ответ 10
У меня была такая же проблема при использовании VPN с CollabNet SubversionEdge.
Я просто включил Сервер Subversion должен работать через https в разделе "Настройки" → "Настройки сервера", и это решило проблему для меня.
Ответ 11
Я исправил эту проблему на своем ноутбуке, отключив Wi-Fi и подключив кабель.