Git-Klon-Fehler: RPC fehlgeschlagen; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054


74

Ich habe Probleme, ein Repo auf Git zu klonen. Ich habe tagelang versucht und einige Lösungen ausprobiert (in den meisten Fällen war das Problem etwas anders, schien aber zuzutreffen), aber nichts hat etwas getan, um einen Unterschied zu machen.

Ich habe versucht, das Antivirenprogramm und die Firewall auszuschalten, aber das hat nicht geholfen. Ich habe auch versucht, die Netzwerkadaptertreiber zu deinstallieren und neu zu installieren (und den Computer neu zu starten), und das hat nicht funktioniert.

Soweit ich weiß, handelt es sich irgendwo um ein Netzwerkproblem, da der Remote-Server immer wieder auflegt, aber ich schaffe es nicht, mit dem Problem irgendwohin zu gelangen.

Die Verwendung von git clone -v --progress schien die gleiche Ausgabe wie git clone zu liefern. Ausgabe vom Git-Klon -v --progress https://github.com/mit-cml/appinventor-sources.git

Klonen in 'Appinventor-Quellen' ...
POST Git-Upload-Pack (gzip 1425 bis 774 Bytes)
remote: Objekte zählen: 41649, erledigt.
remote: Objekte komprimieren: 100% (7/7), fertig.
Fehler: RPC fehlgeschlagen; curl 56 OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
fatal: Das Remote-Ende hat unerwartet aufgelegt
:
fatal EOF fatal: Index-Pack fehlgeschlagen

Ich habe jetzt versucht, den Puffer erneut zu erhöhen

git config --global http.postBuffer 1048576000

aber immer noch nichts.

Ich verfolge die Lösung von Das Remote-Ende hat beim Klonen von Git zur Fehlerbehebung unerwartet aufgelegt .


Einige andere Lösungen empfehlen, die Größe Ihres Push-Puffers zu erhöhen. Haben Sie das versucht? Können Sie die Lösungen, die Sie bereits ausprobiert haben, generell ausschließen?
Christoph Böhmwalder

Mein Gehirn ist ein bisschen durcheinander, so dass ich mich nur an diese erinnern kann. Ich glaube, ich habe 2 oder 3 weitere ausprobiert. Wenn ich an sie denke, füge ich sie hinzu. Im Moment werde ich die Puffergröße ausprobieren, danke.
user8612746

1
Ich habe die Puffergröße erhöht git config --global http.postBuffer 524288000, keine Änderung. Ist 500M in Ordnung?
user8612746

1
Ich habe eine Lösung gesehen, in der ein Hotfix support.microsoft.com/en-us/help/981344/… erwähnt wurde . Ich habe das Update nicht angewendet, aber ich vermute, wenn dies das Problem gewesen wäre, hätte das Ausschalten des Antivirenprogramms und der Firewall ebenfalls funktioniert
user8612746

Eine Sache, die ich in Betracht gezogen habe, ist, dass SSL nicht die neueste Version ist. Ich verwende Git für Windows mit OpenSSL 1.0.2l. Dies ist die vorherige Version. Würde das einen Unterschied machen?
user8612746

Antworten:


91

Ich habe das gleiche Problem dadurch gelöst:

git config http.postBuffer 524288000

Dies kann an der großen Größe des Repositorys und der Standardpuffergröße von git liegen. Wenn Sie dies oben (bei git bash) tun, wird die Größe des git-Puffers erhöht.

Prost!


1
Beeindruckend. Ich denke, es gibt für alles ein erstes Mal. Ich hätte nie gedacht, dass ich ein Repo sehen würde, das zu groß ist, um es zu verwalten. Wissen Sie, ob dies auf irgendeine Weise verwaltet werden muss? Ich würde mir vorstellen, dass dies weiterhin passieren würde, je größer es richtig wird
Barry

7
Verwenden Sie git initvorgit config http.postBuffer 524288000
风声 猎猎

2
Eine andere Option ist eine globale Konfiguration: git config --global http.postBuffer 524288000
Fernando JS

28

