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. -- JaakkoReceived 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