git-upload-pack se cuelga indefinidamente


30

Tengo la siguiente estructura de llamadas:

  1. Jenkins corre fab -Huser@host set_repository_commit_hash:123abc.
  2. set_repository_commit_hashcorre git fetchcon pty = False.
  3. El proceso hijo ssh git@github.com git-upload-pack 'user/repository.git'nunca termina.

He intentado ejecutar git fetchen un clon local y eso tiene éxito, pero la ejecución ssh git@github.com git-upload-pack 'user/repository.git'solo devuelve lo siguiente y se bloquea:

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

¿Es este un problema conocido de SSH / Git / Fabric / Jenkins?

Lo hice strace, pero no he grabado la sesión. Creo que estaba atascado en un read.

Enlaces posiblemente relevantes:

  1. Problema de Jenkins 14752: SCM Polling / Max # de sondeo concurrente = 1 bloquea el sondeo github
  2. ¿Por qué colgaría git-upload-pack (durante git clone)?
  3. problema de tortoisegit 1880: la captura de tortoisegit se bloquea debido a que se ejecuta / nunca sale de tortoisegitplink (especialmente el comentario # 7 )
  4. ¿Qué es este proceso aleatorio interminable de 'git-upload-pack'?

1
¿Has probado alguna de las sugerencias en SO Q&A? Además, ¿qué strace -p <pid of hung git daemon>dice que está bloqueando?
slm

@slm ¿Tiene alguna sugerencia específica en mente?
l0b0

1
Lo que me solucionó fue asegurarme de que Jenkins se estaba ejecutando como el usuario con las credenciales adecuadas para los repositorios de GIT
MauricioOtta

1
Eso es lo que git-upload-packse supone que debe hacer, AFAICT. Está esperando que hable el protocolo git fetch-pack y le diga qué cosas enviar (intente ejecutarlo en un repositorio local, obtendrá la misma salida).
derobert

2
(Suponiendo que esta pregunta no sea obsoleta, ya que es de 2013) ¿ git cloneFunciona un nuevo (de github) en el host que Jenkins está tratando de obtener? Sospecho que no lo hará, y es probable que tenga un problema de descubrimiento de MTU de ruta causado por un cortafuegos roto (que podría estar en cualquier parte del camino, no solo a su lado)
Derobert

Respuestas:


0

Este problema parece haber desaparecido por sí solo, como se puede esperar de un software que evoluciona rápidamente. Dado que no he observado este problema durante probablemente un par de años, me gustaría extender mi agradecimiento a quien lo solucionó y considerar esta pregunta obsoleta.

Si tiene este problema con las versiones recientes de Git, considere hacer una pregunta por separado , ya que probablemente no sea exactamente el mismo problema.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.