2014-04-21 6 views
6

Ich habe einen GitLab-Server (6.7.2) in Mac OS X 10.9.2, mit Git 1.9.2. Es gibt zwei Repositories. Man kann erfolgreich geklont werden, aber der andere nicht alsFehler: Git-Upload-Pack starb an Signal 13

$ git clone http://*/gamil/gamil.git 
Cloning into 'gamil'... 
remote: Counting objects: 426, done. 
remote: Compressing objects: 100% (375/375), done. 
fatal: The remote end hung up unexpectedly 
fatal: early EOF 
fatal: index-pack failed 

Und ich geprüft unicorn.stderr.log in Gitlab und gefunden

I, [2014-04-21T23:03:58.761225 #4929] INFO -- : master process ready 
I, [2014-04-21T23:03:58.764556 #4940] INFO -- : worker=0 ready 
I, [2014-04-21T23:03:58.766098 #4941] INFO -- : worker=1 ready 
error: git-upload-pack died of signal 13 

Was dieser Fehler gekommen ist? Wie man es repariert? Danke im Voraus!

EDIT 1:

überprüfte ich das Repository:

$ git fsck 
Checking object directories: 100% (256/256), done. 
Checking objects: 100% (426/426), done. 

So scheint es, alles in Ordnung ist, aber klonen kann nicht in lokalen Computer.

EDIT 2:

Ich habe Gitlab ohne Glück auf 6,8 aktualisiert.

EDIT 3:

I kann das problematische Repository durch ssh protocol` als

klonieren
$ git clone [email protected]<...>:gamil 
Cloning into 'gamil'... 
remote: Counting objects: 426, done. 
remote: Compressing objects: 100% (317/317), done. 
remote: Total 426 (delta 89), reused 426 (delta 89) 
Receiving objects: 100% (426/426), 821.19 KiB | 0 bytes/s, done. 
Resolving deltas: 100% (89/89), done. 
Checking connectivity... done. 

EDIT 4:

I den Timeout in unicorn.rb geprüft:

# nuke workers after 30 seconds instead of 60 seconds (the default) 
timeout 300 

und die Konfiguration für nginx:

# if a file, which is not found in the root folder is requested, 
# then the proxy pass the request to the upsteam (gitlab unicorn) 
location @gitlab { 
    proxy_read_timeout 300; # Some requests take more than 30 seconds. 
    proxy_connect_timeout 300; # Some requests take more than 30 seconds. 
    proxy_redirect  off; 

    proxy_set_header X-Forwarded-Proto $scheme; 
    proxy_set_header Host    $http_host; 
    proxy_set_header X-Real-IP   $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 

    proxy_pass http://gitlab; 
} 

EDIT 5

Ich habe das Repository GitHub hochgeladen und der Klon ist OK:

$ git clone https://github.com/dongli/GAMIL.git 1 
Cloning into '1'... 
remote: Counting objects: 355, done. 
remote: Compressing objects: 100% (308/308), done. 
remote: Total 355 (delta 35), reused 355 (delta 35) 
Receiving objects: 100% (355/355), 809.75 KiB | 244.00 KiB/s, done. 
Resolving deltas: 100% (35/35), done. 
Checking connectivity... done. 

So das Repository ist GUT .

+0

"fatal: Das Remote-Ende aufgelegt unerwartet" - "http: // was.wherever.foo" schloss die Verbindung aus irgendeinem Grund. – twalberg

+0

Wie kann ich den Grund diagnostizieren? Eigentlich sagte der Server "Einhorn" 'Fehler: git-upload-pack starb an Signal 13'. –

+0

Nur eine wilde Vermutung, aber es scheint mir wie ein Timeout bricht die Verbindung. Das erscheint jedoch eher unwahrscheinlich. – Michael

Antwort

3

fand ich endlich den Grund für mein Problem innerhalb /var/log/nginx/gitlab_error.log, indem man die

2014/04/27 17:25:21 [crit] 14331#0: *19 open() 
"/usr/local/var/run/nginx/proxy_temp/3/00/0000000003" failed (13: Permission denied) 
while reading upstream, client: 123.113.33.131, server: *, request: 
"POST /gamil/gamil.git/git-upload-pack HTTP/1.1", 
upstream: "http://unix:/Users/git/gitlab/tmp/sockets/gitlab.socket:/gamil/gamil.git/git-upload-pack", host: "*" 

Das Verzeichnis /usr/local/var dessen Zugriffsberechtigung beschwert ist

drwx------ 8 dongli admin 272 4 1 14:55 var 

So habe ich es zu

drwxr-x--- 8 dongli admin 272 4 1 14:55 var 

Dann ist der Fehler endgültig weg.

+1

Dies ist unwahrscheinlich, insbesondere wenn kleinere Repositories erfolgreich arbeiten. –

Verwandte Themen