ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error [duplicate]
Asked Answered
B

4

24

I am getting the following error frequently while retrieving file object from database column. How can I resolve this problem?

May 8, 2009 3:18:14 PM org.apache.catalina.core.StandardHostValve status
  WARNING: Exception Processing ErrorPage[errorCode=404, location=/error.jsp]
  ClientAbortException:  java.net.SocketException: Connection reset by peer: socket write error
  at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:327)
  at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:293)
  at org.apache.catalina.connector.Response.flushBuffer(Response.java:537)
  at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:286)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
  at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
  at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
  at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)        
  at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
  at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
  at java.lang.Thread.run(Unknown Source)

Caused by: java.net.SocketException: Connection reset by peer: socket write error
  at java.net.SocketOutputStream.socketWrite0(Native Method)
  at java.net.SocketOutputStream.socketWrite(Unknown Source)
  at java.net.SocketOutputStream.write(Unknown Source)
  at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:746)
  at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:433)
  at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:304)
  at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:991)
  at org.apache.coyote.Response.action(Response.java:182)
  at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:322)
  ... 13 more
Burchell answered 8/5, 2009 at 10:58 Comment(2)
Do you actually see an actual problem, or do you just get these messages in your logging?Aelber
This question is about an exception for a servlet. For a similar question for a client see #34673836Bartels
C
40

Your HTTP client disconnected.

This could have a couple of reasons:

  • Responding to the request took too long, the client gave up
  • You responded with something the client did not understand
  • The end-user actually cancelled the request
  • A network error occurred
  • ... probably more

You can fairly easily emulate the behavior:

URL url = new URL("http://example.com/path/to/the/file");

int numberOfBytesToRead = 200;

byte[] buffer = new byte[numberOfBytesToRead];
int numberOfBytesRead = url.openStream().read(buffer);
Corwun answered 8/5, 2009 at 11:8 Comment(1)
IMO, the most likely item from your list is "The end-user actually cancelled the request". Bloody users, always causing trouble :-PHix
H
10

Your log indicates ClientAbortException, which occurs when your HTTP client drops the connection with the server and this happened before server could close the server socket Connection.

Hankhanke answered 12/6, 2013 at 7:9 Comment(0)
T
2

I have got this error on open page from Google Cache.

I think, cached page(client) disconnecting on page loading.

You can ignore this error log with try-catch on filter.

Theriault answered 12/5, 2015 at 22:40 Comment(0)
D
-2

Windows Firewall could cause this exception, try to disable it or add a rule for port or even program (java)

Dominoes answered 14/11, 2014 at 13:8 Comment(4)
Windows Firewall would have prevented the connection completely if that was the problem.Moureaux
"prevent" in a what way? It's an obvious that you will get exception (to my mind java.net.SocketException) when your program will try to open connection, the question is here what the message you will see... In fact I fixed the one with "Connection reset by peer: socket write error" by introducing new rule in a windows firewall.Dominoes
@Dominoes "Prevent" as in not let the server accept the client's connection in the first place.Endogamy
A firewall might sever the connection as a result of disliking the deep packet inspection results.Avaunt

© 2022 - 2024 — McMap. All rights reserved.