You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Martynas (JIRA)" <ji...@apache.org> on 2012/07/11 16:36:34 UTC

[jira] [Closed] (CXF-4406) "Couldn't parse stream" while receiving message when service provider is under load

     [ https://issues.apache.org/jira/browse/CXF-4406?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martynas closed CXF-4406.
-------------------------

    Resolution: Not A Problem

It was an already solved bug of another library (Restlet).
                
> "Couldn't parse stream" while receiving message when service provider is under load
> -----------------------------------------------------------------------------------
>
>                 Key: CXF-4406
>                 URL: https://issues.apache.org/jira/browse/CXF-4406
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime, Transports
>    Affects Versions: 2.5.2
>         Environment: 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)
>            Reporter: Martynas
>
> 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:
> {noformat}
> <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>
> {noformat}
> Increasing pool size to 50 helped a bit, but not significantly.
> I am using these cxf libraries:
> {noformat}
> <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>
> {noformat}
> {noformat}
> 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
> {noformat}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira