Uploaded image for project: 'CXF'
  1. CXF
  2. CXF-4406

"Couldn't parse stream" while receiving message when service provider is under load

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Not A Problem
    • 2.5.2
    • None
    • JAX-WS Runtime, Transports
    • None
    • Linux 2.6.18-274.el5
      java version "1.6.0_27"
      Java(TM) SE Runtime Environment (build 1.6.0_27-b07)
      Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06, mixed mode)

    • Unknown

    Description

      I have a web application which runs on Tomcat web container. Application provides couple of web services. I am getting the following exception around 20 times in an hour, when server is under load, (couple of requests a second).

      My CXF configuration is:

      <jaxws:endpoint
              id="ds"
              implementor="lt.company.ServiceImpl"
              wsdlLocation="WEB-INF/wsdl/main.wsdl"
              address="/service">        
      
              <jaxws:invoker>
                  <bean class="org.apache.cxf.jaxws.JAXWSMethodInvoker">
                      <constructor-arg>
                          <bean class="org.apache.cxf.service.invoker.PooledFactory">
                              <constructor-arg value="lt.company.ServiceImpl" />
                              <constructor-arg value="10" />
                          </bean>
                      </constructor-arg>
                  </bean>
              </jaxws:invoker>
      
          </jaxws:endpoint>
      

      Increasing pool size to 50 helped a bit, but not significantly.

      I am using these cxf libraries:

      <dependency>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-rt-frontend-jaxws</artifactId>
          <version>2.5.2</version>
      </dependency>
      <dependency>
          <groupId>org.apache.cxf</groupId>
          <artifactId>cxf-rt-transports-http</artifactId>
          <version>2.5.2</version>
      </dependency>
      
      java.lang.RuntimeException: Couldn't parse stream.
              at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1181)
              at org.apache.cxf.interceptor.StaxInInterceptor.handleMessage(StaxInInterceptor.java:104)
              at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
              at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:123)
              at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:207)
              at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:213)
              at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:193)
              at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:126)
              at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:185)
              at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:108)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
              at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:164)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
              at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
              at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:471)
              at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:402)
              at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:329)
              at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213)
              at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171)
              at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
              at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
              at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
              at com.mulesoft.tcat.monitoring.tomcat.Tomcat55AgentValve.invoke(Tomcat55AgentValve.java:20)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
              at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
              at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
              at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539)
              at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:298)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: com.ctc.wstx.exc.WstxIOException: Stream closed
              at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:536)
              at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:585)
              at com.ctc.wstx.stax.WstxInputFactory.createSR(WstxInputFactory.java:610)
              at com.ctc.wstx.stax.WstxInputFactory.createXMLStreamReader(WstxInputFactory.java:316)
              at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1179)
              ... 39 more
      Caused by: java.io.IOException: Stream closed
              at org.apache.catalina.connector.InputBuffer.read(InputBuffer.java:312)
              at org.apache.catalina.connector.CoyoteInputStream.read(CoyoteInputStream.java:200)
              at java.io.FilterInputStream.read(FilterInputStream.java:116)
              at com.ctc.wstx.io.BaseReader.readBytes(BaseReader.java:155)
              at com.ctc.wstx.io.UTF8Reader.loadMore(UTF8Reader.java:368)
              at com.ctc.wstx.io.UTF8Reader.read(UTF8Reader.java:111)
              at com.ctc.wstx.io.ReaderBootstrapper.initialLoad(ReaderBootstrapper.java:250)
              at com.ctc.wstx.io.ReaderBootstrapper.bootstrapInput(ReaderBootstrapper.java:133)
              at com.ctc.wstx.stax.WstxInputFactory.doCreateSR(WstxInputFactory.java:531)
              ... 43 more
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            mmartynas Martynas
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: