Как исправить ошибку «packet_write_wait: Connection to Broken pipe» в Git

Как я могу исправить проблему, когда я git push загружаю файлы в свои удаленные репозитории и выдает ошибку «packet_write_wait: подключение к порту 13.250.177.223 22: сломанный канал»? До git push я клонировал проект с удаленного компьютера и git add, git commit успешно .

Я пробовал git pull, git config http.postBuffer 52428800, но это не работает.

HP@EverChan MINGW32 /d/ChromeDownload/jiaoben5049/meetingDemo (master)
$ git pull
packet_write_wait: Connection to 52.74.223.119 port 22: Broken pipe
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
HP@EverChan MINGW32 /d/ChromeDownload/jiaoben5049/meetingDemo (master)
$ git config http.postBuffer 52428800
HP@EverChan MINGW32 /d/ChromeDownload/jiaoben5049/meetingDemo (master)
$ git push -u origin master
Counting objects: 46, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (46/46), done.
packet_write_wait: Connection to 13.250.177.223 port 22: Broken pipe
Writing foabjecttals:   8:% The  (4/4remote end hung up u6nex)pectedly
fatal: sha1 file '<stdout>' write error: Broken pipe
fatal: The remote end hung up unexpectedly
HP@EverChan MINGW32 /d/ChromeDownload/jiaoben5049/meetingDemo (master)
$ git push -u origin master
packet_write_wait: Connection to 13.250.177.223 port 22: Broken pipe
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.



person EverJust    schedule 09.01.2019    source источник


Ответы (2)


Что сработало для меня в контексте отправки моего репозитория на github, так это добавление IPQoS=throughput в мой файл конфигурации в ~/.ssh/config. Другие шаги для проверки того, что SSH настроен правильно, добавлен в вашу учетную запись Github и т. д., подробно описаны здесь

person Tanya Gupta    schedule 24.02.2019
comment
Та же проблема с ключами ssh для BitBucket на macOS, и помогло только IPQoS=throughput! - person Cel; 21.04.2019

Убедитесь, что ваш URL-адрес SSH для вашего удаленного источника работает:

ssh -T yourServer

Его IP-адрес не должен меняться.

Проверьте, сохраняется ли проблема с последней версией Git для Windows ( PortableGit-2.20.1-64-bit.7z.exe), распаковать в C:\Git и установить упрощенный PATH в сеансе CMD.

set PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\
set GH=C:\path\to\git
set PATH=%GH%\bin;%GH%\usr\bin;%GH%\mingw64\bin;%PATH%

Примечание. Вы можете видеть сообщения об ошибках с ошибкой packet_write().
Раньше мы без необходимости выдавали дополнительное сообщение об ошибке, которое было исправлено в Git 2.32 (второй квартал 2021 г.).

См. commit 332ec96 (15 апреля 2021 г.) от Матеус Таварес (matheustavares).
(объединено Хунио С. Хамано -- gitster -- в commit 279a2e6, 30 апреля 2021 г.)

pkt-line: не сообщать об ошибках записи пакетов дважды

Подписал: Матеус Таварес

При write() ошибках packet_write() умирает с тем же сообщением об ошибке, которое уже напечатано его вызываемым пользователем, packet_write_gently().
Это приводит к излишне подробному и повторяющемуся выводу:

error: packet write failed 
fatal: packet write failed: <strerror() message>  

Вдобавок к этому, packet_write_gently() не всегда оправдывает ожидания вызывающей стороны, что errno будет правильно установлен перед ненулевым возвратом.
В частности, это не так, если данные превышают максимальный размер пакета.
Итак, в этом случае packet_write() вызовет die_errno() и напечатает сообщение strerror(errno), которое может быть совершенно не связано с фактической ошибкой.

Исправьте обе эти проблемы, превратив packet_write() и packet_write_gently() в оболочки для общей функции более низкого уровня, которая не печатает сообщение об ошибке, а вместо этого возвращает его в буфер для вызывающего объекта в die() или error() в зависимости от ситуации.

person VonC    schedule 09.01.2019