Date: Thu, 14 Jan 1999 20:03:46 -0800 (PST) From: Chris Timmons <skynyrd@opus.cts.cwu.edu> To: freebsd-current@FreeBSD.ORG Subject: NFS woes: getting worse? Message-ID: <Pine.BSF.3.96.990114193913.12691E-100000@opus.cts.cwu.edu>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.990114193913.12691E-100000>
