cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aditya Gujrathi (JIRA)" <j...@apache.org>
Subject [jira] Updated: (CXF-2772) CLONE -OutOfMemoryError with many service endpoints
Date Wed, 21 Apr 2010 12:13:50 GMT

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

Aditya Gujrathi updated CXF-2772:
---------------------------------

    Description: 
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}

  was:
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.

I will attach some logs\screenshots using a JVM memory analyzer tool soon so as to provide
more details.


> 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
>         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.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message