Date: Fri, 15 Nov 1996 15:09:53 -0700 (MST) From: Terry Lambert <terry@lambert.org> To: karl@Mcs.Net (Karl Denninger) Cc: terry@lambert.org, fenner@parc.xerox.com, scrappy@ki.net, jdp@polstra.com, hackers@freebsd.org Subject: Re: Sockets question... Message-ID: <199611152209.PAA27148@phaeton.artisoft.com> In-Reply-To: <199611152146.PAA10779@Jupiter.Mcs.Net> from "Karl Denninger" at Nov 15, 96 03:46:43 pm
next in thread | previous in thread | raw e-mail | index | archive | help
> 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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611152209.PAA27148>