From owner-freebsd-bugs Tue Oct 24 16:47:38 1995 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id QAA11975 for bugs-outgoing; Tue, 24 Oct 1995 16:47:38 -0700 Received: from tellab5.lisle.tellabs.com (tellab5.lisle.tellabs.com [138.111.243.28]) by freefall.freebsd.org (8.6.12/8.6.6) with SMTP id QAA11950 ; Tue, 24 Oct 1995 16:47:30 -0700 From: mikebo@tellabs.com Received: from sunc210.tellabs.com by tellab5.lisle.tellabs.com with smtp (Smail3.1.29.1 #4) id m0t7t3W-000jCJC; Tue, 24 Oct 95 18:46 CDT Received: by sunc210.tellabs.com (SMI-8.6/1.9) id SAA13180; Tue, 24 Oct 1995 18:46:50 -0500 Message-Id: <199510242346.SAA13180@sunc210.tellabs.com> Subject: 2.1.0-951020-SNAP: Major bug in NFS again! To: hackers@freebsd.org Date: Tue, 24 Oct 1995 18:46:50 -0500 (CDT) Cc: bugs@freebsd.org, mikebo (Mike Borowiec) X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-bugs@freebsd.org Precedence: bulk Greetings - There is a major bug somewhere in the bowels of RPC or NFS... When the hacks were backed out of /usr/src/lib/libc/rpc/clnt_udp.c a couple months ago, I expected NFS to multi-homed servers to work again - it doesn't! While the NFS mount works OK, subsequent accesses to the filesystem (a "df" for example) lock up the session... The following is Solaris snoop output which shows the problem. TOYBOX is running 2.1.0-951020-SNAP and TELLABK (aka SUNK) is a multi-homed server running SunOS 4.1.3 and "routed -q". First we do the mount: # mount tellabk:/export/home/tellabk-4 /usr/home toybox -> tellabk PORTMAP C GETPORT prog=100003 (NFS) vers=2 proto=UDP sunk -> toybox PORTMAP R GETPORT port=2049 toybox -> tellabk PORTMAP C GETPORT prog=100005 (MOUNT) vers=1 proto=UDP sunk -> toybox PORTMAP R GETPORT port=737 toybox -> tellabk MOUNT C Mount /export/home/tellabk-4 sunk -> toybox MOUNT R Mount OK F=075B Looks like the mount completed OK, even though the replies came from SUNK, TELLABK's alter-ego. So let's do a "df": # df toybox -> tellabk NFS C STATFS FH=075B sunk -> toybox NFS R STATFS OK toybox -> sunk ICMP Destination unreachable (Bad port) toybox -> tellabk NFS C STATFS FH=075B (retransmit) sunk -> toybox NFS R STATFS OK toybox -> sunk ICMP Destination unreachable (Bad port) ... ... ad infinitum ... As you can see, TOYBOX seems to be expecting the STATFS response from TELLABK, not its SUNK alter ego, and complains by sending ICMP Dest Unreachables. At this point, the session is locked up and "df" can never be killed - it is stuck in the kernel. Granted, most users won't be affected by this problem - but for me, this is a show stopper supreme - the single biggest problem I had with 2.0.5R. Because of it, I cannot use automounter at all and any NFS is crippled. I will gladly assist in any way I can to resolve this... work nights, weekends, whatever.... Please don't press this bug into the 2.1 CDs! - Mike -- -------------------------------------------------------------------------- Michael Borowiec - mikebo@tellabs.com - Tellabs Operations Inc. Senior Member of Technical Staff 4951 Indiana Avenue, MS 63 708-512-8211 FAX: 708-512-7099 Lisle, IL 60532 USA --------------------------------------------------------------------------