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 clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---