2014-12-26 18 views
8

Git mi ha regalato un bel regalo di natale ... Sto provando a git push un mucchio di commit, come 6 GB. E sto ottenendo il seguente messaggio di errore:Git fatale: il pacchetto ha un oggetto non valido all'offset X: gonfia restituito -5

-Counting objects: 525, done. 
Delta compression using up to 24 threads. 
Compressing objects: 100% (474/474), done. 
fatal: pack has bad object at offset 3453162391: inflate returned -5 
error: pack-objects died of signal 13 
error: failed to push some refs to ....git 

Cosa significa e come viene risolto? Da Google posso dire che ha qualcosa a che fare con le dimensioni di ciò che sto cercando di spingere.

Questo è successo mentre stava scrivendo.

+0

Hai provato a spingere con l'opzione '--no-thin'? – kaman

+0

Sì, sfortunatamente non è stato d'aiuto. –

+0

Potresti provare a spingere solo alcuni commit (come HEAD ~ 3) e vedere se questo aiuta? – VonC

risposta

2

Sulla base di compensare il vostro, sembra che si sta cercando di spingere un po 'davvero grande oggetto (offset 3.453.162,391 mila = ~> = 3 GB), quindi zlib fallito su gonfiaggio/comprimere l'oggetto dal momento che non c'era abbastanza spazio in il buffer di output (errore: Z_BUF_ERROR).

Questo potrebbe essere correlato alla mancanza temporanea di memoria o ad alcuni limiti del buffer. Fondamentalmente sta cercando di elaborare il maggior numero di input possibile usando l'output disponibile, altrimenti restituisce Z_BUF_ERROR. Vedi: zlib inflate returning a buffer error.

Si dovrebbe provare nuovamente per vedere se il problema può essere riprodotto.

Se il problema è ripetibile, quindi provare a:

  • evitare di spingere i file di grandi dimensioni in repository git, Git è stato progettato per monitorare i file di codice sorgente, non file molto grandi (come 6GB),

  • aumentare le dimensioni del messaggio Git sul client http.postBuffer, ad esempio

    git config http.postBuffer 134217728 # =~ 128MB 
    
  • uso alcuni client alternativo che può ignorare macchie più grandi, come bfg, ad esempio

    java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git 
    
  • rimuovere l'oggetto che causa il problema (git gc?).

Altri potenziali problemi potrebbero includere:

Per ulteriori letture, controllare questo post: “pack has bad object” when pushing to remote.

Problemi correlati