{"thread":{"id":"10769","subject":"git 1.5.3.5 error over NFS","startedAt":"2007-11-09T15:31:39Z","lastAt":"2007-11-14T19:54:06Z","messageCount":14,"participants":["Bill Lear","Alex Riesen","Nicolas Pitre","Junio C Hamano"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"59065","messageId":"18228.32091.865519.312011@lisa.zopyra.com","threadId":"10769","inReplyTo":null,"subject":"git 1.5.3.5 error over NFS","fromName":"Bill Lear","fromEmail":"rael@zopyra.com","sentAt":"2007-11-09T15:31:39Z","receivedAt":"2007-11-09T15:31:39Z","isPatch":false,"sender":{"key":"rael@zopyra.com","avatar":"https://gravatar.com/avatar/c4f2d2790ca3828d3b4e7dfebabf61d2fe94fd82fa49cdac2a5295dd2d46a874?d=mp&s=160"},"body":"I've brought this up before, but I don't recall a resolution to it.\n\nWe have an NFS-mounted filesystem, and git pull is choking on it.\n\n% uname -a\nLinux uhlr.zopyra.com 2.6.9-42.0.2.ELsmp #1 SMP Wed Aug 23 13:38:27 BST 2006 x86_64 x86_64 x86_64 GNU/Linux\n\n% git --version\ngit version 1.5.3.5\n\n% git pull\nremote: Generating pack...\nremote: Done counting 998 objects.\nremote: Result has 836 objects.\nremote: Deltifying 836 objects.\nremote:  100% (836/836) done\nIndexing 836 objects...\nremote: Total 836 (delta 526), reused 688 (delta 380)\n  100% (836/836) done\nResolving 526 deltas...\nfatal: cannot pread pack file: No such file or directory\nfatal: index-pack died with error code 128\nfatal: Fetch failure: git://source/repo\n\nI looked through the archives of this list and did not see a final\nresolution, other than a suspected bug in the OS NFS code.\n\nDo we just need to update our OS?\n\n\nBill\n"},{"id":"59139","messageId":"20071109232106.GA3435@steel.home","threadId":"10769","inReplyTo":"18228.32091.865519.312011@lisa.zopyra.com","subject":"Re: git 1.5.3.5 error over NFS","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2007-11-09T23:21:06Z","receivedAt":"2007-11-09T23:21:06Z","isPatch":false,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"Bill Lear, Fri, Nov 09, 2007 16:31:39 +0100:\n> I've brought this up before, but I don't recall a resolution to it.\n> \n> We have an NFS-mounted filesystem, and git pull is choking on it.\n> \n> % uname -a\n> Linux uhlr.zopyra.com 2.6.9-42.0.2.ELsmp #1 SMP Wed Aug 23 13:38:27 BST 2006 x86_64 x86_64 x86_64 GNU/Linux\n> \n> % git --version\n> git version 1.5.3.5\n> \n> % git pull\n> remote: Generating pack...\n> remote: Done counting 998 objects.\n> remote: Result has 836 objects.\n> remote: Deltifying 836 objects.\n> remote:  100% (836/836) done\n> Indexing 836 objects...\n> remote: Total 836 (delta 526), reused 688 (delta 380)\n>   100% (836/836) done\n> Resolving 526 deltas...\n> fatal: cannot pread pack file: No such file or directory\n\nCould you please strace it? With strace -ff?\n\n> fatal: index-pack died with error code 128\n> fatal: Fetch failure: git://source/repo\n> \n> I looked through the archives of this list and did not see a final\n> resolution, other than a suspected bug in the OS NFS code.\n\nStrace, just to be on the safe side\n"},{"id":"59505","messageId":"18232.29603.856766.275854@lisa.zopyra.com","threadId":"10769","inReplyTo":"20071109232106.GA3435@steel.home","subject":"Re: git 1.5.3.5 error over NFS","fromName":"Bill Lear","fromEmail":"rael@zopyra.com","sentAt":"2007-11-12T15:39:15Z","receivedAt":"2007-11-12T15:39:15Z","isPatch":false,"sender":{"key":"rael@zopyra.com","avatar":"https://gravatar.com/avatar/c4f2d2790ca3828d3b4e7dfebabf61d2fe94fd82fa49cdac2a5295dd2d46a874?d=mp&s=160"},"body":"On Saturday, November 10, 2007 at 00:21:06 (+0100) Alex Riesen writes:\n>Bill Lear, Fri, Nov 09, 2007 16:31:39 +0100:\n>> I've brought this up before, but I don't recall a resolution to it.\n>> \n>> We have an NFS-mounted filesystem, and git pull is choking on it.\n>> \n>> % uname -a\n>> Linux uhlr.zopyra.com 2.6.9-42.0.2.ELsmp #1 SMP Wed Aug 23 13:38:27 BST 2006 x86_64 x86_64 x86_64 GNU/Linux\n>> \n>> % git --version\n>> git version 1.5.3.5\n>> \n>> % git pull\n>> remote: Generating pack...\n>> remote: Done counting 998 objects.\n>> remote: Result has 836 objects.\n>> remote: Deltifying 836 objects.\n>> remote:  100% (836/836) done\n>> Indexing 836 objects...\n>> remote: Total 836 (delta 526), reused 688 (delta 380)\n>>   100% (836/836) done\n>> Resolving 526 deltas...\n>> fatal: cannot pread pack file: No such file or directory\n>\n>Could you please strace it? With strace -ff?\n>\n>> fatal: index-pack died with error code 128\n>> fatal: Fetch failure: git://source/repo\n>> \n>> I looked through the archives of this list and did not see a final\n>> resolution, other than a suspected bug in the OS NFS code.\n>\n>Strace, just to be on the safe side\n\nOk, I've done the strace -ff.  It has generated 176 strace.out.<pid>\nfiles.  I have placed a tarball of these files on my home server:\n\n  http://www.zopyra.com/~rael/git/git-trace.tar.bz2\n\nThe file strace.out.25526 has, at the very end:\n\n[...]\nopen(\"/etc/mtab\", O_RDONLY)             = 4\nfstat64(0x4, 0xffff6810)                = 0\nmmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0x1000) = 0xfffffffff7ffd000\nread(4, \"/dev/sda1 / ext3 rw 0 0\\nnone /pr\"..., 4096) = 503\nclose(4)                                = 0\nmunmap(0xf7ffd000, 4096)                = 0\nopen(\"/proc/meminfo\", O_RDONLY)         = 4\nfstat64(0x4, 0xffff6c7c)                = 0\nmmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0x1000) = 0xfffffffff7ffd000\nread(4, \"MemTotal:     16396892 kB\\nMemFre\"..., 1024) = 672\nclose(4)                                = 0\nmunmap(0xf7ffd000, 4096)                = 0\nwrite(2, \"Resolving 551 deltas.\\n\", 22)                               = 22\npread64(3, \"\", 242, 541) = 0\nwrite(2, \"fatal: \", 7)                  = 7\nwrite(2, \"cannot pread pack file: Success\", 31) = 31\nwrite(2, \"\\n\", 1)                       = 1\nexit_group(128)                         = ?\n\nHere is the clipped output of running the strace command:\n\n[...]\n[ Process PID=25347 runs in 32 bit mode. ]\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\n[ Process PID=25347 runs in 64 bit mode. ]\n[ Process PID=25349 runs in 32 bit mode. ]\n[...]\n[ Process PID=25366 runs in 64 bit mode. ]\n[ Process PID=25365 runs in 32 bit mode. ]\nptrace: umoven: Input/output error\n[ Process PID=25366 runs in 64 bit mode. ]\n[ Process PID=25365 runs in 32 bit mode. ]\n[...]\n[ Process PID=25365 runs in 32 bit mode. ]\n[ Process PID=25366 runs in 64 bit mode. ]\nptrace: umoven: Input/output error\n[ Process PID=25365 runs in 32 bit mode. ]\n[ Process PID=25366 runs in 64 bit mode. ]\n[...]\n[ Process PID=25385 runs in 32 bit mode. ]\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\n[...]\n[ Process PID=25385 runs in 64 bit mode. ]\n[ Process PID=25482 runs in 32 bit mode. ]\n[ Process PID=25396 runs in 64 bit mode. ]\n[ Process PID=25524 runs in 32 bit mode. ]\nremote: Generating pack...\nremote: Done counting 1052 objects.\nremote: Result has 882 objects.\nremote: Deltifying 882 objects.\n  100% (882/882) done82) done\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\numovestr: Input/output error\nIndexing 882 objects.\n  100% (882/882) done\nResolving 551 deltas.\nremote: Total 882 (delta 551), reused 716 (delta 387)\nfatal: cannot pread pack file: Success\nfatal: index-pack died with error code 128\n[ Process PID=25522 runs in 64 bit mode. ]\nFetch failure: git://source/fusion\n\n\nBill\n"},{"id":"59596","messageId":"20071112233103.GH2918@steel.home","threadId":"10769","inReplyTo":"18232.29603.856766.275854@lisa.zopyra.com","subject":"Re: git 1.5.3.5 error over NFS","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2007-11-12T23:31:03Z","receivedAt":"2007-11-12T23:31:03Z","isPatch":false,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"Bill Lear, Mon, Nov 12, 2007 16:39:15 +0100:\n> On Saturday, November 10, 2007 at 00:21:06 (+0100) Alex Riesen writes:\n> >Bill Lear, Fri, Nov 09, 2007 16:31:39 +0100:\n> >> I've brought this up before, but I don't recall a resolution to it.\n> >> \n> >> We have an NFS-mounted filesystem, and git pull is choking on it.\n> >> \n> >> % uname -a\n> >> Linux uhlr.zopyra.com 2.6.9-42.0.2.ELsmp #1 SMP Wed Aug 23 13:38:27 BST 2006 x86_64 x86_64 x86_64 GNU/Linux\n\nIt is a really old kernel... Maybe you could try with some of the\nrecent ones?\n\n> >> % git --version\n> >> git version 1.5.3.5\n> >> \n> >> % git pull\n> >> remote: Generating pack...\n> >> remote: Done counting 998 objects.\n> >> remote: Result has 836 objects.\n> >> remote: Deltifying 836 objects.\n> >> remote:  100% (836/836) done\n> >> Indexing 836 objects...\n> >> remote: Total 836 (delta 526), reused 688 (delta 380)\n> >>   100% (836/836) done\n> >> Resolving 526 deltas...\n> >> fatal: cannot pread pack file: No such file or directory\n> >\n> >Could you please strace it? With strace -ff?\n> >\n> >> fatal: index-pack died with error code 128\n> >> fatal: Fetch failure: git://source/repo\n> >> \n> >> I looked through the archives of this list and did not see a final\n> >> resolution, other than a suspected bug in the OS NFS code.\n> >\n> >Strace, just to be on the safe side\n> \n> Ok, I've done the strace -ff.  It has generated 176 strace.out.<pid>\n> files.  I have placed a tarball of these files on my home server:\n> \n>   http://www.zopyra.com/~rael/git/git-trace.tar.bz2\n> \n> The file strace.out.25526 has, at the very end:\n> \n\nYes, this is the file.\n\nI extend the part you quoted. The file is opened here:\n\nopen(\".git/objects/pack_awOTNW\", O_RDWR|O_CREAT|O_EXCL, 0600) = 3\nwrite(3, \"PACK\\0\\0\\0\\2\\0\\0\\3r\", 12)     = 12\n... lots of data. Counted writes: 488538...\nwrite(3, \"v\\351\\247V\\325\\362\\327/\\240\\265\\211\\211\\322,\\261\\210\\301\"..., 4096) = 4096\nwrite(3, \"\\202\\202g\\232Bf\\211Bf\\261Bb\\36X\\22\\4\\364\\365\\25\\22\\223\"..., 1114) = 1114\nwrite(3, \"M\", 1)                        = 1\n\n> write(2, \"Resolving 551 deltas.\\n\", 22)                               = 22\n> pread64(3, \"\", 242, 541) = 0\n\nThat's the problem.  Hmm... May I kindly suggest moving the topic to\nlinux-nfs (cc-ed along with lk)?\n"},{"id":"59597","messageId":"20071112233309.GI2918@steel.home","threadId":"10769","inReplyTo":"18232.29603.856766.275854@lisa.zopyra.com","subject":"Re: git 1.5.3.5 error over NFS","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2007-11-12T23:33:09Z","receivedAt":"2007-11-12T23:33:09Z","isPatch":false,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"This is the almost same message I cced to lk and nfs, but with\nGit-interasting parts added.\n\nBill Lear, Mon, Nov 12, 2007 16:39:15 +0100:\n> On Saturday, November 10, 2007 at 00:21:06 (+0100) Alex Riesen writes:\n> >Bill Lear, Fri, Nov 09, 2007 16:31:39 +0100:\n> >> I've brought this up before, but I don't recall a resolution to it.\n> >> \n> >> We have an NFS-mounted filesystem, and git pull is choking on it.\n> >> \n> >> % uname -a\n> >> Linux uhlr.zopyra.com 2.6.9-42.0.2.ELsmp #1 SMP Wed Aug 23 13:38:27 BST 2006 x86_64 x86_64 x86_64 GNU/Linux\n\nIt is a really old kernel... Maybe you could try with some of the\nrecent ones?\n\n> >> % git --version\n> >> git version 1.5.3.5\n> >> \n> >> % git pull\n> >> remote: Generating pack...\n> >> remote: Done counting 998 objects.\n> >> remote: Result has 836 objects.\n> >> remote: Deltifying 836 objects.\n> >> remote:  100% (836/836) done\n> >> Indexing 836 objects...\n> >> remote: Total 836 (delta 526), reused 688 (delta 380)\n> >>   100% (836/836) done\n> >> Resolving 526 deltas...\n> >> fatal: cannot pread pack file: No such file or directory\n> >\n> >Could you please strace it? With strace -ff?\n> >\n> >> fatal: index-pack died with error code 128\n> >> fatal: Fetch failure: git://source/repo\n> >> \n> >> I looked through the archives of this list and did not see a final\n> >> resolution, other than a suspected bug in the OS NFS code.\n> >\n> >Strace, just to be on the safe side\n> \n> Ok, I've done the strace -ff.  It has generated 176 strace.out.<pid>\n> files.  I have placed a tarball of these files on my home server:\n> \n>   http://www.zopyra.com/~rael/git/git-trace.tar.bz2\n> \n> The file strace.out.25526 has, at the very end:\n> \n\nYes, this is the file.\n\nI extend the part you quoted. The file is opened here:\n\nopen(\".git/objects/pack_awOTNW\", O_RDWR|O_CREAT|O_EXCL, 0600) = 3\nwrite(3, \"PACK\\0\\0\\0\\2\\0\\0\\3r\", 12)     = 12\n... lots of data. Counted writes: 488538...\nwrite(3, \"v\\351\\247V\\325\\362\\327/\\240\\265\\211\\211\\322,\\261\\210\\301\"..., 4096) = 4096\nwrite(3, \"\\202\\202g\\232Bf\\211Bf\\261Bb\\36X\\22\\4\\364\\365\\25\\22\\223\"..., 1114) = 1114\nwrite(3, \"M\", 1)                        = 1\n\n> write(2, \"Resolving 551 deltas.\\n\", 22)                               = 22\n> pread64(3, \"\", 242, 541) = 0\n\nThat's the problem.\n\n\"Git-interesting parts\"\n\n> write(2, \"fatal: \", 7)                  = 7\n> write(2, \"cannot pread pack file: Success\", 31) = 31\n\nThis is strange. The current git should not produce anything like\nthis (and does not, here). The code in question is:\n\n\tdo {\n\t\tssize_t n = pread(pack_fd, data + rdy, len - rdy, from + rdy);\n\t\tif (n <= 0)\n\t\t\tdie(\"cannot pread pack file: %s\", strerror(errno));\n\t\trdy += n;\n\t} while (rdy < len);\n\nEither your strace or that kernel seem to have clobbered errno, too.\n\n> fstat64(0, 0xffff907c)                  = 0\n> open(\"/etc/mtab\", O_RDONLY)             = 4\n> fstat64(0x4, 0xffff6810)                = 0\n\nInteresing. What in git index-pack can read mtab and what for?\nIs it vanilla Git or have you instrumented it somehow?\n\n> [ Process PID=25347 runs in 32 bit mode. ]\n> umovestr: Input/output error\n> umovestr: Input/output error\n\nIs it your strace?\nDo you have anything unusual in syslog?\n\nBTW, you could try defining NO_PREAD in config.mak, and see if it\nworks the problem around for you.\n"},{"id":"59669","messageId":"18233.47472.890658.729250@lisa.zopyra.com","threadId":"10769","inReplyTo":"20071112233309.GI2918@steel.home","subject":"Re: git 1.5.3.5 error over NFS","fromName":"Bill Lear","fromEmail":"rael@zopyra.com","sentAt":"2007-11-13T14:49:20Z","receivedAt":"2007-11-13T14:49:20Z","isPatch":false,"sender":{"key":"rael@zopyra.com","avatar":"https://gravatar.com/avatar/c4f2d2790ca3828d3b4e7dfebabf61d2fe94fd82fa49cdac2a5295dd2d46a874?d=mp&s=160"},"body":"On Tuesday, November 13, 2007 at 00:33:09 (+0100) Alex Riesen writes:\n>This is the almost same message I cced to lk and nfs, but with\n>Git-interasting parts added.\n>\n>Bill Lear, Mon, Nov 12, 2007 16:39:15 +0100:\n>> On Saturday, November 10, 2007 at 00:21:06 (+0100) Alex Riesen writes:\n>> >Bill Lear, Fri, Nov 09, 2007 16:31:39 +0100:\n>> >> I've brought this up before, but I don't recall a resolution to it.\n>> >> \n>> >> We have an NFS-mounted filesystem, and git pull is choking on it.\n>> >> \n>> >> % uname -a\n>> >> Linux uhlr.zopyra.com 2.6.9-42.0.2.ELsmp #1 SMP Wed Aug 23 13:38:27 BST 2006 x86_64 x86_64 x86_64 GNU/Linux\n>\n>It is a really old kernel... Maybe you could try with some of the\n>recent ones?\n\nI'll see if we can: the machine in question is a high security one,\nand not easy to change.  We haven't seen this sort of problem\nelsewhere on our newer systems as far as I know.\n\n>I extend the part you quoted. The file is opened here:\n>...\n>This is strange. The current git should not produce anything like\n>this (and does not, here). ...\n\nYou are absolutely correct.  My comrade ran this with 1.5.0.1 by\nmistake.  He reran the strace with 1.5.3.5, and I have replaced\nthe tarball on my server:\n\n    http://www.zopyra.com/~rael/git/git-trace.tar.bz2\n\nWith this minor correction (!), here is the last part from\nthe last file (strace.out.26001):\n\n[...]\nwrite(2, \"\\n\", 1)                       = 1\nwrite(3, \"\\335\\365\\205\\262RY\\360=^h\\357\\372\\274\\374_\\177\\317\\357\"..., 3712) = 3712\nfstat(0, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0\nopen(\"/etc/mtab\", O_RDONLY)             = 4\nfstat(4, {st_mode=S_IFREG|0644, st_size=503, ...}) = 0\nmmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a955fa000\nread(4, \"/dev/sda1 / ext3 rw 0 0\\nnone /pr\"..., 4096) = 503\nclose(4)                                = 0\nmunmap(0x2a955fa000, 4096)              = 0\nopen(\"/proc/meminfo\", O_RDONLY)         = 4\nfstat(4, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0\nmmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a955fa000\nread(4, \"MemTotal:     16396892 kB\\nMemFre\"..., 1024) = 672\nclose(4)                                = 0\nmunmap(0x2a955fa000, 4096)              = 0\nwrite(2, \"Resolving 562 deltas...\\n\", 24) = 24\nrt_sigaction(SIGALRM, {0x40f610, [], SA_RESTORER|SA_RESTART, 0x32c512e2b0}, NULL, 8) = 0\nsetitimer(ITIMER_REAL, {it_interval={1, 0}, it_value={1, 0}}, NULL) = 0\npread(3, \"\", 242, 1268)                 = 0\nwrite(2, \"fatal: \", 7)                  = 7\nwrite(2, \"cannot pread pack file: No such \"..., 49) = 49\nwrite(2, \"\\n\", 1)                       = 1\nexit_group(128)                         = ?\n\nSorry for the mistake.  I think Linus once commented on an alarm\nthat he found curious in a previous strace I sent for this some\ntime ago ...\n\n\nBill\n"},{"id":"59745","messageId":"20071113214802.GH3268@steel.home","threadId":"10769","inReplyTo":"18233.47472.890658.729250@lisa.zopyra.com","subject":"Re: git 1.5.3.5 error over NFS (pack data corruption)","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2007-11-13T21:48:02Z","receivedAt":"2007-11-13T21:48:02Z","isPatch":false,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"Bill Lear, Tue, Nov 13, 2007 15:49:20 +0100:\n> >> >> We have an NFS-mounted filesystem, and git pull is choking on it.\n> >> >> \n> >> >> % uname -a\n> >> >> Linux uhlr.zopyra.com 2.6.9-42.0.2.ELsmp #1 SMP Wed Aug 23 13:38:27 BST 2006 x86_64 x86_64 x86_64 GNU/Linux\n> >\n> >It is a really old kernel... Maybe you could try with some of the\n> >recent ones?\n> \n> I'll see if we can: the machine in question is a high security one,\n> and not easy to change.  We haven't seen this sort of problem\n> elsewhere on our newer systems as far as I know.\n\nSuspected that :)\n\n> >I extend the part you quoted. The file is opened here:\n> >...\n> >This is strange. The current git should not produce anything like\n> >this (and does not, here). ...\n> \n> You are absolutely correct.  My comrade ran this with 1.5.0.1 by\n> mistake.  He reran the strace with 1.5.3.5, and I have replaced\n> the tarball on my server:\n> \n>     http://www.zopyra.com/~rael/git/git-trace.tar.bz2\n\nStill looks like v1.5.0.1:\n\n    write(2, \"fatal: \", 7)                  = 7\n    write(2, \"cannot pread pack file: No such \"..., 49) = 49\n\n> With this minor correction (!), here is the last part from\n> the last file (strace.out.26001):\n\nI think it got worse:\n\n> write(3, \"\\360]|\\204\\205\\317|\\352\\336C\\342\\316\\206\\334\\326\\201\\211\"..., 4096) = 4096\n> write(3, \"\\20\\t\\33if (cached_vias.insert(die,\\227\\17\"..., 4096) = 4096\n\nThe data in packs is zlib-compressed. I don't think you should be able\nto see any readable strings in them (except for \"PACK\" in the header).\nI believe you have a data corruption now.\n\nDoes git-fsck --all say anything about that, BTW?\n\nBesides, could you try with a git compiled with NO_PREAD?\n"},{"id":"59778","messageId":"18234.14781.55429.671459@lisa.zopyra.com","threadId":"10769","inReplyTo":"20071113214802.GH3268@steel.home","subject":"Re: git 1.5.3.5 error over NFS (pack data corruption)","fromName":"Bill Lear","fromEmail":"rael@zopyra.com","sentAt":"2007-11-13T23:56:45Z","receivedAt":"2007-11-13T23:56:45Z","isPatch":false,"sender":{"key":"rael@zopyra.com","avatar":"https://gravatar.com/avatar/c4f2d2790ca3828d3b4e7dfebabf61d2fe94fd82fa49cdac2a5295dd2d46a874?d=mp&s=160"},"body":"On Tuesday, November 13, 2007 at 22:48:02 (+0100) Alex Riesen writes:\n>...\n>> >I extend the part you quoted. The file is opened here:\n>> >...\n>> >This is strange. The current git should not produce anything like\n>> >this (and does not, here). ...\n>> \n>> You are absolutely correct.  My comrade ran this with 1.5.0.1 by\n>> mistake.  He reran the strace with 1.5.3.5, and I have replaced\n>> the tarball on my server:\n>> \n>>     http://www.zopyra.com/~rael/git/git-trace.tar.bz2\n>\n>Still looks like v1.5.0.1:\n>\n>    write(2, \"fatal: \", 7)                  = 7\n>    write(2, \"cannot pread pack file: No such \"..., 49) = 49\n\nWell, I just grepped for the above string in git-1.5.3.5:\n\n% grep 'cannot pread pack file' *.c\nindex-pack.c:                   die(\"cannot pread pack file: %s\", strerror(errno));\n\n>I think it got worse:\n>\n>> write(3, \"\\360]|\\204\\205\\317|\\352\\336C\\342\\316\\206\\334\\326\\201\\211\"..., 4096) = 4096\n>> write(3, \"\\20\\t\\33if (cached_vias.insert(die,\\227\\17\"..., 4096) = 4096\n>\n>The data in packs is zlib-compressed. I don't think you should be able\n>to see any readable strings in them (except for \"PACK\" in the header).\n>I believe you have a data corruption now.\n>\n>Does git-fsck --all say anything about that, BTW?\n\nI'll see if we can run it...\n\n>Besides, could you try with a git compiled with NO_PREAD?\n\nI'll try this also.\n\n\nBill\n"},{"id":"59783","messageId":"20071114000218.GL3268@steel.home","threadId":"10769","inReplyTo":"18234.14781.55429.671459@lisa.zopyra.com","subject":"Re: git 1.5.3.5 error over NFS (pack data corruption)","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2007-11-14T00:02:18Z","receivedAt":"2007-11-14T00:02:18Z","isPatch":false,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"Bill Lear, Wed, Nov 14, 2007 00:56:45 +0100:\n> On Tuesday, November 13, 2007 at 22:48:02 (+0100) Alex Riesen writes:\n> >...\n> >> >I extend the part you quoted. The file is opened here:\n> >> >...\n> >> >This is strange. The current git should not produce anything like\n> >> >this (and does not, here). ...\n> >> \n> >> You are absolutely correct.  My comrade ran this with 1.5.0.1 by\n> >> mistake.  He reran the strace with 1.5.3.5, and I have replaced\n> >> the tarball on my server:\n> >> \n> >>     http://www.zopyra.com/~rael/git/git-trace.tar.bz2\n> >\n> >Still looks like v1.5.0.1:\n> >\n> >    write(2, \"fatal: \", 7)                  = 7\n> >    write(2, \"cannot pread pack file: No such \"..., 49) = 49\n> \n> Well, I just grepped for the above string in git-1.5.3.5:\n> \n> % grep 'cannot pread pack file' *.c\n> index-pack.c:                   die(\"cannot pread pack file: %s\", strerror(errno));\n\noh, you should be looking for usage.c, the function report (it is\ncalled by default die handler). The old code used to fputs(\"fatal:\"),\nthe new just vfprintf's everything, so the write should look like:\n\n    write(2, \"fatal: cannot pread pack file: No such \"...\n"},{"id":"59789","messageId":"18234.15666.711624.443184@lisa.zopyra.com","threadId":"10769","inReplyTo":"20071114000218.GL3268@steel.home","subject":"Re: git 1.5.3.5 error over NFS (pack data corruption)","fromName":"Bill Lear","fromEmail":"rael@zopyra.com","sentAt":"2007-11-14T00:11:30Z","receivedAt":"2007-11-14T00:11:30Z","isPatch":false,"sender":{"key":"rael@zopyra.com","avatar":"https://gravatar.com/avatar/c4f2d2790ca3828d3b4e7dfebabf61d2fe94fd82fa49cdac2a5295dd2d46a874?d=mp&s=160"},"body":"On Wednesday, November 14, 2007 at 01:02:18 (+0100) Alex Riesen writes:\n>Bill Lear, Wed, Nov 14, 2007 00:56:45 +0100:\n>> On Tuesday, November 13, 2007 at 22:48:02 (+0100) Alex Riesen writes:\n>> >...\n>> >> >I extend the part you quoted. The file is opened here:\n>> >> >...\n>> >> >This is strange. The current git should not produce anything like\n>> >> >this (and does not, here). ...\n>> >> \n>> >> You are absolutely correct.  My comrade ran this with 1.5.0.1 by\n>> >> mistake.  He reran the strace with 1.5.3.5, and I have replaced\n>> >> the tarball on my server:\n>> >> \n>> >>     http://www.zopyra.com/~rael/git/git-trace.tar.bz2\n>> >\n>> >Still looks like v1.5.0.1:\n>> >\n>> >    write(2, \"fatal: \", 7)                  = 7\n>> >    write(2, \"cannot pread pack file: No such \"..., 49) = 49\n>> \n>> Well, I just grepped for the above string in git-1.5.3.5:\n>> \n>> % grep 'cannot pread pack file' *.c\n>> index-pack.c:                   die(\"cannot pread pack file: %s\", strerror(errno));\n>\n>oh, you should be looking for usage.c, the function report (it is\n>called by default die handler). The old code used to fputs(\"fatal:\"),\n>the new just vfprintf's everything, so the write should look like:\n>\n>    write(2, \"fatal: cannot pread pack file: No such \"...\n\nAre you sure?\n\n% ls -l git-1.5.3.5.tar.bz2\n-rw-r--r-- 1 blear software 1351433 2007-10-31 15:04 git-1.5.3.5.tar.bz2\n% bunzip2 -c !$ | tar xf -\n% cd git-1.5.3.5\n% grep -A 5 'void report' usage.c\nstatic void report(const char *prefix, const char *err, va_list params)\n{\n        fputs(prefix, stderr);\n        vfprintf(stderr, err, params);\n        fputs(\"\\n\", stderr);\n}\n\n\nBill\n"},{"id":"59804","messageId":"alpine.LFD.0.9999.0711132027430.21255@xanadu.home","threadId":"10769","inReplyTo":"20071114000218.GL3268@steel.home","subject":"Re: git 1.5.3.5 error over NFS (pack data corruption)","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2007-11-14T01:28:59Z","receivedAt":"2007-11-14T01:28:59Z","isPatch":false,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"On Wed, 14 Nov 2007, Alex Riesen wrote:\n\n> Bill Lear, Wed, Nov 14, 2007 00:56:45 +0100:\n> > On Tuesday, November 13, 2007 at 22:48:02 (+0100) Alex Riesen writes:\n> > >...\n> > >> >I extend the part you quoted. The file is opened here:\n> > >> >...\n> > >> >This is strange. The current git should not produce anything like\n> > >> >this (and does not, here). ...\n> > >> \n> > >> You are absolutely correct.  My comrade ran this with 1.5.0.1 by\n> > >> mistake.  He reran the strace with 1.5.3.5, and I have replaced\n> > >> the tarball on my server:\n> > >> \n> > >>     http://www.zopyra.com/~rael/git/git-trace.tar.bz2\n> > >\n> > >Still looks like v1.5.0.1:\n> > >\n> > >    write(2, \"fatal: \", 7)                  = 7\n> > >    write(2, \"cannot pread pack file: No such \"..., 49) = 49\n> > \n> > Well, I just grepped for the above string in git-1.5.3.5:\n> > \n> > % grep 'cannot pread pack file' *.c\n> > index-pack.c:                   die(\"cannot pread pack file: %s\", strerror(errno));\n> \n> oh, you should be looking for usage.c, the function report (it is\n> called by default die handler). The old code used to fputs(\"fatal:\"),\n> the new just vfprintf's everything, so the write should look like:\n> \n>     write(2, \"fatal: cannot pread pack file: No such \"...\n\nThis is not included in 1.5.3.5 though.\n\n\nNicolas\n"},{"id":"59805","messageId":"7vfxz9pq7d.fsf@gitster.siamese.dyndns.org","threadId":"10769","inReplyTo":"alpine.LFD.0.9999.0711132027430.21255@xanadu.home","subject":"Re: git 1.5.3.5 error over NFS (pack data corruption)","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2007-11-14T01:32:06Z","receivedAt":"2007-11-14T01:32: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> On Wed, 14 Nov 2007, Alex Riesen wrote:\n> ...\n>> oh, you should be looking for usage.c, the function report (it is\n>> called by default die handler). The old code used to fputs(\"fatal:\"),\n>> the new just vfprintf's everything, so the write should look like:\n>> \n>>     write(2, \"fatal: cannot pread pack file: No such \"...\n>\n> This is not included in 1.5.3.5 though.\n\nTrue; although I did not think it was risky at all, I did not\nthink that was serious enough change.\n"},{"id":"59806","messageId":"alpine.LFD.0.9999.0711132030370.21255@xanadu.home","threadId":"10769","inReplyTo":"18228.32091.865519.312011@lisa.zopyra.com","subject":"Re: git 1.5.3.5 error over NFS","fromName":"Nicolas Pitre","fromEmail":"nico@cam.org","sentAt":"2007-11-14T01:38:35Z","receivedAt":"2007-11-14T01:38:35Z","isPatch":false,"sender":{"key":"nico@fluxnic.net","avatar":"https://avatars.githubusercontent.com/u/702790?v=4"},"body":"On Fri, 9 Nov 2007, Bill Lear wrote:\n\n> I've brought this up before, but I don't recall a resolution to it.\n> \n> We have an NFS-mounted filesystem, and git pull is choking on it.\n> \n> % uname -a\n> Linux uhlr.zopyra.com 2.6.9-42.0.2.ELsmp #1 SMP Wed Aug 23 13:38:27 BST 2006 x86_64 x86_64 x86_64 GNU/Linux\n\nI recall there was issues with NFS on some old linux version posted on \nthe list a while ago.  Again the archive must have it but I'm too lazy \nto check.  Because the issue wasn't reproducible on later kernels, the \nconclusion was that the kernel was to blame.\n\n\nNicolas\n"},{"id":"59866","messageId":"20071114195406.GB3973@steel.home","threadId":"10769","inReplyTo":"18234.15666.711624.443184@lisa.zopyra.com","subject":"Re: git 1.5.3.5 error over NFS (pack data corruption)","fromName":"Alex Riesen","fromEmail":"raa.lkml@gmail.com","sentAt":"2007-11-14T19:54:06Z","receivedAt":"2007-11-14T19:54:06Z","isPatch":false,"sender":{"key":"raa.lkml@gmail.com","avatar":"https://avatars.githubusercontent.com/u/324101?v=4"},"body":"Bill Lear, Wed, Nov 14, 2007 01:11:30 +0100:\n> >oh, you should be looking for usage.c, the function report (it is\n> >called by default die handler). The old code used to fputs(\"fatal:\"),\n> >the new just vfprintf's everything, so the write should look like:\n> >\n> >    write(2, \"fatal: cannot pread pack file: No such \"...\n> \n> Are you sure?\n> \n> % ls -l git-1.5.3.5.tar.bz2\n> -rw-r--r-- 1 blear software 1351433 2007-10-31 15:04 git-1.5.3.5.tar.bz2\n> % bunzip2 -c !$ | tar xf -\n> % cd git-1.5.3.5\n> % grep -A 5 'void report' usage.c\n> static void report(const char *prefix, const char *err, va_list params)\n> {\n>         fputs(prefix, stderr);\n>         vfprintf(stderr, err, params);\n>         fputs(\"\\n\", stderr);\n\nAch, right. I just checked Junio's master. BTW, maybe you could check\nthat as well? There were 64bit fixes lately, and had an impression you\nwere using git compiled for 64bit (mmap2 return address from your\nfirst strace was shown 64bit).\n"}]}