error: git-upload-pack died of signal 13

Troubleshooting Git

On this page

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Problem

A clone operation of a Stash repository fails and the following message appears in the atlassian-stash.log:

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[11]: 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 ERROR.

Cause

The error above does not represent an issue with Stash. It means that a Git client has closed its connection prematurely.

Resolution

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 INFO: 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.

Subgit

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 .gitignore

ELB

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.

Last modified on Mar 30, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.