2016-09-26 15 views
9

Otrzymujemy ten błąd związany z AXIS2 1.7.3. Pracujemy z Tomcat8 z najnowszą wersją Java8.Błąd APR: -730054

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 

Błąd pojawia się losowo bez śladu stosu, który odnosi się do naszego kodu. Przeszukałem kody APR, ale nie miałem sensu interpretować tego błędu. Zawsze jest -730054. Czy ktoś może rzucić światło na to, co może oznaczać?

+0

Jakiekolwiek szczęście naprawiające ten błąd? Otrzymuję ten dokładny błąd APR przy użyciu IE11 z angularami, tomcat8 i aplikacją Spring Boot wdrożoną jako wojna (wiem, słoik, nie wojna). Zdarza się to w pozornie przypadkowych odstępach czasu podczas pobierania treści statycznej. Wydaje się, że nie ma to żadnego wpływu na aplikację; klient IE11/kątowy działa, a api/usługa również nie sprawia problemów. Widziałem gdzieś, że może się to zdarzyć, jeśli aplikacja odejdzie od bieżącego href/location, a jednocześnie pobiera zasoby, ale nie potwierdziłem, że to się dzieje właśnie dla mnie. – Pytry

+0

Jak dotąd tego nie naprawiłem, jedną rzeczą, którą zauważyłem było to, że znalazłem coś, co ma związek z 'brakiem pamięci '. – serge

Odpowiedz

3

Oto przekonujące wyjaśnienie, że nie można udowodnić:

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

Innymi słowy, reset połączenia Peer, więc klient spadła połączenia i tam nic, co można zrobić po stronie serwera.

+0

Sądzę, że zaakceptuję to, ponieważ nie ma lepszych odpowiedzi. Pytanie tylko, dlaczego tak się dzieje? I jak temu zapobiec? – serge

+1

Ten błąd pojawia się, gdy na przykład umiera komputer użytkownika lub połączenie internetowe. A może się nudzą i anulują w połowie operacji. Nie sądzę, że można temu zapobiec, a wszystko, co naprawdę możesz zrobić, to zrobić mały wpis w dzienniku na ten temat na serwerze i oczyścić zasoby. –

+0

To pasuje do mojego doświadczenia. Punkt końcowy WS zajął minutę, aby ukończyć kwerendę bazy danych, a do tego czasu klient (co zrozumiałe) przekroczył limit czasu. Znaleziono "java.io.IOException: APR error: -730054" w dzienniku, z naszego filtru granicy usług sieciowych. –

Powiązane problemy