Удаленный конец неожиданно повесил трубку, пока Git нажимал на большие файлы

Когда я пытаюсь нажать на свое репозиторий bitbucket, я получаю следующую ошибку. (На самом деле то же самое и на GitHub).

Подсчет объектов: 48, выполнено.
Дельта-сжатие с использованием до 2 потоков.
Сжатие объектов: 100% (38/38), выполнено.
Запись объектов: 100% (48/48), 1,95 МБ | 38 КиБ / с, готово.
Всего 48 (дельта 9), повторно 0 (дельта 0)
фатальный: удаленный конец неожиданно повесил трубку
ошибка: сбой RPC; результат = 56, код HTTP = 0
фатальный: в обработчике кристалла обнаружена рекурсия
Все актуально

В основном я получаю еще одну ошибку, например

ошибка: сбой RPC; результат = 56, код HTTP = 0
фатальный: удаленный конец неожиданно повесил трубку

В любом случае PUSH не работает. Я думаю, это только для больших файлов. Для небольших изменений он отлично работает. Я обновил http.postBuffer до 2M, но он все еще не работает.

Важно! У меня есть подключение к сети 3G и подключение к Интернету EVDO на основе CDMA. При подключении 3G кнопка PUSH и все остальное работает ПРЕКРАСНО. Но с EVDO я получаю вышеуказанные ошибки. У меня сложилось впечатление, что это из-за каких-то проблем с подключением к моему EVDO или интернет-провайдеру.

Как я могу это решить?


person shahalpk    schedule 05.04.2013    source источник


Ответы (6)


как правило, удаленные зависания исходят от неавторизованных пользователей. но если вы можете успешно подключиться, проблема не в этом.

Если вы действительно думаете, что это проблема с размером файла, это мое лучшее предложение:

размер по умолчанию, при котором клиент git начинает "разбиение на части" запроса, составляет 1 МБ. вы можете изменить этот параметр, используя:

git config http.postBuffer 524288000

в этом примере для postBuffer устанавливается значение 500 МБ. поэкспериментируйте с этим значением и посмотрите, поможет ли оно.

person xero    schedule 09.04.2013

Я столкнулся с этой проблемой с битбакетом, вероятно, необходимо было увеличить postBuffer, но не решило проблему.

Я смог решить эту проблему только с помощью другого подключения к Интернету.

Это ошибки, возвращенные GIT_CURL_VERBOSE=1:

* SSLRead() return error -9820
* Connection died, retrying a fresh connect
* Closing connection 0

а потом

* SSLWrite() returned error -36
* Closing connection 1
error: RPC failed; result=55, HTTP code = 0
fatal: The remote end hung up unexpectedly

Надеюсь, это поможет кому-то, может быть, кто-то с большим опытом понимает эти ошибки SSL?

Обновление:

Проблема, с которой я столкнулся, заключалась в начальном git push в репо, и с тех пор я пробовал тот же толчок в том же репозитории битбакета с исходным подключением к Интернету, и он работает.

person will    schedule 12.02.2016
comment
Я также смог решить эту проблему только с помощью другого подключения к Интернету. - person retendo; 23.04.2018

Я столкнулся с той же проблемой, потому что мой push включал несколько больших файлов. По-видимому, у github есть ограничение в 100 МБ на размер отдельного файла. Я удалил большие файлы из своего коммита и повторил попытку git push, и это сработало. Вот еще немного информации об ограничениях по размеру:

https://help.github.com/articles/what-is-my-disk-quota

person Vasu Kargi    schedule 23.10.2013

Оказывается, это была проблема с соединением BSNL EVDO. К сожалению, никто из технических специалистов BSNL не смог мне помочь. Поэтому я отказался от связи.

Вернемся к старому доброму проводному широкополосному доступу: D.

person shahalpk    schedule 09.03.2014

Если причиной является большой файл и http.postBuffer просто не работает для вас, попробуйте переключиться с http на ssh (т. Е. ssh://git@<your git repository>). Скорее всего, это поможет вам преодолеть все препятствия.

person demongolem    schedule 14.04.2016

В моем случае у меня не было ошибки PRC, вместо этого это была client_loop: send disconnect: сброс соединения одноранговым узлом, а затем фатальный: удаленный конец неожиданно повесил трубку. Решением для меня было использование вложенного VPN. Мне нужно VPN-соединение с репозиторием git (потому что оно находится за брандмауэром клиентов).

Сначала я подключаю свой компьютер к совершенно другому VPN. Это VPN-соединение типа IPv6, Layer3, UDP. Затем я настраиваю виртуальную машину и подключаю ее с помощью другого VPN к целевой сети. С этой виртуальной машины я могу успешно нажимать.

person Batox    schedule 18.01.2021