Re: panic: Bad link elm, nfsd related?

From: Jaakko Heinonen <jh_at_saunalahti.fi>
Date: Tue, 24 Mar 2009 20:04:38 +0200
On 2009-03-23, Matthew West wrote:
> After 1-2 weeks, the system will panic with the following:
> 
> ----------
> panic: Bad link elm 0xffffff0011febc00 next->prev != elm

It looks like an attempt to remove xprt twice from tail queue due to
race. Does this patch make any difference?

%%%
Index: sys/rpc/svc.c
===================================================================
--- sys/rpc/svc.c	(revision 189918)
+++ sys/rpc/svc.c	(working copy)
_at__at_ -296,8 +296,10 _at__at_ xprt_unregister_locked(SVCXPRT *xprt)
 		TAILQ_REMOVE(&pool->sp_active, xprt, xp_alink);
 		xprt->xp_active = FALSE;
 	}
-	TAILQ_REMOVE(&pool->sp_xlist, xprt, xp_link);
-	xprt->xp_registered = FALSE;
+	if (xprt->xp_registered) {
+		TAILQ_REMOVE(&pool->sp_xlist, xprt, xp_link);
+		xprt->xp_registered = FALSE;
+	}
 }
 
 void
%%%

This was also reported by Edward Fisk (Cc'd) in PR 132068.

-- 
Jaakko
Received on Tue Mar 24 2009 - 17:15:07 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:44 UTC