cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martynas (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CXF-4406) "Couldn't parse stream" while receiving message when service provider is under load
Date Wed, 11 Jul 2012 14:34:34 GMT

    [ https://issues.apache.org/jira/browse/CXF-4406?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13411572#comment-13411572
] 

Martynas commented on CXF-4406:
-------------------------------

It seems the problem was found.

The same application also provides RESTful services. It was using quite an old version of
Restlet library (2.0.0M3). And using this library together with Apache CXF caused the problem.

After updating Restlet to 2.0.14 which is the latest, problem was gone.

Here is the exact Restlet commit that fixed this issue:
https://github.com/restlet/restlet-framework-java/commit/d2ffda532e18d71eae8b210ba44895292656f1f0
                
> "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

        

Mime
View raw message