{"thread":{"id":"43377","subject":"Re: git-fetch fails with error code 128","startedAt":"2006-12-14T23:08:43Z","lastAt":"2006-12-16T22:12:55Z","messageCount":10,"participants":["Andy Parkins","Shawn Pearce","Junio C Hamano","Nicolas Pitre"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"296897","messageId":"200612142308.45376.andyparkins@gmail.com","threadId":"43377","inReplyTo":null,"subject":"git-fetch fails with error code 128","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2006-12-14T23:08:43Z","receivedAt":"2006-12-14T23:08:43Z","isPatch":false,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"Hello,\n\nThis is with my big \"every linux patch\" repository that I talked about in \nanother thread.  To bring you up to speed:\n\n 1. Made repository\n 2. Made a zip of the .git directory\n 3. Copied the zip elsewhere\n 4. Extracted it into a temporary directory\n 5. Went to an out-of-date version of this repository\n 6. Used git-fetch to update it.\n\nThis gave me the following output:\n\n$ git fetch\nremote: Generating pack...\nremote: Done counting 189146 objects.\nremote: Result has 186566 objects.\nremote: Deltifying 186566 objects.\nremote:  100% (186566/186566) done\nUnpacking 186566 objects\nfatal: failed to apply delta\nfatal: unpack-objects died with error code 128\nFetch failure: /home/andyp/projects/temp/.git\n\nWhat does that mean?  I ran fsck --full on the source repository, but it's \nmade no difference.\n\n\n\nAndy\n-- \nDr Andrew Parkins, M Eng (Hons), AMIEE\n"},{"id":"294904","messageId":"20061214231921.GG26202@spearce.org","threadId":"43377","inReplyTo":"200612142308.45376.andyparkins@gmail.com","subject":"Re: git-fetch fails with error code 128","fromName":"Shawn Pearce","fromEmail":"spearce@spearce.org","sentAt":"2006-12-14T23:19:21Z","receivedAt":"2006-12-14T23:19:21Z","isPatch":false,"sender":{"key":"spearce@spearce.org","avatar":"https://avatars.githubusercontent.com/u/34844?v=4"},"body":"Andy Parkins <andyparkins@gmail.com> wrote:\n> $ git fetch\n> remote: Generating pack...\n> remote: Done counting 189146 objects.\n> remote: Result has 186566 objects.\n> remote: Deltifying 186566 objects.\n> remote:  100% (186566/186566) done\n> Unpacking 186566 objects\n> fatal: failed to apply delta\n> fatal: unpack-objects died with error code 128\n> Fetch failure: /home/andyp/projects/temp/.git\n> \n> What does that mean?  I ran fsck --full on the source repository, but it's \n> made no difference.\n\nBad voodoo.  What does 'git fetch -k' do?  It uses slightly\ndifferent code for handling the deltas...\n\n-- \n"},{"id":"297163","messageId":"7vfybiyqk0.fsf@assigned-by-dhcp.cox.net","threadId":"43377","inReplyTo":"200612142308.45376.andyparkins@gmail.com","subject":"Re: git-fetch fails with error code 128","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-12-15T00:02:23Z","receivedAt":"2006-12-15T00:02:23Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Andy Parkins <andyparkins@gmail.com> writes:\n\n> $ git fetch\n> remote: Generating pack...\n> remote: Done counting 189146 objects.\n> remote: Result has 186566 objects.\n> remote: Deltifying 186566 objects.\n> remote:  100% (186566/186566) done\n> Unpacking 186566 objects\n> fatal: failed to apply delta\n> fatal: unpack-objects died with error code 128\n> Fetch failure: /home/andyp/projects/temp/.git\n>\n> What does that mean?  I ran fsck --full on the source repository, but it's \n> made no difference.\n\nAndy, which version of git do you run (I presume they are the\nsame version, as you are doing the local fetching), and which\nversion of git was the \"slightly out of date\" repository\nprepared with?\n\nI think this is the second time I've seen a report of unpacker\nbarfing on the mailing list.  Nico, anything rings a bell?\n\n"},{"id":"295521","messageId":"Pine.LNX.4.64.0612142120260.18171@xanadu.home","threadId":"43377","inReplyTo":"200612142308.45376.andyparkins@gmail.com","subject":"Re: git-fetch fails with error code 128","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2006-12-15T02:25:06Z","receivedAt":"2006-12-15T02:25:06Z","isPatch":false,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"On Thu, 14 Dec 2006, Andy Parkins wrote:\n\n> Hello,\n> \n> This is with my big \"every linux patch\" repository that I talked about in \n> another thread.  To bring you up to speed:\n> \n>  1. Made repository\n>  2. Made a zip of the .git directory\n>  3. Copied the zip elsewhere\n>  4. Extracted it into a temporary directory\n>  5. Went to an out-of-date version of this repository\n>  6. Used git-fetch to update it.\n> \n> This gave me the following output:\n> \n> $ git fetch\n> remote: Generating pack...\n> remote: Done counting 189146 objects.\n> remote: Result has 186566 objects.\n> remote: Deltifying 186566 objects.\n> remote:  100% (186566/186566) done\n> Unpacking 186566 objects\n> fatal: failed to apply delta\n> fatal: unpack-objects died with error code 128\n> Fetch failure: /home/andyp/projects/temp/.git\n> \n> What does that mean?  I ran fsck --full on the source repository, but it's \n> made no difference.\n\nCould you please instrument patch-delta.c to determine which of the\n\"return NULL\" is executed?\n\n\n"},{"id":"296416","messageId":"200612150946.14439.andyparkins@gmail.com","threadId":"43377","inReplyTo":"7vfybiyqk0.fsf@assigned-by-dhcp.cox.net","subject":"Re: git-fetch fails with error code 128","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2006-12-15T09:46:12Z","receivedAt":"2006-12-15T09:46:12Z","isPatch":false,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"On Friday 2006 December 15 00:02, Junio C Hamano wrote:\n\n> Andy, which version of git do you run (I presume they are the\n> same version, as you are doing the local fetching), and which\n> version of git was the \"slightly out of date\" repository\n> prepared with?\n\nOne of them is switched off and in another place at the moment, so this is \nfrom memory:\n\nThe initial repository was made with origin/master from a few days ago, that's \nthe one I've been calling \"out-of-date\".  I cloned that to another computer \nand continued adding patches using \"1.4.4.1.g3ece-dirty\" (the dirt is just my \ncolour branch patch on top of ba988a83).  The fetch is being done back on the \noriginal system which has the newer git but older repository.\n\nI hadn't realised it was quite a serious as these responses are making it \nsound.  I'll gather more precise data upon my return home.\n\nOn the up-to-date computer I've just made a fresh repository, set .git/config \nto point locally at the full repository and ran git-fetch.  Interestingly, \nthat has worked perfectly.\n\nClearly it is version-specific.  I'll do a bit of bisection later and see if I \ncan nail the problem down.\n\n\nAndy\n\n-- \nDr Andy Parkins, M Eng (hons), MIEE\n"},{"id":"295572","messageId":"7vy7p8omdh.fsf@assigned-by-dhcp.cox.net","threadId":"43377","inReplyTo":"200612150946.14439.andyparkins@gmail.com","subject":"Re: git-fetch fails with error code 128","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-12-15T21:55:06Z","receivedAt":"2006-12-15T21:55:06Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Andy Parkins <andyparkins@gmail.com> writes:\n\n> I hadn't realised it was quite a serious as these responses\n> are making it sound.  I'll gather more precise data upon my\n> return home.\n> ...\n> Clearly it is version-specific.  I'll do a bit of bisection\n> later and see if I can nail the problem down.\n\nThanks --- very much appreciated.  When it comes to\ninter-repository object transfer, we take compatibility very\nseriously.\n"},{"id":"297148","messageId":"Pine.LNX.4.64.0612151706150.18171@xanadu.home","threadId":"43377","inReplyTo":"7vy7p8omdh.fsf@assigned-by-dhcp.cox.net","subject":"Re: git-fetch fails with error code 128","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2006-12-15T22:13:35Z","receivedAt":"2006-12-15T22:13:35Z","isPatch":false,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"On Fri, 15 Dec 2006, Junio C Hamano wrote:\n\n> Andy Parkins <andyparkins@gmail.com> writes:\n> \n> > I hadn't realised it was quite a serious as these responses\n> > are making it sound.  I'll gather more precise data upon my\n> > return home.\n> > ...\n> > Clearly it is version-specific.  I'll do a bit of bisection\n> > later and see if I can nail the problem down.\n> \n> Thanks --- very much appreciated.  When it comes to\n> inter-repository object transfer, we take compatibility very\n> seriously.\n\nI really doubt it is a compatibility problem.  The provided error \nmessage may only result from the fact that patch_delta() has returned \nNULL.\n\nAnd since patch-delta is really simple, it doesn't have many reasons for \nreturning NULL: either the object store on either the remote or local \nside is corrupted in which case a git-fsck-objects --full should catch \nthat, or the system ran out of memory.\n\n\n"},{"id":"295057","messageId":"7vy7p8llql.fsf@assigned-by-dhcp.cox.net","threadId":"43377","inReplyTo":"Pine.LNX.4.64.0612151706150.18171@xanadu.home","subject":"Re: git-fetch fails with error code 128","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2006-12-16T00:37:06Z","receivedAt":"2006-12-16T00:37:06Z","isPatch":false,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Nicolas Pitre <nico@cam.org> writes:\n\n> I really doubt it is a compatibility problem.  The provided error \n> message may only result from the fact that patch_delta() has returned \n> NULL.\n>\n> And since patch-delta is really simple, it doesn't have many reasons for \n> returning NULL: either the object store on either the remote or local \n> side is corrupted in which case a git-fsck-objects --full should catch \n> that, or the system ran out of memory.\n\nHmmmm.  True and sad.  Sad because I do not offhand think of\nplaces to trim the memory usage.\n"},{"id":"295795","messageId":"200612161329.57605.andyparkins@gmail.com","threadId":"43377","inReplyTo":"Pine.LNX.4.64.0612151706150.18171@xanadu.home","subject":"Re: git-fetch fails with error code 128","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2006-12-16T13:29:56Z","receivedAt":"2006-12-16T13:29:56Z","isPatch":false,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"On Friday 2006, December 15 22:13, Nicolas Pitre wrote:\n\n> And since patch-delta is really simple, it doesn't have many reasons for\n> returning NULL: either the object store on either the remote or local\n> side is corrupted in which case a git-fsck-objects --full should catch\n> that, or the system ran out of memory.\n\nIt's not conclusive, but the system its failing on has more memory than the \nsystem it is working on.\n\n\nAndy\n\n-- \nDr Andrew Parkins, M Eng (Hons), AMIEE\n"},{"id":"294559","messageId":"200612162212.57771.andyparkins@gmail.com","threadId":"43377","inReplyTo":"7vy7p8omdh.fsf@assigned-by-dhcp.cox.net","subject":"Re: git-fetch fails with error code 128","fromName":"Andy Parkins","fromEmail":"andyparkins@gmail.com","sentAt":"2006-12-16T22:12:55Z","receivedAt":"2006-12-16T22:12:55Z","isPatch":false,"sender":{"key":"andyparkins@gmail.com","avatar":null},"body":"On Friday 2006, December 15 21:55, Junio C Hamano wrote:\n\n> Thanks --- very much appreciated.  When it comes to\n> inter-repository object transfer, we take compatibility very\n> seriously.\n\nOkay.  Before I started bisecting I thought I'd do some other experiments.  \nHaving tested fetch from remote and a fetch from local and finding the same \nresults, I've done all the tests locally.\n\nSo; here goes.  I've got these directories:\n\n linux-partial/   (this is every patch from v1.0.0 to v2.1.63)\n linux-full/      (this is every patch from v1.0.0 to v2.5.75)\n\nlinux-partial/ is the one I reported the original error on, later I confirmed \nthat the same error happened with a local fetch from linux-full.  I cloned \nboth of these.\n\n linux-partial-clone/  (made with git clone linux-partial linux-partial-clone)\n linux-full-clone/     (made with git clone linux-full linux-full-clone)\n\nTests:\n - A fetch from linux-full to linux-partial, this one failed with error 128\n - A fetch from linux-full-clone to linux-partial, this one failed with\n   error 128\n - A fetch from linux-full to linux-partial-clone, this one succeeded\n - A fetch from linux-full-clone to linux-partial-clone, this one succeeded\n   (unsurprisingly)\n\nNext I ran git-prune in linux-partial.  The fetch then succeeded.  Bizarre.\n\nSo, the strange result is that it is a difference in the destination directory \nthat is triggering the error, and whatever that fault is is fixed by \ngit-cloning that destination repository, or git-pruning the destination.\n\nUnfortunately I've now lost my test case, because the prune fixed it.  Bah.  \nOh well, this fault can be marked \"on hold until I get it to fail again\".\n\n\n\nAndy\n\n-- \nDr Andrew Parkins, M Eng (Hons), AMIEE\n"}]}