Ich hatte das gleiche Problem und habe es gelöst, indem ich meine Netzverbindung geändert habe. Tatsächlich war meine letzte Internetverbindung zu langsam (45 kbit / s). Versuchen Sie es also erneut mit einer schnelleren Netzverbindung.


4
Dies schien mir die einfachste Lösung zu sein, die ich zuerst ausprobieren konnte ... Überraschenderweise löste der Wechsel von WLAN zu Ethernet dies auch für mich.
rob_james

Der Wechsel zu einer besseren Netzwerkverbindung hat mir geholfen. Vielen Dank :)
soni kumari

9

Ich hatte das gleiche Problem und die Antwort von @ingyhere löste mein Problem.
Folgen Sie seinen Anweisungen in seiner Antwort hier .

git config --global core.compression 0
git clone --depth 1 <repo_URI>
# cd to your newly created directory
git fetch --unshallow 
git pull --all

1
Wenn ich es so mache, findet git meinen Zweig nicht, wenn ich versuche, ihn
auszuchecken

Ich habe keine Ahnung davon. Lassen Sie mich wissen, ob Sie den Grund gefunden haben, indem Sie als Antwort gepostet oder einfach einen Kommentar hinterlassen haben. Vielen Dank.
Shahryar Saljoughi

2
Ich am Ende tut es , wie ich schon war, ich es wie 10 - mal nur musste versuchen , bis es funktionierte ... Nicht sicher , warum
raquelhortab

1
Dies wurde für mich funktioniert, aber während ich den Schritten folgte, bekam ich einen Fehler ... Ich versuchte es 2-3 Mal und konnte schließlich die Schritte beenden, um ... + 1
imdadhusen

8

Dies geschieht, wenn Sie das erste Mal ohne Netzverbindung oder schlechte Netzverbindung pushen. Wenn Sie jedoch erneut versuchen, eine gute Verbindung zu verwenden, wird das 2,3-fache Problem behoben.


1
Yup kann bestätigen, ich musste es ungefähr 10 Mal wiederholen und plötzlich konnte ich das Repo klonen ...
Leojet

5

Das Deinstallieren (Version: 2.19.2) und Installieren (Version: 2.21.0) des Git-Clients hat das Problem für mich behoben.


6
Nicht. Ein Upgrade von Git Version 2.18 auf 2.21.0 hat das Problem nicht gelöst!
Barh


3

Deaktivieren Sie einfach die Firewall und starten Sie erneut. es hat bei mir funktioniert


Nicht. Das Ausschalten der Firewall hat nicht geholfen.
Barh

Sie müssen Ihre Pod-Datei überprüfen, da Ihre Abhängigkeit aus dem internen Repo abgerufen werden kann. Manchmal wird dieser Fehler durch Proxy oder VPN verursacht
Piotr Badura

3

Sie müssen die Puffergröße erhöhen (dies liegt an der großen Repository-Größe), also müssen Sie sie erhöhen

git config http.postBuffer 524288000

Obwohl Sie über ein initialisiertes Repository verfügen müssen, gehen Sie wie folgt vor

git init
git config http.postBuffer 524288000
git remote add origin <REPO URL>
git pull origin master
...

1

Es wird als SSL_ERROR_SYSCALL, errno 10054 erwähnt.

Um dieses SSL-Problem zu beheben, ging ich zur .gitconfig-Datei (die sich auf meinem Desktop auf Laufwerk c befindet). Ich änderte sie sslverifyin false und fügte meinen Benutzernamen und meine E-Mail-ID hinzu.

sslVerify = `false` //make sslVerify as false    
[user]
    name = `***<Enter your name>**`
    email = `**<Email Id>**`

Verwenden Sie die Befehlszeile: git config http.sslVerify false (siehe stackoverflow.com/questions/11621768/… )
csharpforevermore

1

Ich hatte genau das gleiche Problem beim Versuch, eine Gitlab-Pipeline einzurichten, die von einem Docker-Runner ausgeführt wurde, der auf einem Raspberry Pi 4 installiert war

Wenn Sie nloaddie Bandbreitennutzung im Docker Runner-Container verfolgen, während die Pipeline das Repo klont, ist die Netzwerknutzung auf einige Bytes pro Sekunde gesunken.

