Date: Thu, 14 Nov 1996 20:23:32 -0800 (PST) From: Archie Cobbs <archie@whistle.com> To: karl@Mcs.Net (Karl Denninger) Cc: current@freebsd.org Subject: Re: SERIOUS TCP problem in 3.0 and the new compiler Message-ID: <199611150423.UAA19805@bubba.whistle.com> In-Reply-To: <199611142350.RAA08015@Jupiter.Mcs.Net> from Karl Denninger at "Nov 14, 96 05:50:51 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
> I have uncovered a very serious problem in the new compiler and/or libraries > (at least, I think it is) in the -CURRENT branch. > > Unfortunately, I haven't been able to run it down as of yet. > > This is what happens: > > 1) Open a socket to a server, which forks off a copy of itself after > accepting the socket connection. > 2) Send LOTS (thousands) of transactions (a "transaction" is defined > as transmission of one packet of data with a known size and prefix, > the server end reads it, does something, and responds in some way > with data). > > At some point a few thousand transactions into the process, you "lose" one > of the responses. That is, the process which is doing the serving THINKS it > wrote a response, but the CLIENT never gets it! > > Since this is a lock-step protocol, and we're relying on TCP to do the > reliability part of data delivery, and no more than one request can ever be > outstanding in this protocol, you're screwed. The process locks up hard. > > If we recompile under gcc 2.6.3, even running with a 3.0 (-current) kernel, > the problem DOES NOT happen. If you compile under the current release (as > of 11/11 at least) it *DOES* -- reliably. Can you provide some sample code, ie., the smallest piece(s) of code that reproduce the problem? -Archie ___________________________________________________________________________ Archie Cobbs * Whistle Communications, Inc. * http://www.whistle.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611150423.UAA19805>