Re: bug: git-repack -a -d produces broken pack on NFS
- From
Alex Riesen <raa.lkml@gmail.com>
- Date
- Apr 28, 2006, 22:27 UTC
- Message-ID
- <20060428222750.GA6462@steel.home>
- In-Reply-To
- <Pine.LNX.4.64.0604271500500.3701@g5.osdl.org>
Linus Torvalds, Fri, Apr 28, 2006 00:11:13 +0200:
Show 5 quoted lines
> > NFS server: 2.6.15 > > Client: 2.6.17-rc2 > > mount options: tigra:/home /net/home nfs rw,nosuid,nodev,noatime,vers=3,rsize=8192,wsize=32768,hard,intr,proto=udp,timeo=7,retrans=3,addr=tigra 0 0 > > It's repeatable? Can you check if it goes away if your remove "intr"?
It does not go away if I remove intr:
$ grep 'nfs\>' /proc/mounts
tigra:/home /net/home nfs rw,nosuid,nodev,noatime,vers=3,rsize=8192,wsize=32768,hard,proto=udp,timeo=7,retrans=3,addr=tigra 0 0And this is really a broken packfile:
$ git fsck-objects --full
git-fsck-objects: error: Packfile .git/objects/pack/pack-9021635f04e29bb9f3313a54124f64589eca5764.pack SHA1 mismatch with itself
git-fsck-objects: fatal: failed to read delta-pack base object a23816d3e9a1684794c8e5a8f1cc0cce26fb61d8And I actually was kind of sure about the hardware (like in: "it worked flawlessly for in the past 2 years"). Until looked today in the logs and saw this:
Apr 19 11:49:35 tigra kernel: eth1: tx underrun with maximum tx threshold, txcfg 0xd0f0102e.
Apr 19 11:49:35 tigra kernel: eth1: Link wake-up event 0xffffffff
Apr 19 11:49:35 tigra kernel: eth1: PCI error 0xf00000Well, this is actually not _that_ day. And this:
Apr 28 23:42:19 tigra kernel: eth1: tx underrun with maximum tx threshold, txcfg 0xd0f0102e.
is not exactly the time of most recent test (the one without the "hard" mount option). But this _is_ that very same interface, and "PCI error" looks nasty. Ok, looking at the card... Seats kinda skewed in the slot, pressing on it... Wow! (lights go out):
Apr 29 00:13:35 tigra kernel: eth1: Link wake-up event 0x00020b
Apr 29 00:13:35 tigra kernel: eth1: PCI error 0xf00000
Apr 29 00:13:39 tigra kernel: NETDEV WATCHDOG: eth1: transmit timed out
Apr 29 00:13:39 tigra kernel: eth1: Transmit timed out, status 0x000000, resetting...
Apr 29 00:13:39 tigra kernel: eth1: DSPCFG accepted after 0 usec.
Apr 29 00:13:39 tigra kernel: eth1: Setting full-duplex based on negotiated link capability.Redoing test... (Two times only, it's late already):
$SRC/test2.git$ git repack -a -d
Generating pack...
Done counting 235775 objects.
Deltifying 235775 objects.
100% (235775/235775) done
Writing 235775 objects.
100% (235775/235775) done
Total 235775, written 235775 (delta 181885), reused 223766 (delta 171462)
Pack pack-9021635f04e29bb9f3313a54124f64589eca5764 created.
$SRC/test2.git$ git fsck-objects --full
dangling blob 419301f9bff67932cb9551f2d8436b277a3022b0
$SRC/test2.git$ git repack -a -d
Generating pack...
Done counting 235775 objects.
Deltifying 235775 objects.
100% (235775/235775) done
Writing 235775 objects.
100% (235775/235775) done
Total 235775, written 235775 (delta 181958), reused 235702 (delta 181885)
Pack pack-9021635f04e29bb9f3313a54124f64589eca5764 created.
$SRC/test2.git$ git fsck-objects --full
dangling blob 419301f9bff67932cb9551f2d8436b277a3022b0Hmm... Ok, apologies everyone, I'm just lazy and stupid.
Still, would be nice not to loose a repository just because user is an idiot.