Nach einigen tieferen Untersuchungen stellte ich fest, dass die Himbeertemperatur zu hoch war und die Netzwerkkarte oberhalb von 50 ° Celsius zu funktionieren begann.

Das Hinzufügen eines Lüfters zu meiner Himbeere löste das Problem.


1

Die folgenden Schritte haben mir geholfen, dieses Problem zu beheben: Lösung 1:

  1. Git Checkout Master
  2. Git Pull
  3. Git Checkout [Sie aktuelle Filiale]
  4. Git Pull

Sie können auch git config http.postBuffer 524288000 festlegen, um den Netzwerkpuffer zu erhöhen

Lösung 2:

Manchmal passiert es, wenn Sie Ihr Repo über VPN klonen und das SSL nicht überprüft werden kann

Probieren Sie es aus, es kann helfen:

git config http.sslVerify "false"


0

Ich habe die Abhängigkeitsliste an das Ende von verschoben

#Pods for <app>

In Podfile. So was:

    # Uncomment the next line to define a global platform for your project
    # platform :ios, '9.0'

    target '<app>' do
    # Comment the next line if you don't want to use dynamic frameworks
    use_frameworks!

  # Pods for <app>

  target '<app>Tests' do
    inherit! :search_paths
    # Pods for testing
  end

  target '<app>UITests' do
    inherit! :search_paths
    # Pods for testing
  end

    pod 'Firebase/Core'
    pod 'Firebase/Database'

end

0

Alle diese Tipps haben bei mir nicht funktioniert. Was funktioniert hat, war das Klonen über ssh und nicht über http


0
git config --global http.postBuffer 524288000

Arbeiten Sie in meinem Fall - AWS-Code-Commit


0

Dies könnte ein Problem mit Ihrem Netzwerk sein (dh kein Problem mit Ihren Git-Konfigurationen, Ihrer Firewall oder anderen Computereinstellungen). Um dies zu bestätigen, können Sie Folgendes testen:

  1. Überprüfen Sie, ob dieses Problem im selben Netzwerk auf verschiedenen Computern weiterhin besteht (dies traf auf mich zu).
  2. Versuchen Sie, den problematischen Befehl git (für mich war es git pull) in einem anderen Netzwerk auszuführen, und prüfen Sie, ob er funktioniert . Ich brachte meinen Desktop zu einem Freund und bestätigte, dass der Befehl tatsächlich ohne Änderungen funktionierte. Ich habe den Befehl auch von meinem Laptop in einem offenen Netzwerk in der Nähe getestet und der Befehl begann plötzlich zu funktionieren (das galt also auch für mich).

Wenn Sie die obigen Punkte 1 und 2 bestätigen können, ist es möglicherweise an der Zeit, einen Termin mit einem Techniker Ihres Internetdienstanbieters zu vereinbaren. Ich habe Glasfaser-Internet in einem ziemlich neuen Gebäude und als der Techniker ankam, gingen sie in den Telekommunikationsraum meines Gebäudes und wechselten meinen Internet-Port. Das schien das Problem irgendwie zu beheben. Er ließ mich auch wissen, dass in meinem Gebäude andere Probleme im Allgemeinen vor sich gingen (es könnte also nichts mit Ihrer Maschine oder den von Ihnen kontrollierten Dingen zu tun haben!).

Wenn dies fehlschlägt, sollten Sie möglicherweise den Internetanbieter wechseln, wenn dies für Sie eine Option ist. Andernfalls rufen Sie einfach Ihren ISP an, um immer mehr leitende Techniker zu entsenden, bis das Problem behoben ist.

Ich hoffe, niemand muss tatsächlich auf das zurückgreifen, was ich getan habe, um das Problem zu finden.

tl; dr: Rufen Sie Ihren ISP an, da das Problem möglicherweise mit Ihrem Netzwerk zusammenhängt.


0

(basierend auf anser von Hakan Fıstık)

Sie können den postBuffer auch global festlegen, was möglicherweise erforderlich ist, wenn Sie das Repository noch nicht ausgecheckt haben!

git config http.postBuffer 524288000
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.