From: Stephen D. <sd...@gm...> - 2006-03-01 20:19:55
|
>On 2/28/06, Stephen Deasey <sd...@gm...> wrote: >> Looks like the maxinput setting which is supposed to limit the max >> size of a file upload is not being honoured. That's potentially >> nasty... >> >> With the spooler threads disabled, test http-4.5 just fails. It >> returns 200 OK and the content where as it should return 413 Request >> Entity Too Big. >> >> With the spooler threads enabled, the test hangs. Sometimes... It >> was doing this occasionally, now it does it consistently for me. >> Once, it did hang just prior to this test beginning to run. >> >> Something racy going on there... > > > > Modified Files: > ChangeLog > Log Message: > Fixed error reporting during > request parsing, now server returns 414/400 return codes and honors > maxinput/maxheaders parameters. Test http-4.5 does not hang actually > but with sndbuf/rcvbug set to so small values it takes very logn time to > read the request, by putting Ns_Log in SockRead i was seeing reading by > 64/192 bytes but the server was operational. I don't think that's the case. Test http-4.4 is almost exactly the same as http-4.5 except it sends 1000001 bytes instead of 1000003 and it takes only a second to run. Experimenting further, if I drop the snd/rcv buffer sizes from 9 to 8, the test no longer stalls. Increasing the buffer sizes to 16, 32, 64, 128, 256, 512, 1024 and 2048 the test still stalls. So this is clearly not an issue of small buffers taking a long time to fill. 4096 seems to work. Running top while the server is stalled shows that nsd is not buzzing the processor. The server will run another request while the current one is stalled. I can also get the stalling to go away by disabling the spooler threads, even with the odd buffer sizes. Remember, occasionally this works for me if I run the test suite enough times. This suggests that there is a locking or socket timeout race or, there's more than one bug interacting... |