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

Daniel Kulp resolved CXF-2772.
------------------------------

       Resolution: Fixed
    Fix Version/s:     (was: NeedMoreInfo)
                   2.4
         Assignee: Daniel Kulp


Marking this resolved.   I believe it's fixed, but a request for an updated 
test run has gone unanswered for over a month.

> CLONE -OutOfMemoryError with many service endpoints
> ---------------------------------------------------
>
>                 Key: CXF-2772
>                 URL: https://issues.apache.org/jira/browse/CXF-2772
>             Project: CXF
>          Issue Type: Bug
>    Affects Versions: 2.2.6
>         Environment: Windows XP, Sun JDK 1.6, Tomcat 6.0.20
>            Reporter: Aditya Gujrathi
>            Assignee: Daniel Kulp
>              Labels: TomcatWS
>             Fix For: 2.4
>
>         Attachments: VisualVM-ServerStartup1.jpg
>
>
> I am deploying 5 WAR files in my Tomcat server. They together expose multiple 
> endpoints (60+), each of which publish a simple WSDL.
> When the server is started, performance with many concurrent service calls 
> degrades and memory consumption increases steadily, ultimately leading to an 
> OutOfMemoryException.
> In a simple test it showed that simply displaying the service endpoints 
> exposed WSDL in the browser is sufficient to trigger the OutOfMemoryError. 
> Earlier, our application was using JAXWS and it used to work fine.
> Screenshot using jVisualVM is attached. Following is the exception stacktrace:
> {code}
> WARNING: Application 
> {http://schemas.xmlsoap.org/ws/2004/08/eventing}ws-eventing-service#{http://schemas.xmlsoap.org/ws/2004/08/eventing}SubscribeOp
>  has thrown exception, unwinding now
> org.apache.cxf.interceptor.Fault: Java heap space
>       at 
> org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:155)
>       at 
> org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:85)
>       at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:121)
>       at 
> org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:60)
>       at 
> org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:75)
>       at 
> org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>       at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>       at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>       at 
> org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
>       at 
> org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106)
>       at 
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
>       at 
> org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:109)
>       at 
> org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:406)
>       at 
> org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:178)
>       at 
> org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:142)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>       at 
> org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
>       at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
>       at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>       at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
>       at java.lang.Thread.run(Thread.java:619)
> Caused by: java.lang.OutOfMemoryError: Java heap space
>       at java.util.Arrays.copyOfRange(Arrays.java:3209)
>       at java.lang.String.<init>(String.java:215)
>       at java.lang.String.copyValueOf(String.java:2880)
>       at sun.net.www.MessageHeader.mergeHeader(MessageHeader.java:435)
>       at sun.net.www.MessageHeader.parseHeader(MessageHeader.java:367)
>       at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:699)
>       at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:632)
>       at 
> sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1072)
>       at 
> java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:373)
>       at 
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2110)
>       at 
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2087)
>       at 
> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1985)
>       at 
> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
>       at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:640)
>       at 
> org.apache.cxf.transport.TransportURIResolver.resolve(TransportURIResolver.java:112)
>       at 
> org.apache.cxf.catalog.CatalogXmlSchemaURIResolver.resolveEntity(CatalogXmlSchemaURIResolver.java:78)
>       at 
> org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1872)
>       at 
> org.apache.ws.commons.schema.SchemaBuilder.handleInclude(SchemaBuilder.java:1653)
>       at 
> org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:219)
>       at 
> org.apache.ws.commons.schema.SchemaBuilder.build(SchemaBuilder.java:121)
>       at 
> org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:509)
>       at 
> org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:382)
>       at 
> org.apache.ws.commons.schema.SchemaBuilder.resolveXmlSchema(SchemaBuilder.java:1901)
>       at 
> org.apache.ws.commons.schema.SchemaBuilder.handleImport(SchemaBuilder.java:1615)
>       at 
> org.apache.ws.commons.schema.SchemaBuilder.handleXmlSchemaElement(SchemaBuilder.java:224)
>       at 
> org.apache.ws.commons.schema.XmlSchemaCollection.read(XmlSchemaCollection.java:523)
>       at 
> org.apache.cxf.common.xmlschema.SchemaCollection.read(SchemaCollection.java:182)
>       at org.apache.cxf.wsdl11.SchemaUtil.extractSchema(SchemaUtil.java:133)
>       at org.apache.cxf.wsdl11.SchemaUtil.getSchemas(SchemaUtil.java:81)
>       at org.apache.cxf.wsdl11.SchemaUtil.getSchemas(SchemaUtil.java:65)
>       at org.apache.cxf.wsdl11.SchemaUtil.getSchemas(SchemaUtil.java:60)
>       at 
> org.apache.cxf.wsdl11.WSDLServiceBuilder.getSchemas(WSDLServiceBuilder.java:357)
> {code}

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to