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
this could be nasty.
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?
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.
Fixed in glibc-2.1.2-1 and later.