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 git@github.com 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 git@github.com 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»?

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.