Subject: NFS hangs on Mac port of NetBSD 1.2
To: None <current-users@NetBSD.ORG>
From: Greg Earle <earle@isolar.Tujunga.CA.US>
List: port-mac68k
Date: 10/07/1996 09:50:19
I've just brought up the 1.2 distribution that's in the NetBSD-1.2/mac68k area
on ftp.NetBSD.ORG on a Mac IIci.  The Mac has an old, old Asante MacCon
Ethernet card in it:

ae0 at nubus0: address 00:00:94:21:c5:63, type MacCon Ethernet, 32k mem.

I see some occasional boot-time glitches with this card:

ae0: length does not match next packet pointer
ae0: len 0000 nlen ff00 start 0c first 00 curr 19 next 00 stop 80
ae0: NIC memory corrupt - invalid packet length 65280

Another time it didn't even configure it at all:

ae0: failed to clear shared memory at 0x7ab7400 - check configuration

But for normal things (rlogin/telnet/ftp/etc.) it seems to work fine, though.
But NFS is another story altogether.  I use "amd" with some local AMD maps.
I have my own home directory NFS mounted from my NetBSD/SPARC 1.2 SPARCstation
and pretty much all the other mounts are set up to come from a SPARCserver
1000 running Solaris 2.4.

I have absolutely no trouble at all NFS mounting the SPARCserver mounts from
my NetBSD/SPARC system.  But NFS mounts on the Mac simply aren't working.  At
first the mounting of my own home directory was working (but inexplicably,
the Mac used an NFS V2 mount and not V3 - why?), but even that's hanging now.

To give a better picture:

macbsd4me# ps -axlww | egrep '[D]'
  UID   PID  PPID CPU PRI NI   VSZ  RSS WCHAN  STAT TT       TIME COMMAND
    0     0     0   0 -18  0     0    0 schedu DLs  ??    0:03.16 (swapper)
    0     2     0   0 -18  0     0    0 thrd_s DL   ??    0:00.03 (pagedaemon)
 1282   302   290   0   2  0   140  428 netio  D    ??    0:06.71 calendar -a 
    0   304    59   0   2  0   248  196 netio  D    ??    0:06.58 amd -l syslog -x error,noinfo,nostats -p -a /tmp_mnt /home /etc/amd/home /pkg /etc/amd/pkg /cd /etc/amd/cdrom /project /etc/amd/project 
32767   363   362  33  -1  5    56  296 nfsrcv DN   ??    0:11.89 / (find)
 1074   820   109   0  -1  0   140  444 nfsrcv D    ??    0:09.02 rlogind 
    0   827   109   0  -1  0   384  420 nfsrcv D    ??    0:08.77 rshd 
    0  1060  1055   0  -1  0    48  280 nfsrcv D    ??    0:07.31 / (find)
    0  1777  1773   0  -1  0    48  280 nfsrcv D    ??    0:02.18 / (find)
    0  1964   131   0  -1  0   168   72 nfsrcv D    e0    0:00.42 ls /home/earle

The child "amd" process that tries to mount the SPARCserver gets wedged in D
state with the "netio" WCHAN, and attempts to look at my home directory
(the "rlogind" and "rshd" and "ls /home/earle"; dunno where the "find"
processes are getting wedged yet) are wedging with WCHAN "nfsrcv".

The only other thing I can report: If I manually do an NFS mount from my
NetBSD/SPARC system, it works just fine as well.  When I do it from the Mac,
I see:

UDP from macbsd4me.1022 to mipl8.2049  48 bytes
 RPC Call nfs  Null  V2 [343b2]
UDP from mipl8.2049 to macbsd4me.1022  32 bytes
 RPC Reply  [343b2] AUTH_NULL Success 
UDP from macbsd4me.1022 to mipl8.sunrpc  112 bytes
 RPC Call portmapper  PMAPPROC_GETPORT  V2 [40]
UDP from mipl8.sunrpc to macbsd4me.1022  36 bytes
 RPC Reply  [40] AUTH_NULL Success 
UDP from macbsd4me.1022 to mipl8.710  120 bytes
 RPC Call mountd  MNTPROC_MNT  V1 [31]
UDP from mipl8.710 to macbsd4me.1022  68 bytes
 RPC Reply  [31] AUTH_NULL Success 
UDP from macbsd4me.1019 to mipl8.2049  104 bytes
 RPC Call nfs  Getattr  V2 [5b1c0021] 1815.26c04
UDP from mipl8.2049 to macbsd4me.1019  104 bytes
 RPC Reply  [5b1c0021] AUTH_NULL Success 
UDP from macbsd4me.1019 to mipl8.2049  100 bytes
 RPC Call nfs  Stat FS  V2 [5b1c0022] 1815.26c04
UDP from mipl8.2049 to macbsd4me.1019  56 bytes
 RPC Reply  [5b1c0022] AUTH_NULL Success 
UDP from macbsd4me.1022 to mipl8.2049  48 bytes
 RPC Call nfs  Null  V2 [343c2]
UDP from mipl8.2049 to macbsd4me.1022  32 bytes
 RPC Reply  [343c2] AUTH_NULL Success 
UDP from macbsd4me.1022 to mipl8.sunrpc  112 bytes
 RPC Call portmapper  PMAPPROC_GETPORT  V2 [50]
UDP from mipl8.sunrpc to macbsd4me.1022  36 bytes
 RPC Reply  [50] AUTH_NULL Success 

... and that's it.  Process stuck on "nfsrcv" WCHAN.

I'm going to try and reboot using "wsize" and "rsize" set to 1K, just for
fun.  But in the meantime, any similar experiences or suggestions out there?

	- Greg