Skip site navigation (1)Skip section navigation (2)
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>