Bug 1900

Summary: RPC servers freeze in competetive TCP calls containing large data
Product: [Retired] Red Hat Linux Reporter: olli.saarela
Component: glibcAssignee: Cristian Gafton <gafton>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 5.2CC: olli.saarela
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 1999-07-28 05:16:45 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description olli.saarela 1999-03-31 08:08:41 UTC
Function readtcp() in sunrpc/svc_tcp.c has recently(?) been
optimized for situations with competetive client calls. This
optimization fails when the clients send large data items to
the client. ("Large" probably meaning data which RPC has
split to several read() blocks, in our case, a struct with
arrays of several thousand double elements).

When readtcp() is reverted back to the old version,
everything works well again. (= call to svc_getreqset() is
removed and readfds=svc_fdset; is replaced by
FD_ZERO(&readfds);)

Comment 1 Preston Brown 1999-03-31 22:50:59 UTC
this could be nasty.

Comment 2 Cristian Gafton 1999-07-09 22:21:59 UTC
Is this bug still valid?
Can we have a test case for the failure?

For now, "it works for me". The glibc-2.1.2-1 package that will be
available from rawhide shortly does include a number of RPC fixed. Can
you also test that?

Comment 3 olli.saarela 1999-07-19 07:51:59 UTC
The glibc-2.1.2-1 package has fixed this bug. I wrote a test case (5
files, 10 kB), and can provide it to anyone interested.

I don't want to "Reopen bug", but there is no way to unchek it from
the radio button below.

Comment 4 Cristian Gafton 1999-07-28 05:16:59 UTC
Fixed in glibc-2.1.2-1 and later.