We are experiencing a very extrange problem with our app.
We have a very simple infraestructure consisting in a Frontend Java project and
a Axis2 web services project that is called from front end using clients.
All works well, but sometimes appears a java.io.IOException thrown by web
services project.
It can be on any request, but it seems to happen more frequently in fastest
transactions.
The exception is not causing any issues but can be confusing when we have to
deal with real problems and it appears in log files.
We are using "Axis2 1.6.2". We have updated to "1.6.4" but the issue persists.
The server is tomcat 8 and Java version is "1.8".
SEVERE: Servlet.service() for servlet [AxisServlet] in context with path
[/wsproject] threw exception
org.apache.axis2.AxisFault: java.io.IOException: An established connection was
aborted by the software in your host machine
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430)
at
org.apache.axis2.description.AxisService.getWSDL(AxisService.java:1653)
at
org.apache.axis2.description.AxisService.printWSDL(AxisService.java:1413)
at
org.apache.axis2.transport.http.ListingAgent.handleWSDLRequest(ListingAgent.java:327)
at
org.apache.axis2.transport.http.ListingAgent.processListService(ListingAgent.java:183)
at
org.apache.axis2.transport.http.AxisServlet.doGet(AxisServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528)
at
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1100)
at
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520)
at
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown
Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)
at
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
Caused by: org.apache.catalina.connector.ClientAbortException:
java.io.IOException: An established connection was aborted by the software in
your host machine
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:396)
at
org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:426)
at
org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:345)
at
org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:320)
at
org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:110)
at
org.apache.axis2.description.AxisService.getWSDL(AxisService.java:1651)
... 27 more
Caused by: java.io.IOException: An established connection was aborted by the
software in your host machine
at sun.nio.ch.SocketDispatcher.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(Unknown Source)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)
at sun.nio.ch.IOUtil.write(Unknown Source)
at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
at
org.apache.tomcat.util.net.NioChannel.write(NioChannel.java:124)
at
org.apache.tomcat.util.net.NioBlockingSelector.write(NioBlockingSelector.java:101)
at
org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:172)
at
org.apache.coyote.http11.InternalNioOutputBuffer.writeToSocket(InternalNioOutputBuffer.java:139)
at
org.apache.coyote.http11.InternalNioOutputBuffer.flushBuffer(InternalNioOutputBuffer.java:244)
at
org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOutputBuffer.java:189)
at
org.apache.coyote.http11.InternalNioOutputBuffer.access$000(InternalNioOutputBuffer.java:41)
at
org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.doWrite(InternalNioOutputBuffer.java:320)
at
org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOutputFilter.java:116)
at
org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBuffer.java:256)
at org.apache.coyote.Response.doWrite(Response.java:491)
at
org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:391)
... 32 more