Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 8 Feb 1997 11:37:11 -0800 (PST)
From:      Dmitry Kohmanyuk <dk@dog.farm.org>
To:        bde@zeta.org.au (Bruce Evans)
Cc:        dk@genesyslab.com, freebsd-hackers@freebsd.org, dk@farm.org
Subject:   Re: 2.2 panic in i586_bc1 call from nfs_writerpc()
Message-ID:  <199702081937.LAA14825@dog.farm.org>
In-Reply-To: <199702080753.SAA04049@godzilla.zeta.org.au> from Bruce Evans at "Feb 8, 97 06:53:21 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
Quoting Bruce Evans:
> >there are 2 calls to bcopy() in nfs_vnops.c:nfs_writerpc(), but the logic 
> >is that only one of them can be executed at one invocation.
> 
> Logic is that neither can have got to i586_bc1, since they only copy 8
> bytes and i586_bc1 is only used for >= 1024 bytes :-).

yes, I see. morning light helps ;-)

from the line number in nfs_writerpc, it's evident that the call to
bcopy occured from nfsm_uiotombuf() (hidden in the macro nfs_uiotom).
this function has only one call to bcopy().  (and one to copyin()) 

> >(btw, gdb cannot disassemble functions in support.s ;-(  but it's easy
>                   ^^^^^^^^^^^ backtrace
> >to see that it's within i586_bc1 anyway (next label is i586_global_bcopy,
> >and that address is higher than fault's).

well - I type `disas i586_bc1' so I can look up instruction by address,
and gdb refuses to do so.

> The frame pointer isn't set up for the functions in support.s, so the
> backtrace probably skips one function: nfs_writerpc() called something
> that called bcopy().
> 
> Do you use nfsv3?  v2 obviously won't work properly with files
> larger than 2GB or 4GB.  E.g., for v2, nfs_writerpc() uses
> txdr_unsigned(uiop->uio_offset) and throws away the high 32 bits of
> the offset :-(.

yes, the mount was v3 (and probably even TCP).  The NFS server is
NetApp F330, running Data ONTAP 4.0.1c (that's a dedicated NFS server,
essentially a Pentium PC with additional SCSI disk shelves, rackmounted.
The entire OS fits into 1 floppy disk and has a command-line interface
with similarities to Unix command set.  It does up to 1Mb/s for both NFS
writes and reads - I wish FreeBSD can do that.)




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702081937.LAA14825>