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 ([EMAIL PROTECTED], [EMAIL PROTECTED]) http://www.unixdaemons.com/~hiten/ To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message