[mitreid-connect] simple-web-app java.lang.OutOfMemoryError

Richer, Justin P. jricher at mitre.org
Wed Aug 6 11:02:10 EDT 2014


PermGen space and regular memory space are separate in Java, and Spring on Tomcat *REALLY* likes to use PermGen space with all of its beans. You can increase the allocation as well as set up your garbage collector to handle it differently. Here's a bit on Stack Overflow regarding it:

http://stackoverflow.com/questions/1124131/what-can-be-done-with-permgen-out-of-space-exception-in-tomcat-spring-hibernat

http://stackoverflow.com/questions/23890861/spring-jpa-permgen-out-of-memory



We've got a number of sites running the OIDC server along side the client (with simple-web-app or derivatives) or other applications, like at https://mitreid.org/ for example, so I know it's possible.

 -- Justin


On Aug 6, 2014, at 10:54 AM, Marcin Krystek <mkrystek at man.poznan.pl<mailto:mkrystek at man.poznan.pl>> wrote:

Hello!


I'm trying to build my own instance of openid connect infrastructure based on MITREid Connect implementation.

I have successfully downloaded in installed  OpenID-Connect-Java-Spring-Server (v1.1.8) and ldap-openid-connect-server. Both works fine.

Now I'm struggling with simple-web-app. Each time I'm trying to access this application:
http://localhost:8080/simple-web-app
Tomcat reports the following error:


Aug 06, 2014 4:28:23 PM org.apache.jasper.compiler.TldLocationsCache tldScanJar
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
java.lang.OutOfMemoryError: PermGen space
    at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:187)
    at org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:723)
    at org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:383)
    at org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:428)
    at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:466)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
    at org.apache.jasper.servlet.JspServletWrapper.loadTagFile(JspServletWrapper.java:240)
    at org.apache.jasper.compiler.TagFileProcessor.loadTagFile(TagFileProcessor.java:578)
    at org.apache.jasper.compiler.TagFileProcessor.access$000(TagFileProcessor.java:49)
    at org.apache.jasper.compiler.TagFileProcessor$TagFileLoaderVisitor.visit(TagFileProcessor.java:655)
    at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1538)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2377)
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2429)
    at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2435)
    at org.apache.jasper.compiler.Node$Root.accept(Node.java:474)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2377)
    at org.apache.jasper.compiler.TagFileProcessor.loadTagFiles(TagFileProcessor.java:673)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:229)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:373)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Exception in thread "http-bio-8080-exec-2" java.lang.OutOfMemoryError: PermGen space
    at java.lang.Throwable.printStackTrace(Throwable.java:721)
    at java.util.logging.SimpleFormatter.format(SimpleFormatter.java:157)
    at org.apache.juli.FileHandler.publish(FileHandler.java:198)
    at java.util.logging.Logger.log(Logger.java:616)
    at java.util.logging.Logger.doLog(Logger.java:641)
    at java.util.logging.Logger.logp(Logger.java:841)
    at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:185)
    at org.apache.juli.logging.DirectJDKLog.error(DirectJDKLog.java:151)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:258)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
Exception in thread "ContainerBackgroundProcessor[StandardEngine[Catalina]]" java.lang.OutOfMemoryError: PermGen space
    at java.lang.Throwable.printStackTrace(Throwable.java:721)
    at java.util.logging.SimpleFormatter.format(SimpleFormatter.java:157)
    at org.apache.juli.FileHandler.publish(FileHandler.java:198)
    at java.util.logging.Logger.log(Logger.java:616)
    at java.util.logging.Logger.doLog(Logger.java:641)
    at java.util.logging.Logger.logp(Logger.java:841)
    at org.apache.juli.logging.DirectJDKLog.log(DirectJDKLog.java:185)
    at org.apache.juli.logging.DirectJDKLog.error(DirectJDKLog.java:151)
    at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1535)
    at java.lang.Thread.run(Thread.java:745)



I'm using following java parameters: -Xms3g -Xmx3g. I suppose that 3g should be enough to compile jsp file...
Is this a bug, or did I miss some step?

I'm using default configuration available in simple-web-app project.

Regards,
Marcin





_______________________________________________
mitreid-connect mailing list
mitreid-connect at mit.edu<mailto:mitreid-connect at mit.edu>
http://mailman.mit.edu/mailman/listinfo/mitreid-connect

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.mit.edu/pipermail/mitreid-connect/attachments/20140806/f8858ef8/attachment-0001.htm


More information about the mitreid-connect mailing list