[ grinder-Bugs-3202566 ] Premature EOF encountered
"SourceForge.net" <[email protected]> Sat, 4 Jun 2011 17:25:58 +0100
| Newsgroups | gmane.comp.java.grinder.devel |
|---|---|
| Message-ID | <[email protected]> |
Bugs item #3202566, was opened at 2011-03-08 04:31 Message generated for change (Comment added) made by philipa You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=118598&aid=3202566&group_id=18598 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: HTTP Plugin Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: James Farrier (jamesfarrier) Assigned to: Philip Aston (philipa) Summary: Premature EOF encountered Initial Comment: I realize there are atleast two other of these issues detailed here. My one however follows a different parttern. I don't receive the following:HTTPClient.StreamDemultiplexor.retry_requests(StreamDemultiplexor.java:5 26) Instead my stack trace looks like this: 8/03/11 3:03:29 AM (thread 6 run 0 test 302): Aborted run due to Java exception calling TestRunner Java exception calling TestRunner File "C:\grinder\.\WorkbookS2.py", line 477, in page3 File "C:\grinder\.\WorkbookS2.py", line 894, in __call__ File "c:\grinder\grinder.py", line 27, in __call__ Caused by: java.io.EOFException: Premature EOF encountered at HTTPClient.StreamDemultiplexor.read(StreamDemultiplexor.java:300) at HTTPClient.RespInputStream.read(RespInputStream.java:155) at HTTPClient.HTTPResponse.readResponseData(HTTPResponse.java:1011) at HTTPClient.HTTPResponse.getData(HTTPResponse.java:515) Does anyone know what might have cause this exception to be thrown? ---------------------------------------------------------------------- >Comment By: Philip Aston (philipa) Date: 2011-06-04 17:25 Message: [Discussion from grinder-development list]. Steven, The stack traces in your attachment indicate a "Premature EOF" during a different part of the HTTP protocol to your original report. Consequently, the diagnostic patch does not add any useful information. However, together with the low level of similar reports, this second symptom makes me confident that the problem is not due to a bug in the HTTPClient library used by The Grinder. Rather, there is something "upstream" from The Grinder that is occasionally terminating HTTP connections. This might be anything, e.g. the server process, something in the network, the client or server O/S, firewall, ... Interestingly, HTTP allows for two different ways to specify the number of bytes in a response body. The first is for the server to provide the length up-front in the response header. This was happening in your original scenario, and the error was occurring because the server said it was going to deliver X bytes, but the connection was closed before The Grinder had received that many. To support scenarios where the server doesn't know how many bytes its going to send (useful because it avoids the need to buffer large responses, for example) HTTP 1.1 added another way: "chunked transfer". In this case, the response is made up of several parts, with the server saying "Here's a chunk of X bytes, [data follows], here's a chunk of Y bytes, [data], ..., we're done". In your second scenario, the connection is closed when The Grinder is expecting a new chunk. I know this doesn't help too much with your testing. I'll add this discussion, and your attachment to the bug. Please continue discussion there. (To add an attachment, first log in, then use the "Add a file" link. Its a little hard to see, but its there). - Phil On 30/05/11 18:32, Steven Swart wrote: > Hi Philip! > > With reference to the following bug: > > https://sourceforge.net/tracker/?func=detail&atid=118598&aid=3202566&group_id=18598 > > I have encountered a similar problem on my test run > today. I was running one agent with a hundred worker > threads against my application. I hit the 'Premature > EOF encountered' error again. My test did not complete, > I aborted it as soon as I encountered the errors. Please > see attached file for details. It contains the std err output > from that patch you uploaded, my Grinder test script, > and the complete output logs etc from my agent. > > Here is the id string for my webserver: > > Apache/2.0.63 (Unix) DAV/2 mod_perl/2.0.0 Perl/v5.8.4 Server at > www.test.lan Port 80 > > We are also using FastCGI. > > Sorry for posting this here, but I was unable to figure > out how to upload an attachment to this bug. > > I hope this helps... > > Regards, > S. ---------------------------------------------------------------------- Comment By: Steven Swart (stevenswart) Date: 2011-05-03 16:38 Message: Hi Philip! I have spent most of the day trying to reproduce this error. Unfortunately the server against which my tests were originally triggering this error has been decommissioned, and I don't have access to software version information. I have run the distributed version of grinder.jar against our software on all of our servers which run Apache, which include a FreeBSD 8 box, a Centos 5 box and a Solaris 10 box. None of these tests reproduced the exception. I didn't even get a chance to try the patch, there was no point. I will keep an eye out and if I ever encounter this error again, I will apply the patch and attach the resultant logs to this issue. Sorry I couldn't be more help! ---------------------------------------------------------------------- Comment By: Philip Aston (philipa) Date: 2011-03-21 21:17 Message: Patch attached - please use it to diagnose in conjunction with an HTTP trace (perhaps taken using the tcpproxy) to determine whether the server is sending the correct content length. ---------------------------------------------------------------------- Comment By: Philip Aston (philipa) Date: 2011-03-21 19:33 Message: This code path occurs if the server has returned a response with a Content-Length header, and then proceeded to close the response stream before fully transmitting a body of the specified number of bytes. I suspect that this is a server issue, rather than a problem with The Grinder or the HTTPClient library. I'll produce a debug patch to allow us to diagnose this a little further. ---------------------------------------------------------------------- Comment By: Philip Aston (philipa) Date: 2011-03-21 19:29 Message: Bug 3206627 has duplicate symptoms. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=118598&aid=3202566&group_id=18598 ------------------------------------------------------------------------------ Simplify data backup and recovery for your virtual environment with vRanger. Installation's a snap, and flexible recovery options mean your data is safe, secure and there when you need it. Discover what all the cheering's about. Get your free trial download today. http://p.sf.net/sfu/quest-dev2dev2