I get these errors frequently in my restlet server log. I'm running restlet 2.0-RC04 as a standalone process. I consume the web services with Apache HTTP client 3.1.
It seems to be related with serving "relatively" large pages (it seems to get more frequent). At the HTTP client side, sometimes the HTTP responses are missing data bytes (part of the response bytes are missing, sometimes part of the headers, other times part of the XHTML responses - it is not a data truncation, the bytes missing are bytes in-between the response) (see below). I haven't yet been able to establish a correlation between these errors, since these happen at a customer site and I have not been able to reproduce them in my development environment, even connecting to the customer's server. Any hints as to where to start? -------------------------------- Trace (server): INFO: 2010-10-27 09:34:51 192.168.1.4 pinsos - 8182 GET /v1/docs/ - 200 65129 - 40 http://192.168.1.1:8182 Jakarta Commons-HttpClient/3.0.1 - 27-oct-2010 9:34:51 org.restlet.engine.http.adapter.ServerAdapter commit GRAVE: An exception occured writing the response entity java.io.IOException: Unable to write to the non-blocking channel. Error sending response at org.restlet.engine.io.NbChannelOutputStream.doWrite(NbChannelOutputStream.java:132) at org.restlet.engine.io.NbChannelOutputStream.write(NbChannelOutputStream.java:153) at org.restlet.engine.io.BioUtils.copy(BioUtils.java:80) at org.restlet.representation.CharacterRepresentation.write(CharacterRepresentation.java:71) at org.restlet.representation.CharacterRepresentation.write(CharacterRepresentation.java:77) at org.restlet.engine.http.ServerCall.writeResponseBody(ServerCall.java:500) at org.restlet.engine.http.ServerCall.sendResponse(ServerCall.java:439) at org.restlet.engine.http.adapter.ServerAdapter.commit(ServerAdapter.java:198) at org.restlet.engine.http.HttpServerHelper.handle(HttpServerHelper.java:151) at org.restlet.ext.simple.internal.SimpleContainer.handle(SimpleContainer.java:77) at org.simpleframework.http.core.Dispatcher.dispatch(Dispatcher.java:107) at org.simpleframework.http.core.Dispatcher.run(Dispatcher.java:90) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) ---------------------------------------------- Client exception: Caused by: org.apache.commons.httpclient.ProtocolException: Unable to parse status code from status line: 'HTTP/1.141Uatoie Content-Type:tx/tl hre=T- Conncin epai WWW-uhniae ai el=Praim"' at org.apache.commons.httpclient.StatusLine.<init>(StatusLine.java:117) at org.apache.commons.httpclient.HttpMethodBase.readStatusLine(HttpMethodBase.java:1853) at org.apache.commons.httpclient.HttpMethodBase.readResponse(HttpMethodBase.java:1590) at org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:995) at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:397) at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:170) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:396) at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:324) at es.isigma.portasigma.client.lib.WebServiceClient.execute(WebServiceClient.java:253) at es.isigma.portasigma.client.lib.WebServiceClient.executeAndParse(WebServiceClient.java:238) at es.isigma.portasigma.client.lib.WebServiceClient.uploadDocument(WebServiceClient.java:157) at es.isigma.portasigma.client.Uploader.upload(Uploader.java:173) ... 3 more -- View this message in context: http://restlet-discuss.1400322.n2.nabble.com/Data-loss-between-HTTP-client-and-restlet-server-errors-writing-to-non-blocking-channel-tp5720451p5720451.html Sent from the Restlet Discuss mailing list archive at Nabble.com. ------------------------------------------------------ http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2680426

