Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 May 1999 19:53:11 +0200
From:      Pierre Beyssac <beyssac@enst.fr>
To:        Bob Willcox <bob@pmr.com>
Cc:        freebsd-bugs@freebsd.org, FreeBSD-gnats-submit@freebsd.org
Subject:   Re: kern/10872: Panic in sorecieve()
Message-ID:  <19990511195311.R427@enst.fr>
In-Reply-To: <19990511124117.A28606@luke.pmr.com>; from Bob Willcox on Tue, May 11, 1999 at 12:41:17PM -0500
References:  <19990511185956.A12679@enst.fr> <19990511124117.A28606@luke.pmr.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, May 11, 1999 at 12:41:17PM -0500, Bob Willcox wrote:
> fix).  The problem as I have seen it is that the mbuf chain pointer (m)
> is NULL and so_rcv.sb_cc is not zero.  Its as though somewhere either
> the mbuf chain pointer gets zapped with NULL or something fails to

This can happen when the system is out of mbufs. Sadly there are
many places in the kernel where the condition is not trapped at
all.

How many mbufs does netstat -m report on your system? Maybe I
couldn't reproduce it because my kernel is configured with maxusers
128, which yields more mbufs. You can try that as a temporary fix.

> properly update so_rcv.sb_cc as mbufs are processed.
> 
> I believe one can expand the KASSERT macro and rewrite the line:
> 	if (m == 0 && so->so_rcv.sb_cc != 0)

Oops, you're right. I stupidly looked at so_snd.sb_cc in the debug
output, which is 0.

I prefer that, it'll probably be easier to fix.
-- 
Pierre Beyssac		pb@enst.fr


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990511195311.R427>