error: git-upload-pack died of signal 13
This Knowledge Base article was written specifically for the Atlassian Server platform. Due to the Restricted functions in Atlassian Cloud apps, the contents of this article cannot be applied to Atlassian Cloud applications.
A clone operation of a Stash repository fails and the following message appears in the
14:17:27,102 INFO [io-pump:thread-9] admin @T42UKVx857x3705x0 0:0:0:0:0:0:0:1 "POST /scm/tes/testrepo.git/git-upload-pack HTTP/1.1" c.a.stash.web.cgi.BaseCgiHandler Failed to copy SCM hosting process output to response output stream 14:17:27,104 ERROR [http-nio-7991-exec-1] admin @T42UKVx857x3705x0 0:0:0:0:0:0:0:1 "POST /scm/tes/testrepo.git/git-upload-pack HTTP/1.1" c.a.s.i.s.g.p.h.GitSmartExitHandler TES/bigrepo: Read request from 0:0:0:0:0:0:0:1 failed: com.atlassian.utils.process.ProcessException: Non-zero exit code: 1 The following was written to stderr: error: git-upload-pack died of signal 13
Prior to version 3.7 this clone failure presented as an
exception instead of being logged as an
The error above does not represent an issue with Stash. It means that a Git client has closed its connection prematurely.
You need to determine why the client connection closed before receiving all of the requested data. This is entirely a client-side issue.
We've updated the classification of the message (versions 3.10+) and it will now be displayed as
The remote client has aborted the connection
Previous versions of Stash (up to 3.9) can be configured to display the updated message by installing the stash-stream-guard-plugin-1.0.0.jar add-on. Follow the instructions to installing by file upload.
In the past this error has been caused by the Subgit plugin. The problem is trying to sync "global" patterns in
.gitignore with a repo with many directories. This requires one permit per directory in subversion, which takes a lot of resources.
The fix in this case is to configure Subgit to turn off "ignore syncing" or use explicit file names in
If you are using an Elastic Load Balancer we have noticed that the default ELB config has a low Idle timeout that should be increased. Git traffic often comes in bursts and can have long periods of silence that can trigger these timeouts. Search for "Idle Timeout" here for more information on how to configure this.