axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "robertlazarski ." <robertlazar...@gmail.com>
Subject Re: java.io.IOException: An established connection was aborted by the software in your host machine
Date Wed, 19 Oct 2016 16:27:06 GMT
On Wed, Oct 19, 2016 at 12:56 PM, Alex Adria Cuadripani
<acuadrip@opentext.com> wrote:
> 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

Looks like the client side is timing out, I would add some more
logging to monitor and create metrics on the client side. I would
expect to see a consistent time elapsed period on the error.

You don't mention the OS on the client side, but there could be an
open socket limit allowed by the client. I would look at the amount of
open sockets in CLOSE_WAIT state when this error occurs.

Lastly, I would also upgrade to Axis2 1.7.3 .

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message