Date: Tue, 14 Nov 2006 16:38:42 +0100 From: Kai Gallasch <gallasch@free.de> To: Robert Watson <rwatson@FreeBSD.org> Cc: freebsd-bugs@FreeBSD.org Subject: Re: kern/104765: kernel panic 6.2 prerelease-20061017 amd64 Message-ID: <4559E302.7020504@free.de> In-Reply-To: <200611141012.kAEACM0o030094@freefall.freebsd.org> References: <200611141012.kAEACM0o030094@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Robert Watson wrote:
> Synopsis: kernel panic 6.2 prerelease-20061017 amd64
>
> Responsible-Changed-From-To: freebsd-bugs->rwatson
> Responsible-Changed-By: rwatson
> Responsible-Changed-When: Tue Nov 14 10:05:50 UTC 2006
> Responsible-Changed-Why:
> Claim ownership, since I've been looking at issues similar or identical
> to this. Some questions:
>
> (1) Could you let me know what versions of ip_output.c and tcp_usrreq.c
> you're running with?
/usr/src/sys/netinet/ip_output.c
* @(#)ip_output.c 8.3 (Berkeley) 1/21/94
* $FreeBSD: src/sys/netinet/ip_output.c,v 1.242.2.16 2006/10/24 13:23:03
rwatson Exp $
/usr/src/sys/netinet/tcp_usrreq.c
* From: @(#)tcp_usrreq.c 8.2 (Berkeley) 1/3/94
* $FreeBSD: src/sys/netinet/tcp_usrreq.c,v 1.124.2.3 2006/09/27 09:24:44
mux Exp $
>
> (2) Could you try the most recent patch attached to PR 102412? This is
> a patch to ip_ctloutput(). I've attached it below, but the chances
> are good that GNATS will mangle the patch.
ok, I will apply the patch and rebuild.
# cat /boot/loader.conf
debug.mpsafenet=0
If I recompile and reboot - Should I set debug.mpsafenet=1 ?(which is
its default value) Since I set this value to 0 the server didn't crash
and reached 10 days uptime.
>
> Index: ip_output.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/netinet/ip_output.c,v
> retrieving revision 1.242.2.16
> diff -u -r1.242.2.16 ip_output.c
> --- ip_output.c 24 Oct 2006 13:23:03 -0000 1.242.2.16
> +++ ip_output.c 26 Oct 2006 18:20:55 -0000
> @@ -1155,6 +1155,7 @@
> struct sockopt *sopt;
> {
> struct inpcb *inp = sotoinpcb(so);
> + struct inpcbinfo *pcbinfo = inp->inp_pcbinfo;
> int error, optval;
>
> error = optval = 0;
> @@ -1190,12 +1191,15 @@
> m_free(m);
> break;
> }
> + INP_INFO_WLOCK(pcbinfo);
> if (so->so_pcb == NULL) {
> + INP_INFO_WUNLOCK(pcbinfo);
> m_free(m);
> error = EINVAL;
> break;
> }
> INP_LOCK(inp);
> + INP_INFO_WUNLOCK(pcbinfo);
> error = ip_pcbopts(inp, sopt->sopt_name, m);
> INP_UNLOCK(inp);
> return (error);
>
>
> http://www.freebsd.org/cgi/query-pr.cgi?pr=104765
> _______________________________________________
> freebsd-bugs@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-bugs
> To unsubscribe, send any mail to "freebsd-bugs-unsubscribe@freebsd.org"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4559E302.7020504>
