From owner-freebsd-current Thu Jan 14 20:05:00 1999 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id UAA09771 for freebsd-current-outgoing; Thu, 14 Jan 1999 20:05:00 -0800 (PST) (envelope-from owner-freebsd-current@FreeBSD.ORG) Received: from opus.cts.cwu.edu (opus.cts.cwu.edu [198.104.92.71]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id UAA09761 for ; Thu, 14 Jan 1999 20:04:56 -0800 (PST) (envelope-from skynyrd@opus.cts.cwu.edu) Received: from localhost (skynyrd@localhost) by opus.cts.cwu.edu (8.9.1/8.9.1) with SMTP id UAA22007 for ; Thu, 14 Jan 1999 20:03:47 -0800 (PST) Date: Thu, 14 Jan 1999 20:03:46 -0800 (PST) From: Chris Timmons Reply-To: Chris Timmons To: freebsd-current@FreeBSD.ORG Subject: NFS woes: getting worse? Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG I have duplicated on two pairs of machines a case whereby you have two -current machines as of ~20:00 UTC 1999/Jan/14 which cannot interoperate via NFS without corruption. To repeat: create a ports tree on one, mount it on the other. Have the client 'cd /usr/ports/x11/XFree86-contrib; make'. As soon as it extracts the distfile and starts working, it blows up: ===> Configuring for XFree86-contrib-3.3.3 mv -f Makefile Makefile.bak imake -DUseInstalled -I/usr/X11R6/lib/X11/config make Makefiles making Makefiles in programs... mv -f Makefile Makefile.bak making Makefiles in programs/ico... mv -f Makefile Makefile.bak make: don't know how to make Makefiles. Stop making Makefiles in programs/listres... mv -f Makefile Makefile.bak etc..... Softupdates and version -2 mounts do not affect the problem, and it builds fine on a local disk. I have done some work with ktrace and tcpdump and can see that files are being returned shorter from the NFS server than they really are. For example, on the server machine's local disk, ktrace showed one file read this way: 14820 make RET read 0 14820 make RET read 8192/0x2000 14820 make RET read 8192/0x2000 14820 make RET read 2845/0xb1d 14820 make RET read 0 On the client side, I isolated the same part of the corresponding ktrace and saw that it got: 13748 make RET read 0 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 512/0x200 13748 make RET read 114/0x72 13748 make RET read 0 18034 bytes read by the NFS client, 19229 bytes read on the local system! The file shown in the kdump output above is "Makefile" (see path below), and we can see that it's true size is 19229. This is just one instance of the problem. skynyrd:/usr/ports/x11/XFree86-contrib/work/contrib#> ls -l programs/ico/ total 64 -rw-r--r-- 1 root wheel 282 Jun 4 1994 Imakefile -rw-r--r-- 1 root wheel 19229 Jan 14 19:53 Makefile SO, it looks like there is some sort of arithmetic error going on? I have copious amounts of debugging info here, but have to run at the moment. If someone else can reproduce the problem I can send-pr all of it.... Sigh. -Chris To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message