I have the following call structure:
- Jenkins runs
fab -Huser@host set_repository_commit_hash:123abc. set_repository_commit_hashrunsgit fetchwithpty = False.- The child process
ssh [email protected] git-upload-pack 'user/repository.git'never finishes.
I've tried running git fetch in a local clone and that succeeds, but running ssh [email protected] git-upload-pack 'user/repository.git' just returns the following and hangs:
00ab84249d3bb20930c185c08848c60b71f7b28990d6 HEADmulti_ack thin-pack side-band side-band-64k ofs-delta shallow no-progress include-tag multi_ack_detailed agent=git/1.8.4
0041cb34b1c8ca75d478df38c794fc15c5f01cc6377e refs/heads/branch_name
004012577068adf47015001bfa0cff9386d6cdf497ce refs/heads/[...]
003f84249d3bb20930c185c08848c60b71f7b28990d6 refs/heads/master
[a couple more lines like the ones above, then:]
0000
Is this a known SSH/Git/Fabric/Jenkins problem?
I did strace it, but I haven't recorded the session. I believe it was stuck on a read.
Possibly relevant links:
- Jenkins issue 14752: SCM Polling / Max # of concurrent polling = 1 hangs github polling
- Why would git-upload-pack (during git clone) hang?
- tortoisegit issue 1880: tortoisegit fetch hangs due to running/never-exiting tortoisegitplink (especially comment #7)
- What is this random never-ending 'git-upload-pack' process?
strace -p <pid of hung git daemon>say it's blocking on?git-upload-packis supposed to do, AFAICT. It's waiting for you to speak the git fetch-pack protocol and tell it which things to send (try running it on a local repository, you'll get the same output).git clone(from github) work on the host that Jenkins is trying to fetch on? I suspect it won't, and you probably have a Path MTU discovery issue caused by a broken firewall (which might be anywhere on the path—not just your side.)