From owner-freebsd-current Sat Dec 14 16:51:53 2002 Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E472B37B401 for ; Sat, 14 Dec 2002 16:51:50 -0800 (PST) Received: from angelica.unixdaemons.com (angelica.unixdaemons.com [209.148.64.135]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2612843ED8 for ; Sat, 14 Dec 2002 16:51:50 -0800 (PST) (envelope-from hiten@angelica.unixdaemons.com) Received: from angelica.unixdaemons.com (hiten@localhost.unixdaemons.com [127.0.0.1]) by angelica.unixdaemons.com (8.12.6/8.12.1) with ESMTP id gBF0pUek049565; Sat, 14 Dec 2002 19:51:30 -0500 (EST) Received: (from hiten@localhost) by angelica.unixdaemons.com (8.12.6/8.12.1/Submit) id gBF0pQRi049460; Sat, 14 Dec 2002 19:51:26 -0500 (EST) (envelope-from hiten) Date: Sat, 14 Dec 2002 19:51:26 -0500 From: Hiten Pandya To: Lars Eggert Cc: current@FreeBSD.org Subject: Re: NFS-related panic on reboot Message-ID: <20021215005126.GA96067@angelica.unixdaemons.com> References: <3DF52327.9010101@isi.edu> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3DF52327.9010101@isi.edu> User-Agent: Mutt/1.4i X-Operating-System: FreeBSD i386 X-Public-Key: http://www.pittgoth.com/~hiten/pubkey.asc X-URL: http://www.unixdaemons.com/~hiten X-PGP: http://pgp.mit.edu:11371/pks/lookup?search=Hiten+Pandya&op=index Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Mon, Dec 09, 2002 at 03:11:35PM -0800, Lars Eggert wrote the words in effect of: > With today's -current, after typing "reboot" into tcsh: > > NFS append race @0:13 > NFS append race @0:23 > NFS append race @0:13 > NFS append race @0:3 > NFS append race @0:60 > NFS append race @0:168 > NFS append race @0:518 > Stopping cron. > Stopping inetd. > Shutting down daemon processes:. > Shutting down local daemons:. > Writing entropy file:. > [1] Terminated > . [... snipped ...] > Stopped at nfs_removerpc+0x19: movl 0x168(%eax),%eax > db> trace > nfs_removerpc(c74675dc,c6b5ce6c,c,c6b0fc00,0) at nfs_removerpc+0x19 > nfs_removeit(c6b5ce60,0,c6b0fc00,c21b19a0,1) at nfs_removeit+0x30 > nfs_inactive(df0c0aa4,12,c21b19a0,c21b19a0,0) at nfs_inactive+0x8d [... snipped ...] Hi. This problem, is happening (possibly) because nfs_removerpc() is passed a NULL struct thread ("a No No" iirc) by nfs_removeit(). nfs_removerpc() is only called from two places: nfs_removeit() and nfs_remove(): In the case of nfs_remove(), it passes the thread from the "struct compnonentname" (cnp->cn_thread), while nfs_removeit() passes NULL. The problem with this is, that nfs_removeit() passes the thread arg to nfsm_request(), and it dies. Could you try the following patch, if you are still getting this problem: %%% Index: nfs_vnops.c =================================================================== RCS file: /home/hiten/ncvs/src/sys/nfsclient/nfs_vnops.c,v retrieving revision 1.189 diff -u -r1.189 nfs_vnops.c --- nfs_vnops.c 11 Oct 2002 14:58:32 -0000 1.189 +++ nfs_vnops.c 14 Dec 2002 16:25:14 -0000 @@ -1468,7 +1468,7 @@ { return (nfs_removerpc(sp->s_dvp, sp->s_name, sp->s_namlen, sp->s_cred, - NULL)); + curthread)); } /* %%% Cheers. -- Hiten Pandya (hiten@unixdaemons.com, hiten@uk.FreeBSD.org) http://www.unixdaemons.com/~hiten/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message