Date: Thu, 29 Dec 2011 11:12:59 -0500 From: John Baldwin <jhb@freebsd.org> To: =?windows-1251?b?yu7t/Oru4iDF4uPl7ejp?= <kes-kes@yandex.ru> Cc: Andre Oppermann <andre@freebsd.org>, freebsd-net@freebsd.org, Pawel Jakub Dawidek <pjd@freebsd.org>, freebsd-current@freebsd.org, Kostik Belousov <kostikbel@gmail.com>, Lawrence Stewart <lstewart@freebsd.org> Subject: Re: 9.0-RC1 panic in tcp_input: negative winow. Message-ID: <201112291112.59912.jhb@freebsd.org> In-Reply-To: <1632420869.20111225180133@yandex.ru> References: <20111022084931.GD1697@garage.freebsd.pl> <201112200952.44690.jhb@freebsd.org> <1632420869.20111225180133@yandex.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sunday, December 25, 2011 11:01:33 am Коньков Евгений wrote: > Здравствуйте, John. > > Вы писали 20 декабря 2011 г., 16:52:44: > > JB> On Saturday, December 17, 2011 6:21:27 pm Pawel Jakub Dawidek wrote: > >> On Mon, Dec 12, 2011 at 11:00:23AM -0500, John Baldwin wrote: > >> > An update. I've sent Pawel a testing patch to see if my hypothesis is correct > >> > (www.freebsd.org/~jhb/patches/tcp_negwin_test.patch). If it is then I intend > >> > to commit www.freebsd.org/~jhb/patches/tcp_negwin2.patch as the fix. > >> > >> Unfortunately it paniced today. Take a look at: > >> > >> http://people.freebsd.org/~pjd/misc/tcp_panic.jpg > > JB> Ok, the one use case I was worried about is happening regularly before your > JB> panic, so that is good. Can you use gdb to figure out which call to > JB> tcp_output() is actually panic'ing? I wonder if it is this case: > > JB> /* > JB> * Return any desired output. > JB> */ > JB> if (needoutput || (tp->t_flags & TF_ACKNOW)) { > JB> (void) tcp_output(tp); > JB> /* XXX: Debug */ > JB> KASSERT(SEQ_GEQ(tp->rcv_adv, tp->rcv_nxt), > JB> ("tcp_input: negative window after ACK")); > > JB> And if 'needoutput' is true, but TF_ACKNOW is not set, and tcp_output() decides > JB> to not do anything. I've updated tcp_negwin_test.patch to not panic if that call > JB> to tcp_output() doesn't actually send a packet. Please re-test. > > > # uname -a > FreeBSD meta-up 9.0-PRERELEASE FreeBSD 9.0-PRERELEASE #4: Sat Dec 24 13:59:20 EET 2011 @:/usr/obj/usr/src/sys/KES_KERN_v10 i386 > > rebooting once per day. Now I compile kernel with debug options. > Can you advice me which and where I find debug info when it will > reboting next time? so I can help to debug problem Are you using the patch at the URL above (tcp_negwin_test.patch)? If not, can you try applying that patch and seeing if you still get any panics? -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112291112.59912.jhb>
