git-upload-pack se bloque indéfiniment

30

J'ai la structure d'appel suivante:

  1. Jenkins court fab -Huser@host set_repository_commit_hash:123abc.
  2. set_repository_commit_hashfonctionne git fetchavec pty = False.
  3. Le processus enfant ssh [email protected] git-upload-pack 'user/repository.git'ne se termine jamais.

J'ai essayé de courir git fetchdans un clone local et cela réussit, mais courir ssh [email protected] git-upload-pack 'user/repository.git'retourne juste ce qui suit et se bloque:

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

Est-ce un problème connu de SSH / Git / Fabric / Jenkins?

Je l'ai stracefait, mais je n'ai pas enregistré la session. Je crois qu'il était coincé sur un read.

Liens éventuellement pertinents:

  1. Problème Jenkins 14752: interrogation SCM / nombre maximal d'interrogations simultanées = 1 blocage de l'interrogation github
  2. Pourquoi git-upload-pack (pendant le clone git) se bloquerait-il?
  3. problème de tortoisegit 1880: la récupération de tortoisegit se bloque en raison de tortoisegitplink en cours d'exécution / sans fin (en particulier le commentaire # 7 )
  4. Quel est ce processus aléatoire sans fin de «git-upload-pack»?
l0b0
la source
1
Avez-vous essayé l'une des suggestions de la FAQ sur les SO? Et qu'est-ce qui strace -p <pid of hung git daemon>dit qu'il bloque?
slm
@slm Avez-vous des suggestions spécifiques à l'esprit?
l0b0
1
Ce qui a été résolu pour moi, c'était de m'assurer que Jenkins fonctionnait en tant qu'utilisateur avec les informations d'identification appropriées pour les dépôts GIT
MauricioOtta
1
C'est ce qui git-upload-packest censé faire, l'AFAICT. Il vous attend pour parler du protocole git fetch-pack et lui dire quelles choses envoyer (essayez de l'exécuter sur un référentiel local, vous obtiendrez la même sortie).
derobert
2
(En supposant que cette question n'est pas obsolète, car elle date de 2013) Un nouveau travail git clone(depuis github) fonctionne-t-il sur l'hôte que Jenkins essaie de récupérer? Je soupçonne que ce ne sera pas le cas, et vous avez probablement un problème de découverte Path MTU provoqué par un pare-feu cassé (qui pourrait être n'importe où sur le chemin - pas seulement de votre côté.)
derobert

Réponses:

0

Ce problème semble avoir disparu de lui-même, comme on peut s'y attendre avec un logiciel en évolution rapide. Comme je n'ai pas observé ce problème depuis probablement quelques années maintenant, je tiens à remercier tous ceux qui l'ont résolu et à considérer cette question comme obsolète.

Si vous rencontrez ce problème avec des versions récentes de Git, veuillez envisager de poser une question distincte , car ce n'est probablement pas exactement le même problème.

l0b0
la source