lsalamon / nhin-d

Automatically exported from code.google.com/p/nhin-d
0 stars 0 forks source link

java.lang.OutOfMemoryError: PermGen space -- add domain #127

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. attempt to deploy from direct-project-stock-1.1.tar
2. following instructions on Bare Metal Project - Java (HISP only)
3. "Click New Domain.
Enter the Domain Name and Postmaster E-Mail Address for the domain this HISP 
will be handling.
Choose ENABLED as the status."

when clicking [Add] button on the "NHIN Direct Java Reference Implementation - 
Manage Domains" form
Got PermGen error

What is the expected output? What do you see instead?

What version of the product are you using? On what operating system?
direct-project-stock-1.1.tar
Linux, Ubuntu 10.04 LTS

Please provide any additional information below.
SEVERE: Servlet.service() for servlet CXFServlet threw exception
java.lang.OutOfMemoryError: PermGen space
    at org.apache.cxf.transport.http.AbstractHTTPDestination.getInbuiltBackChannel(AbstractHTTPDestination.java:391)
    at org.apache.cxf.transport.AbstractDestination.getBackChannel(AbstractDestination.java:88)
    at org.apache.cxf.interceptor.OutgoingChainInterceptor.getBackChannelConduit(OutgoingChainInterceptor.java:102)
    at org.apache.cxf.interceptor.MessageSenderInterceptor.getConduit(MessageSenderInterceptor.java:75)
    at org.apache.cxf.interceptor.MessageSenderInterceptor.handleMessage(MessageSenderInterceptor.java:46)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
    at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:99)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:292)
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:110)
    at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:98)
    at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:423)
    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:127)
    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:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:662)
May 3, 2011 7:45:01 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet config threw exception
java.lang.OutOfMemoryError: PermGen space
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2818)
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
    at org.apache.cxf.interceptor.AttachmentInInterceptor.handleMessage(AttachmentInInterceptor.java:61)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
    at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:700)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2261)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2134)
    at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1988)
    at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66)
    at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:639)
    at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:243)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:487)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
    at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
    at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
    at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
    at $Proxy161.addDomain(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:526)
    at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.doInvoke(JaxWsPortClientInterceptor.java:500)
    at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.invoke(JaxWsPortClientInterceptor.java:487)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

Original issue reported on code.google.com by NFinst...@gmail.com on 3 May 2011 at 7:54

GoogleCodeExporter commented 9 years ago
Are you doing this in an Amazon EC2 micro instance?  I believe there is a post 
about increasing the PERMGen space with a JVM parameter.  Will take a look.

Original comment by gm2...@cerner.com on 3 May 2011 at 9:17

GoogleCodeExporter commented 9 years ago
You can increase the max PermGen size by editing the catalina.sh file.  An 
appropriate place may be after the following lines.

if [ -z "$LOGGING_MANAGER" ]; then
  JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"
else 
  JAVA_OPTS="$JAVA_OPTS $LOGGING_MANAGER"
fi

Add the following line (this sets the max PermGen size to 64 MB):

JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize 64m"

If you are still seeing the error, I would suggest raising it to 128m.

Original comment by gm2...@cerner.com on 5 May 2011 at 11:59

GoogleCodeExporter commented 9 years ago
My bad.  Use this line:

JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=64m"

Original comment by gm2...@cerner.com on 5 May 2011 at 12:02

GoogleCodeExporter commented 9 years ago
Greg's suggestion will probably work. In the bare-metal documentation we have 
the following recommendation:

-XX:PermSize=256M -XX:MaxPermSize=256M

Let us know if this fixes the problem.

Original comment by bgran...@harris.com on 5 May 2011 at 1:20

GoogleCodeExporter commented 9 years ago

Original comment by bgran...@harris.com on 5 May 2011 at 1:22

GoogleCodeExporter commented 9 years ago
Does there need to be a fix for this? I assume this is an application 
server/JVM issue rather than Direct codebase.

Original comment by BrianCHo...@gmail.com on 5 May 2011 at 7:06

GoogleCodeExporter commented 9 years ago
Resolving this issue.. if the problem persists we will open it back up.

Original comment by bgran...@harris.com on 9 May 2011 at 10:05