[webbeans-issues] [JBoss JIRA] Created: (WBRI-405) OOME on servlet container redeployment
Christian Bauer (JIRA)
jira-events at lists.jboss.org
Sun Oct 4 02:07:49 EDT 2009
OOME on servlet container redeployment
--------------------------------------
Key: WBRI-405
URL: https://jira.jboss.org/jira/browse/WBRI-405
Project: Web Beans
Issue Type: Bug
Components: Web Tier integration (JSF, JSP, EL and Servlet)
Reporter: Christian Bauer
Priority: Critical
Redeploying /examples/wicket/numberguess (no code changes, just repeated deploy/undeploy cycles) to Jetty, running from within IntelliJ but in a separate VM.
With default max heap size (JConsole reports 84 MB) after 3 redeployment cycles or with Xmx256m after about 10 cycles, the VM simply hangs at 100% CPU load with a full heap and the log:
[Timer-1] 07:57:54,804 DEBUG [org.jboss.webbeans.bootstrap.AbstractBeanDeployer] Bean: Built-in implicit javax.inject.Instance bean
[Timer-1] 07:57:54,805 DEBUG [org.jboss.webbeans.bootstrap.AbstractBeanDeployer] Bean: org.jboss.webbeans.bean-web-module-NewManagedBean-org.jboss.webbeans.wicket.BeanManagerLookup
[Timer-1] 07:57:54,806 DEBUG [org.jboss.webbeans.bootstrap.AbstractBeanDeployer] Bean: org.jboss.webbeans.bean-web-module-NewManagedBean-org.jboss.webbeans.conversation.NumericConversationIdGenerator
[Timer-1] 07:57:55,879 DEBUG [org.jboss.webbeans.bootstrap.AbstractBeanDeployer] Bean: org.jboss.webbeans.bean-web-module-NewManagedBean-org.teleal.hub.bookmarks.ui.HelloWorld
[Timer-1] 07:57:55,881 DEBUG [org.jboss.webbeans.bootstrap.WebBeansBootstrap] Web Beans initialized. Validating beans.
(Had to stop the process with KILL signal.)
Sometimes it doesn't hang and I get this instead:
java.lang.OutOfMemoryError: Java heap space
at java.util.jar.Attributes.read(Attributes.java:377)
at java.util.jar.Manifest.read(Manifest.java:182)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at java.util.jar.JarFile.getManifestFromReference(JarFile.java:165)
at java.util.jar.JarFile.getManifest(JarFile.java:146)
at sun.misc.URLClassPath$JarLoader$2.getManifest(URLClassPath.java:693)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:221)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:392)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2291)
at java.lang.Class.getDeclaredFields(Class.java:1743)
at org.jboss.webbeans.introspector.jlr.WBClassImpl.<init>(WBClassImpl.java:210)
at org.jboss.webbeans.introspector.jlr.WBClassImpl.of(WBClassImpl.java:130)
at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:59)
at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:55)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.jboss.webbeans.util.collections.ConcurrentCache.putIfAbsent(ConcurrentCache.java:125)
at org.jboss.webbeans.resources.ClassTransformer.loadClass(ClassTransformer.java:54)
at org.jboss.webbeans.introspector.jlr.WBClassImpl.<init>(WBClassImpl.java:146)
at org.jboss.webbeans.introspector.jlr.WBClassImpl.of(WBClassImpl.java:130)
at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:59)
at org.jboss.webbeans.resources.ClassTransformer$1.call(ClassTransformer.java:55)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at org.jboss.webbeans.util.collections.ConcurrentCache.putIfAbsent(ConcurrentCache.java:125)
With Xmx1024m, after about 20 cycles:
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:392)
at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:363)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
at org.apache.wicket.settings.Settings.<init>(Settings.java:139)
at org.apache.wicket.Application.getSettings(Application.java:874)
at org.apache.wicket.Application.getPageSettings(Application.java:545)
at org.apache.wicket.Application.internalInit(Application.java:972)
at org.apache.wicket.protocol.http.WebApplication.internalInit(WebApplication.java:551)
at org.jboss.webbeans.wicket.WebBeansApplication.internalInit(WebBeansApplication.java:71)
at org.apache.wicket.protocol.http.WicketFilter.init(WicketFilter.java:693)
at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:658)
at org.mortbay.jetty.servlet.Context.startContext(Context.java:140)
at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517)
at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467)
at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50)
at org.mortbay.jetty.deployer.ContextDeployer.deploy(ContextDeployer.java:268)
at org.mortbay.jetty.deployer.ContextDeployer.redeploy(ContextDeployer.java:287)
at org.mortbay.jetty.deployer.ContextDeployer.access$100(ContextDeployer.java:67)
at org.mortbay.jetty.deployer.ContextDeployer$ScannerListener.fileChanged(ContextDeployer.java:99)
at org.mortbay.util.Scanner.reportChange(Scanner.java:464)
at org.mortbay.util.Scanner.reportDifferences(Scanner.java:330)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the weld-issues
mailing list