Hi all,
I'm using Clojure for web apps inside Tomcat. If I don't compile
my .clj files ahead of time, I will eventually get one of these
OutOfMemory errors, after a number of redeployments. Is there
something I can do about this? Is this a bug somewhere, in my code,
or in Clojure, or in Tomcat; or a limitation of the JVM?
thanks,
Rob
Here is the entire barfage from my Tomcat log:
Jun 11, 2009 12:01:57 PM org.apache.catalina.core.StandardWrapperValve
invoke
SEVERE: Servlet.service() for servlet ClojureServlet threw exception
java.lang.NullPointerException
at clojure.lang.Var.popThreadBindings(Var.java:289)
at biz.encodia.webapps.webdispatch
$make_dispatcher__3759$fn__3761.invoke(webdispatch.clj:90)
at clojure.lang.Var.invoke(Var.java:350)
at biz.encodia.webapps.ClojureServlet.processRequest
(ClojureServlet.java:70)
at biz.encodia.webapps.ClojureServlet.doGet
(ClojureServlet.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
617)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:
717)
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.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:433)
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:286)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run
(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:613)
Jun 11, 2009 12:04:23 PM org.apache.catalina.core.ApplicationContext
log
SEVERE: StandardWrapper.Throwable
java.lang.ExceptionInInitializerError
at biz.encodia.webapps.ClojureServlet.loadDispatchCode
(ClojureServlet.java:32)
at biz.encodia.webapps.ClojureServlet.init(ClojureServlet.java:
49)
at org.apache.catalina.core.StandardWrapper.loadServlet
(StandardWrapper.java:1172)
at org.apache.catalina.core.StandardWrapper.allocate
(StandardWrapper.java:808)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:433)
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:286)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run
(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:613)
Caused by: java.lang.RuntimeException: java.lang.OutOfMemoryError:
PermGen space (core.clj:2151)
at clojure.lang.RT.<clinit>(RT.java:294)
... 15 more
Caused by: java.lang.OutOfMemoryError: PermGen space (core.clj:2151)
at clojure.lang.Compiler.eval(Compiler.java:4617)
at clojure.lang.Compiler.eval(Compiler.java:4593)
at clojure.lang.Compiler.load(Compiler.java:4931)
at clojure.lang.RT.loadResourceScript(RT.java:329)
at clojure.lang.RT.loadResourceScript(RT.java:320)
at clojure.lang.RT.load(RT.java:398)
at clojure.lang.RT.load(RT.java:370)
at clojure.lang.RT.doInit(RT.java:405)
at clojure.lang.RT.<clinit>(RT.java:291)
... 15 more
Caused by: java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
at java.lang.ClassLoader.defineClass(ClassLoader.java:520)
at clojure.lang.DynamicClassLoader.defineClass
(DynamicClassLoader.java:42)
at clojure.lang.Compiler$FnExpr.getCompiledClass(Compiler.java:
3465)
at clojure.lang.Compiler$FnExpr.eval(Compiler.java:3476)
at clojure.lang.Compiler.eval(Compiler.java:4600)
... 23 more
Jun 11, 2009 12:04:23 PM org.apache.catalina.core.StandardWrapperValve
invoke
SEVERE: Allocate exception for servlet ClojureServlet
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
at java.lang.ClassLoader.defineClass(ClassLoader.java:520)
at clojure.lang.DynamicClassLoader.defineClass
(DynamicClassLoader.java:42)
at clojure.lang.Compiler$FnExpr.getCompiledClass(Compiler.java:
3465)
at clojure.lang.Compiler$FnExpr.eval(Compiler.java:3476)
at clojure.lang.Compiler.eval(Compiler.java:4600)
at clojure.lang.Compiler.eval(Compiler.java:4593)
at clojure.lang.Compiler.load(Compiler.java:4931)
at clojure.lang.RT.loadResourceScript(RT.java:329)
at clojure.lang.RT.loadResourceScript(RT.java:320)
at clojure.lang.RT.load(RT.java:398)
at clojure.lang.RT.load(RT.java:370)
at clojure.lang.RT.doInit(RT.java:405)
at clojure.lang.RT.<clinit>(RT.java:291)
at biz.encodia.webapps.ClojureServlet.loadDispatchCode
(ClojureServlet.java:32)
at biz.encodia.webapps.ClojureServlet.init(ClojureServlet.java:
49)
at org.apache.catalina.core.StandardWrapper.loadServlet
(StandardWrapper.java:1172)
at org.apache.catalina.core.StandardWrapper.allocate
(StandardWrapper.java:808)
at org.apache.catalina.core.StandardWrapperValve.invoke
(StandardWrapperValve.java:129)
at org.apache.catalina.core.StandardContextValve.invoke
(StandardContextValve.java:191)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke
(AuthenticatorBase.java:433)
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:286)
at org.apache.coyote.http11.Http11Processor.process
(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol
$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run
(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:613)
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---