APR error: -730054

serge picture serge · Sep 26, 2016 · Viewed 7.8k times · Source

We are getting this error related to AXIS2 1.7.3. We are running Tomcat8 with the latest Java8.

java.io.IOException: APR error: -730054
org.apache.axis2.AxisFault: java.io.IOException: APR error: -730054 
      at org.apache.axis2.AxisFault.makeFault(AxisFault.java:430) 
      at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:78) 
      at org.apache.axis2.transport.http.CommonsHTTPTransportSender.sendUsingOutputStream(CommonsHTTPTransportSender.java:365) 
      at org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke(CommonsHTTPTransportSender.java:244) 
      at org.apache.axis2.engine.AxisEngine.sendFault(AxisEngine.java:514) 
      at org.apache.axis2.transport.http.AxisServlet.handleFault(AxisServlet.java:450) 
      at org.apache.axis2.transport.http.AxisServlet.processAxisFault(AxisServlet.java:415) 
      at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:205) 
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291) 
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      at ad.common.GZipServletFilter.doFilter(GZipServletFilter.java:53) 
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) 
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
      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:521) 
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1096) 
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:674) 
      at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2500) 
      at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2489) 
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
      at java.lang.Thread.run(Thread.java:745) 
Caused by: com.ctc.wstx.exc.WstxIOException: java.io.IOException: APR error: -730054 
      at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:261) 
      at org.apache.axiom.util.stax.wrapper.XMLStreamWriterWrapper.flush(XMLStreamWriterWrapper.java:50) 
      at org.apache.axiom.om.impl.MTOMXMLStreamWriter.flush(MTOMXMLStreamWriter.java:231) 
      at org.apache.axiom.om.impl.MTOMXMLStreamWriter.close(MTOMXMLStreamWriter.java:223) 
      at org.apache.axiom.om.impl.common.AxiomContainerSupport.ajc$interMethod$org_apache_axiom_om_impl_common_AxiomContainerSupport$org_apache_axiom_om_impl_intf_AxiomContainer$serializeAndConsume(AxiomContainerSupport.aj:324) 
      at org.apache.axiom.om.impl.llom.OMElementImpl.serializeAndConsume(OMElementImpl.java:1) 
      at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOAPMessageFormatter.java:74) ... 32 more 
Caused by: org.apache.catalina.connector.ClientAbortException: java.io.IOException: APR error: -730054 
      at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:353) 
      at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:317) 
      at org.apache.catalina.connector.CoyoteOutputStream.flush(CoyoteOutputStream.java:110) 
      at com.ctc.wstx.io.UTF8Writer.flush(UTF8Writer.java:103) 
      at com.ctc.wstx.sw.BufferingXmlWriter.flush(BufferingXmlWriter.java:225) 
      at com.ctc.wstx.sw.BaseStreamWriter.flush(BaseStreamWriter.java:259) ... 38 more 
Caused by: java.io.IOException: APR error: -730054 
      at org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:291) 
      at org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:244) 
      at org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:213) 
      at org.apache.coyote.http11.AbstractOutputBuffer.flush(AbstractOutputBuffer.java:305) 
      at org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:765) 
      at org.apache.coyote.Response.action(Response.java:177) 
      at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:349) ... 43 more 

The error appears randomly with no stack trace that relates to our code. I googled the APR codes but could not make sense on how to interpret this error accordingly. It is always -730054. Can anyone shed the light on what it could possibly mean?

Answer

Ed Norris picture Ed Norris · Feb 1, 2017

Here's a compelling explanation that I cannot prove:

730054 = 720000 (Tomcat APR_OS_START_SYSERR) + 10054 (WSAECONNRESET)

In other words, connection reset by peer, so the client dropped the connection and there's nothing to do on the server side about it.