2011-04-03 32 views
6

Tengo un repositorio git en un servidor OS X que solía funcionar bien. Pude agregar archivos, enviarlos y extraer el contenido a mi computadora portátil.¿Cómo puedo solucionar el "error de bus" al intentar hacer git-commit o git-status

Ahora, cuando entro al servidor y hago git commit o git status en el repositorio, todo lo que veo en la línea de comandos es bus error.

git log todavía funciona correctamente y me da el resultado habitual.

Supongo que algo está mal con el repositorio, porque en otros repositorios en el mismo servidor ambos git commit y git status todavía funcionan.

¿Cómo hago para depurar/corregir esto?

Actualización: He vuelto a crear el directorio que creé antes de que ocurriera el problema. ¡Eso me permitió hacer git status otra vez!

Correr git commit -a directamente después de eso, sin embargo, dio el siguiente error:

fatal: Unable to create '/path/to/repo/.git/index.lock': File exists. 

If no other git process is currently running, this probably means a 
git process crashed in this repository earlier. Make sure no other git 
process is running and remove the file manually to continue. 

entonces he eliminado manualmente el archivo index.lock, y ahora se resuelve el problema ..

no tengo idea que ha ido mal Algunas ideas..?

Respuesta

5

Bus error indica un problema de memoria; podría ser tan simple como un archivo corrupto en el disco, un error en el programa git o memoria defectuosa, controlador de memoria, etc.

Si puede ejecutar una herramienta de prueba de memoria en su computadora durante la noche, eso ayudaría a descartar falla de memoria y controlador. (También puede ser que manche con extraña SIGBUS o SIGSEGV durante grandes compilaciones, o se bloquea al azar de otros programas ...)

¿Puede volver a crear el repositorio en el servidor a partir del clon de su computadora portátil, y verificar que esté funcionando correctamente ? Supongo que el repositorio está dañado y necesita ser reemplazado por un buen clon.

+0

Gracias sarnold, ¿has visto la actualización de mi problema? ¿Crees que el hecho de que simplemente parece funcionar al azar otra vez, indica que el servidor realmente tiene problemas de memoria? –

+0

@ Will0, sin más información, simplemente asumiría que el archivo de bloqueo obsoleto es una consecuencia de todo lo demás aquí y no hay nada de qué preocuparse. (Sé que _sounds_ estúpido, pero no sé cómo decirlo inteligente.) Si sigue volviendo, preocúpese :) pero parece probable que acaba de tener un archivo dañado en el disco. (Eso también podría ser algo que valga la pena preocuparse, pero a menos que notes más corrupción, tampoco me preocuparía demasiado) – sarnold

+0

Lástima, acabo de encontrar exactamente el mismo problema: S. Eliminar el directorio me permitió volver a activar el estado, pero no se permitió la confirmación debido al archivo index.lock. Borrado el índicebloquear y volver a crear el mismo directorio, todo funciona nuevamente en el servidor ... ¿por qué tengo miedo? –

0

Encontré este problema debido a un problema con el sistema de archivos subyacente en macOS Sierra (10.12.3). Esencialmente, por alguna razón mi .dmg encriptado estaba dañado, creo que debido a que se extendió con hdutils.

DiskUtility diagnosticó el problema con el sistema de archivos, pero no pudo repararlo.

La única solución que encontré fue recrear la imagen y volver a clonar el repositorio.

Cuestiones relacionadas