Estoy leyendo otros hilos con títulos similares pero parece que no están relacionados conmigo. Tengo un repositorio git en mi caja local de ubuntu. Los archivos que tengo son mysql dump que dividí en archivos de 2 mb cada uno. Cuando git gc, esta es la salida:
git@pc:~/repos/x$ git gc Counting objects: 17244, done. Delta compression using up to 4 threads. Killedssing objects: 90% (2491/2767) error: failed to run repack¿Hay alguna manera de rastrear lo que está causando? ya lo intenté
git config --global pack.windowMemory "20m" git config --global pack.packSizeLimit "20m" git config --global pack.threads "1"Pero esta es la salida.
git@pc:~/repos/x$ git gc Counting objects: 17244, done. Killedssing objects: 3% (88/2767) error: failed to run repackEditar
Esto funcionó para mí:
git config --global pack.windowMemory "20m" git config --global pack.packSizeLimit "20m" git config --global pack.threads "4" git config --global pack.window "2" git config --global pack.depth "10"Parece porque solo tengo 256 ram vps. y otro proceso que ya consume 100mb. También intentaré actualizar mi vps porque esta configuración hace que git gc y git clone sean muy lentos.
Editar de nuevo Después de más investigación, se debe a los hilos. Tengo 4 cores virtuales asignados a mi vps, y cuando puse el pack.threads "2" sin los demás, el problema desapareció.
Le pedí a mi proveedor que me diera más ram pero eso no ayudó. Solo cuando configuro los hilos. Espero que esto ayude a otros
A partir de su salida, parece que el proceso está siendo eliminado por un proceso externo como Linux OOM Killer , o algún otro proceso de administración de recursos, durante la etapa de compresión delta. Si se está quedando sin memoria o sin espacio en disco, eso le brinda un lugar lógico para comenzar su investigación.
También podría considerar ejecutar su proceso bajo strace . Esto a menudo le dirá qué estaba haciendo el programa cuando recibió la señal, pero no siempre le dirá quién fue realmente el remitente de la señal.
Si strace le falla, la fuente de Git actualmente tiene 12 referencias a sigaction(2) , que podría aprovechar para determinar el remitente de la señal examinando la estructura siginfo_t . Lo más probable es que esto requiera un volcado del núcleo o un depurador interactivo como gdb .