From owner-freebsd-hackers Fri Nov 15 14:24:11 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id OAA21651 for hackers-outgoing; Fri, 15 Nov 1996 14:24:11 -0800 (PST) Received: from phaeton.artisoft.com (phaeton.Artisoft.COM [198.17.250.211]) by freefall.freebsd.org (8.7.5/8.7.3) with SMTP id OAA21611 for ; Fri, 15 Nov 1996 14:24:00 -0800 (PST) Received: (from terry@localhost) by phaeton.artisoft.com (8.6.11/8.6.9) id PAA27148; Fri, 15 Nov 1996 15:09:53 -0700 From: Terry Lambert Message-Id: <199611152209.PAA27148@phaeton.artisoft.com> Subject: Re: Sockets question... To: karl@Mcs.Net (Karl Denninger) Date: Fri, 15 Nov 1996 15:09:53 -0700 (MST) Cc: terry@lambert.org, fenner@parc.xerox.com, scrappy@ki.net, jdp@polstra.com, hackers@freebsd.org In-Reply-To: <199611152146.PAA10779@Jupiter.Mcs.Net> from "Karl Denninger" at Nov 15, 96 03:46:43 pm X-Mailer: ELM [version 2.4 PL24] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > No, Karl is doing this: > > 1) The *writer* is writing records of variable size with a prefix to > indicate how many byte(s) follow. > > 2) The writer does this ASSUMING that all of the records will get > delivered to the reader. > > 3) When the writer is done, he writes a "no more records follow" > flag record. > > 4) All of those writes return with no errors. > > 5) The READER gets about 2700 of the records (out of 8500!) and NEVER > SEES ANY MORE DATA. It hangs in read()! > > This does NOT happen with the 2.6.3 development kit and libraries. It > RELIABLY happens with -current. Is the data in #1 getting to the wire? Who is losing the data, the writer or the reader? If the reader, is it because of a buffer overflow? If so, is the reader acking for packets it does not agregate into the processes read buffer, or is the writer pretending he got ack's? What if the reader is 2.6.3 and the writer is -current? What if the situation is reversed? We need to localize the problem to the client or the server (if possible), and then localize the problem further to the kernel interface at which it is occurring. Terry Lambert terry@lambert.org --- Any opinions in this posting are my own and not those of my present or previous employers.