Date: Mon, 25 Mar 96 10:51:27 PST From: peter@thirdeye.com (Peter Rowell) To: freebsd-hardware@FreeBSD.ORG Subject: File corruption (Sun=>BSD w/3c590 + vx driver) Message-ID: <9603251851.AA07514@thirdeye.com>
next in thread | raw e-mail | index | archive | help
I come seeking wisdom. The problem descibed involves file corruption
when copying from a Sun to a BSD machine using NFS, a 3com 3c590 and
the if_vx driver code.
Please excuse the longish message, but I wanted to give enough
specifics that a light might go on in someone's head.
Possible culprits (in order of decreasing probability):
BSD vx driver for the 3c590
3com 3c590 board
BSD nfs server code
Sun nfs client code
Sun cp command
Bad Karma
Extremely Selective Cosmic Rays
In an exchange with Eric Varsanyi <ewv@boom.bsdi.com>, he mentioned a
FIFO overrun problem with certain 3c590 boards. However, his observed
pattern of corruption (every other 16-bit word (including the IP
headers) 0's) differs markedly from what I am seeing.
Suggestions/insights/enlightening ridicule/lunch offers are solicited.
TIA,
Peter Rowell
peter@thirdeye.com
----------------------------------------------------------------------------
The BSD system is fully described below. It is on a network with a
Sparc II running SunOS 4.1.3 and a DEC ALPHA running OSF1 V3.2.
When I got my new system, I eagerly cross-mounted a bunch of file
systems and, from the Sun, did:
cp -r /SUN/big/honking/directory/tree /BSD/usr/home/someplace
to put a goof-around copy of our product on the BSD machine.
Everything seemed to go fine. I rlogin'd to the BSD machine, ran our
configure script, and started a make.
It immediately started throwing compile errors left and right. I
looked at the files involved and noticed that they were all corrupted in
a most peculiar way.
I did a "diff -r" bewteen the Sun and BSD copies and saw that there
were about 200 lines (out of about 130,000 lines) that were corrupted.
The corruption was *always* the deletion of 2 characters or the repetition
of 2 characters. Sometimes both would happen in the same file. E.g.:
In the first case, the ",l" is repeated.
In the second case, the "al" is deleted.
diff BSD/node.c SUN/node.c
108c108
< {tkCmp, "<=>", asmiNil,l, PvFRelopNode},
--- ^^ 2 repeated characters
> {tkCmp, "<=>", asmiNil, PvFRelopNode},
112c112
< {tkEqu, "==", asmiNil, PvFRelopNode},
--- ^ "al" is missing
> {tkEqual, "==", asmiNil, PvFRelopNode},
I tried a number of things and found that this problem manifests
consistently (but not with the same files/lines!) when "pushing" from
the Sun to the BSD machine using "cp -r". (i.e. I was ON the Sun and
was writing TO an NFS mounted filesystem on the BSD machine.) It does
NOT happen (apparently) when using FTP. It happened once (I think,
have not been able to repeat) when ON the BSD machine I was pulling
FROM the Sun. I have not gotten it to happen at all bewteen the Alpha
and the BSD machine. I will continue to try combinations to see if
there is any other pattern to what is going on.
tar-pipe ::= tar cf - /Sun/dir | (cd /nfs/BSD/test ; tar xBf -)
Command
From
Command Host Status
---------------- ---- -------------------------------------
cp -r /SUN /BSD Sun multiple files corrupted
cp -r /SUN /BSD BSD OK
cp -r /DEC /BSD DEC OK
tar-pipe Sun multiple files corrupted
tar-pipe BSD multiple files corrupted
cp dir.tar Sun Corrupted, no complaints from tar!
cp dir.tar BSD OK
cp dir.tar DEC OK
cp dir.tar.gz Sun OK !?!?!?!
cp dir.tar.gz BSD OK
cp dir.tar.gz DEC OK
========================================================================
The BSD system is composed of:
Motherboard ASUS P55TP4N
512KB pipeline burst cache
Pentium-S 150 MHz
Memory 32MB, 60ns, no parity
video Number Nine 9FX771 w/ 2MB
controller ASUS PCI-SC200 (NCR 53c810 chip)
disk1 (sd0) Seagate ST32550N, 2.1 GB Barracuda
disk2 (sd1) Seagate ST15230N, 4.1 GB Hawk
cdrom Plextor PX43CE, 4plex Plus
tape HP 1536A 4mm DAT
NIC 3Com 3c590 Combo
audio Sound Blaster AWE/32
OS FreeBsd 2.1 (Walnut Creek CD-ROM)
Using Fred Gray's <fgray@owlnet.rice.edu> if_vx driver
for the 3c590 board. (Thanks, Fred!) Note that this is
the copy from Fred's home page (~ 2/1/96), not the
modified one in 2.1-current.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9603251851.AA07514>
