axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Adria Cuadripani <acuad...@opentext.com>
Subject RE: java.io.IOException: An established connection was aborted by the software in your host machine
Date Mon, 24 Oct 2016 11:20:07 GMT
Upgraded to Axis2 1.7.3 and the issue is now fixed.
Thanks!

-----Original Message-----
From: robertlazarski . [mailto:robertlazarski@gmail.com] 
Sent: miércoles, 19 de octubre de 2016 18:27
To: java-dev@axis.apache.org
Subject: Re: java.io.IOException: An established connection was aborted by the software in
your host machine

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:14
> 13)
>
>                at
> org.apache.axis2.transport.http.ListingAgent.handleWSDLRequest(Listing
> Agent.java:327)
>
>                at
> org.apache.axis2.transport.http.ListingAgent.processListService(Listin
> gAgent.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(Appli
> cationFilterChain.java:292)
>
>                at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:207)
>
>                at
> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>
>                at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appli
> cationFilterChain.java:240)
>
>                at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFi
> lterChain.java:207)
>
>                at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVa
> lve.java:212)
>
>                at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextVa
> lve.java:106)
>
>                at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticat
> orBase.java:502)
>
>                at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.ja
> va:141)
>
>                at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.ja
> va:79)
>
>                at
> org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAcces
> sLogValve.java:616)
>
>                at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValv
> e.java:88)
>
>                at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java
> :528)
>
>                at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp1
> 1Processor.java:1100)
>
>                at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(A
> bstractProtocol.java:687)
>
>                at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoi
> nt.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(TaskThr
> ead.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:3
> 45)
>
>                at
> org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:320
> )
>
>                at
> org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStr
> eam.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(NioBlockingSelect
> or.java:101)
>
>                at
> org.apache.tomcat.util.net.NioSelectorPool.write(NioSelectorPool.java:
> 172)
>
>                at
> org.apache.coyote.http11.InternalNioOutputBuffer.writeToSocket(Interna
> lNioOutputBuffer.java:139)
>
>                at
> org.apache.coyote.http11.InternalNioOutputBuffer.flushBuffer(InternalN
> ioOutputBuffer.java:244)
>
>                at
> org.apache.coyote.http11.InternalNioOutputBuffer.addToBB(InternalNioOu
> tputBuffer.java:189)
>
>                at
> org.apache.coyote.http11.InternalNioOutputBuffer.access$000(InternalNi
> oOutputBuffer.java:41)
>
>                at
> org.apache.coyote.http11.InternalNioOutputBuffer$SocketOutputBuffer.do
> Write(InternalNioOutputBuffer.java:320)
>
>                at
> org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite(ChunkedOu
> tputFilter.java:116)
>
>                at
> org.apache.coyote.http11.AbstractOutputBuffer.doWrite(AbstractOutputBu
> ffer.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