From owner-freebsd-bugs@FreeBSD.ORG Fri Feb 2 16:00:37 2007 Return-Path: X-Original-To: freebsd-bugs@freebsd.org Delivered-To: freebsd-bugs@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 8265116A40D; Fri, 2 Feb 2007 16:00:37 +0000 (UTC) (envelope-from david.baukus@us.fujitsu.com) Received: from fncnmp03.fnc.fujitsu.com (fncnmp03.fnc.fujitsu.com [168.127.0.56]) by mx1.freebsd.org (Postfix) with ESMTP id AE6D213C481; Fri, 2 Feb 2007 16:00:36 +0000 (UTC) (envelope-from david.baukus@us.fujitsu.com) Received: from unknown (HELO equinox.tx.fnc.fujitsu.com) ([167.254.252.122]) by fncnmp03.fnc.fujitsu.com with ESMTP; 02 Feb 2007 09:30:25 -0600 X-IronPort-AV: i="4.13,273,1167631200"; d="scan'208"; a="89249253:sNHT72251130" Received: from nomad.tx.fnc.fujitsu.com (localhost [127.0.0.1]) by equinox.tx.fnc.fujitsu.com (8.13.7+Sun/8.13.7) with ESMTP id l12FUONG013718; Fri, 2 Feb 2007 09:30:24 -0600 (CST) Received: from tdd2172.tddeng00.fnts.com (tdd2172.tddeng00.fnts.com [167.254.250.128]) by nomad.tx.fnc.fujitsu.com (8.13.7+Sun/8.13.7) with ESMTP id l12FUFLg024120; Fri, 2 Feb 2007 09:30:24 -0600 (CST) Received: from [127.0.0.1] (localhost [127.0.0.1]) by tdd2172.tddeng00.fnts.com (8.11.7p3+Sun/8.11.7) with ESMTP id l12FUEG13709; Fri, 2 Feb 2007 09:30:15 -0600 (CST) Message-ID: <45C35906.2070205@us.fujitsu.com> Date: Fri, 02 Feb 2007 09:30:14 -0600 From: Dave Baukus User-Agent: Mozilla Thunderbird 1.0 (X11/20041208) X-Accept-Language: en-us, en MIME-Version: 1.0 To: FreeBSD-gnats-submit@freebsd.org, freebsd-bugs@freebsd.org References: <200702012340.l11NeIQF035193@freefall.freebsd.org> In-Reply-To: <200702012340.l11NeIQF035193@freefall.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Subject: Re: kern/108670: TCP connection ETIMEDOUT X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 02 Feb 2007 16:00:37 -0000 I realized, late last night, that I was wrong on a few details concerning this bug: 1.) The retransmit timer does not keep popping on without being restarted. 2.) ip_output() must return ENOBUFS (TCP_MAXRXTSHIFT + 1) times to the same, non-transmitting TCP. 3.) Given a TCP as described below, when tcp_output() uses ENOBUFS to blindly start the retransmit timer then tp->t_rxtshift will be falsely incremented and never cleared. Thus the bug manifests itself because it appears for a TCP that never transmits nobody ever clears clears tp->t_rxtshift; this allows tp->t_rxtshift to slowly count up to TCP_MAXRXTSHIFT; once TCP_MAXRXTSHIFT is exceeded tcp_timer_rexmt() will kill the poor innocent TCP. On 02/01/07 17:40, FreeBSD-gnats-submit@FreeBSD.org wrote: > Thank you very much for your problem report. > It has the internal identification `kern/108670'. > The individual assigned to look at your > report is: freebsd-bugs. > > You can access the state of your problem report at any time > via this link: > > http://www.freebsd.org/cgi/query-pr.cgi?pr=108670 > > >>Category: kern >>Responsible: freebsd-bugs >>Synopsis: TCP connection ETIMEDOUT >>Arrival-Date: Thu Feb 01 23:40:18 GMT 2007 > > -- Dave Baukus david.baukus@us.fujitsu.com 972-479-2491 Fujitsu Network Communications Richardson, Texas USA