2009-04-05 14 views
5

He estado presionando para este repositorio con éxito desde hace algún tiempo, comenzó a darme el siguiente error de ninguna parte, ¿alguna idea de por qué está sucediendo?git push error: pack-objects murió con error extraño

Ishaqs-Mac:source ishaq$ git push 
Counting objects: 68, done. 
Delta compression using 2 threads. 
Compressing objects: 100% (50/50), done. 
Connection to SERVER closed by remote host. 
error: pack-objects died with strange error 
error: failed to push some refs to 'SERVER:PROJECT.git' 

agradecemos su tiempo y ayuda.

+0

Estoy en Mac OS X 10.5 Leopard con Git versión 1.6.2 y el archivo más grande que tengo en mi repositorio está dentro .git/objects/pack -r - r-- r ishaq staff 8.1 M Apr 5 18:20 pack-7feb0b56fcf48eb328f0d4f1a734064d15f9051c.pack –

Respuesta

4

par de puntos de salida:

  • problema de espacio en disco en el lado de empuje (como "sin espacio en disco" en $ GIT_DIR o $ tmp_dir?)

  • derecha problemas (¿bajo qué cuenta se ejecuta el proceso?)

  • Problema específico de la plataforma: en Mac OS, puede tener un MacPort configuration problem.

  • diferencia de versiones entre el GIT en el lado de empuje y el que está en el sitio remoto (es decir, por ejemplo, si se intenta empujar submódulos en la distancia entre pares, con un binario git que no sabe acerca submódulo , podría tener algunos problemas como éste)

Nota: Puesto que es un error message associated with the pack_object() function, por lo que comprobar si todavía funciona git pack.

static void pack_objects(int fd, struct ref *refs) 
{ 
    for (;;) { 
     int status, code; 
     pid_t waiting = waitpid(pid, &status, 0); 
     if (waiting < 0) { 
      if (errno == EINTR) 
       continue; 
      return error("waitpid failed (%s)", strerror(errno)); 
     } 
     if ((waiting != pid) || WIFSIGNALED(status) || 
      !WIFEXITED(status)) 
      return error("pack-objects died with strange error"); 
     code = WEXITSTATUS(status); 
     if (code) 
      return -code; 
     return 0; 
    } 
} 

Nota-bis: hay algunos casos recientes de este mensaje de error cuando pushing to GitHub (finales de enero de 2009)

+0

Gracias, - He instalado git a través del instalador (no de los puertos de Mac) ¿podría seguir teniendo este problema específico de MacPorts? - el repositorio tiene los mismos permisos que cualquier otro repositorio - el servidor tiene 1.5.4, pero si este era el problema, debería haber estado allí antes - git repack funciona bien –

+0

Acabo de clonar el repositorio en una ubicación diferente, e intentado empujar, funciona bien. no sé lo que está mal con la copia existente, tiene 7,8 confirmaciones locales, así que no puedo descartarlo :( –

4

Desafortunadamente, los mensajes de error no son muy útiles. Pero su problema no proviene del paquete de Git; el primer mensaje de error es de OpenSSH, que fue capaz de alcanzar el servidor remoto pero no sesión:

Connection to SERVER closed by remote host. 

Esto no es un problema contraseña (que tiene un mensaje de error diferente), pero podría ser un problema de permisos (como un grupo que no tiene el permiso adecuado, que veo de vez en cuando en OSX) o un nombre de cuenta no reconocido (en algunos sistemas esto informa con problemas de contraseña) o un tiempo de espera excedido. Puede intentar iniciar sesión desde la línea de comando:

$ ssh [email protected] 

para descubrir qué tipo de problema tiene. También puede intentar reparar permisos; OS X parece particularmente vulnerable a problemas recurrentes de permisos y a ejecutar desde grupos impares.

Sidenote: como estás en Leopard, te sugiero que instales SSHKeychain, que gestiona las identidades de SSH y almacena tus contraseñas de SSH en el llavero del sistema automáticamente. No ayudará a su problema actual, pero podría evitar problemas similares en el futuro.

+0

Hola Paul, Ya tengo llavero instalado y puedo iniciar sesión en mi servidor solo a través de mis llaves :-) había clonado en una ubicación diferente y me permitió empujar desde allí. intenté crear y aplicar parches a esa ubicación, no funcionó, los errores en el espacio en blanco hoy lo empujé desde mi oficina –

+0

Interesante. No veo cómo eso llevó a estos mensajes de error, pero como dije, los mensajes de error no ayudan mucho. Felicidades por resolverlo. – Paul

-1

Si está utilizando una herramienta de revisión de código como gerrit, y la obtiene al intentar introducir el código, puede deberse a que los programas Java son geniales para la administración de la memoria. Y no encontrarás a nadie en Internet que pueda ayudarte, hasta que, desesperado, decidas matar a Gerrit y reiniciarlo. Y luego poof, su problema desaparece ... hasta unos días más tarde cuando tendrá que reiniciar Gerrit nuevamente por el mismo problema.

Java es increíble.

+0

no, como dije, lo único que me molesta cuando presiono desde cualquier otro lugar que no sea mi casa (oficina, cafetería, etc.), funciona bien. no funciona desde casa No estoy en Java. –