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);)
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.