[weld-issues] [JBoss JIRA] Commented: (WELD-476) OutOfMemory Exception When Deploying (Bootstrapping) Single BDA with 621 classes

David Allen (JIRA) jira-events at lists.jboss.org
Fri May 14 07:28:27 EDT 2010


    [ https://jira.jboss.org/jira/browse/WELD-476?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12530720#action_12530720 ] 

David Allen commented on WELD-476:
----------------------------------

First phase is complete and the memory footprint has already been reduced to the point where this sample application deploys on GF with the default memory configuration.

Next phase is to eliminate the redundancy of reflection data which will reduce the memory footprint of this app by an order of magnitude.

> OutOfMemory Exception When Deploying (Bootstrapping) Single BDA with 621 classes
> --------------------------------------------------------------------------------
>
>                 Key: WELD-476
>                 URL: https://jira.jboss.org/jira/browse/WELD-476
>             Project: Weld
>          Issue Type: Bug
>          Components: Bootstrap and Metamodel API
>    Affects Versions: 1.0.1.Final
>         Environment: GlassFish v3.01 Macos w/ 4 GB memory
>            Reporter: Roger Kitain
>            Assignee: David Allen
>         Attachments: WicketExamples.war
>
>
> Upon deploying a war with WEB-INF/beans.xml and 621 classes under WEB-INF/classes, an outofmemory exception is produced:
> org.glassfish.deployment.common.DeploymentException: java.lang.OutOfMemoryError: Java heap space
> 	at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:167)
> 	at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:125)
> 	at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:224)
> 	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338)
> 	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183)
> 	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
> 	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:310)
> 	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320)
> 	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176)
> 	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83)
> 	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
> 	at org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:141)
> 	at org.glassfish.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:573)
> 	at org.glassfish.deployment.autodeploy.AutoDeployer.deployAll(AutoDeployer.java:459)
> 	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:391)
> 	at org.glassfish.deployment.autodeploy.AutoDeployer.run(AutoDeployer.java:376)
> 	at org.glassfish.deployment.autodeploy.AutoDeployService$1.run(AutoDeployService.java:195)
> 	at java.util.TimerThread.mainLoop(Timer.java:512)
> 	at java.util.TimerThread.run(Timer.java:462)
> Caused by: com.google.common.collect.ComputationException: java.lang.OutOfMemoryError: Java heap space
> 	at com.google.common.collect.MapMaker$StrategyImpl.compute(MapMaker.java:602)
> 	at com.google.common.collect.MapMaker$StrategyImpl.compute(MapMaker.java:462)
> 	at com.google.common.collect.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2045)
> 	at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:164)
> 	at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:61)
> 	at org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:88)
> 	at org.jboss.weld.bootstrap.BeanDeployment.deployBeans(BeanDeployment.java:134)
> 	at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:377)
> 	at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:165)
> 	... 18 more
> Caused by: java.lang.OutOfMemoryError: Java heap space
> 	at java.lang.Class.copyMethods(Class.java:2745)
> 	at java.lang.Class.getDeclaredMethods(Class.java:1791)
> 	at org.jboss.weld.util.reflection.SecureReflections$8.work(SecureReflections.java:197)
> 	at org.jboss.weld.util.reflection.SecureReflections$8.work(SecureReflections.java:193)
> 	at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:54)
> 	at org.jboss.weld.util.reflection.SecureReflectionAccess.runAndWrap(SecureReflectionAccess.java:67)
> 	at org.jboss.weld.util.reflection.SecureReflections.getDeclaredMethods(SecureReflections.java:192)
> 	at org.jboss.weld.introspector.jlr.WeldClassImpl.<init>(WeldClassImpl.java:282)
> 	at org.jboss.weld.introspector.jlr.WeldClassImpl.of(WeldClassImpl.java:140)
> 	at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:50)
> 	at org.jboss.weld.resources.ClassTransformer$TransformTypeToWeldClass.apply(ClassTransformer.java:38)
> 	at com.google.common.collect.MapMaker$StrategyImpl.compute(MapMaker.java:592)
> 	at com.google.common.collect.MapMaker$StrategyImpl.compute(MapMaker.java:462)
> 	at com.google.common.collect.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2045)
> 	at org.jboss.weld.resources.ClassTransformer.loadClass(ClassTransformer.java:164)
> 	at org.jboss.weld.bootstrap.BeanDeployer.addClass(BeanDeployer.java:61)
> 	at org.jboss.weld.bootstrap.BeanDeployer.addClasses(BeanDeployer.java:88)
> 	at org.jboss.weld.bootstrap.BeanDeployment.deployBeans(BeanDeployment.java:134)
> 	at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:377)
> 	at org.glassfish.weld.WeldDeployer.event(WeldDeployer.java:165)
> 	at org.glassfish.kernel.event.EventsImpl.send(EventsImpl.java:125)
> 	at org.glassfish.internal.data.ApplicationInfo.load(ApplicationInfo.java:224)
> 	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:338)
> 	at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:183)
> 	at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:272)
> 	at com.sun.enterprise.v3.admin.CommandRunnerImpl$1.execute(CommandRunnerImpl.java:310)
> 	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:320)
> 	at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1176)
> 	at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$900(CommandRunnerImpl.java:83)
> 	at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1235)
> 	at org.glassfish.deployment.autodeploy.AutoOperation.run(AutoOperation.java:141)
> 	at org.glassfish.deployment.autodeploy.AutoDeployer.deploy(AutoDeployer.java:573)
> There is nothing special about the BDA passed to weld - a single BDA with 621 classes.

-- 
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