5 Replies Latest reply: Apr 23, 2010 3:10 AM by user19660116 RSS

    PermSize error  on  Weblogic 10.3.

    user19660116
      Hi everyone,

      We are getting the below OutOfMemoryError PermGen error every once SOA Manage Server is launched. The value of MaxPermSize, witch was 256Mb, has been increased first to 512MB and then to 750MB. Even then we are still receiving this error.

      Is the MaxPermSize, defined in "setSOADomainEnv.sh", the alone used in this case or is there any an other one defined somewhere esle?



      The servers are running on Linux Oracle Enterprise.


      Any help,



      Hanine ZENATI




      ServerLog file:

      ####<Apr 20, 2010 5:51:09 PM CEST> <Error> <Deployer> <caprica2.cec.eu.int> <soa_server1> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1271778669437> <BEA-149205> <Failed to initialize the application 'composer' due to error weblogic.application.ModuleException: Failed to load webapp: 'soa/composer'.
      weblogic.application.ModuleException: Failed to load webapp: 'soa/composer'
           at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:404)
           at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
           at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
           at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:502)
           at weblogic.application.utils.StateMachineDriver$ParallelChange$1.run(StateMachineDriver.java:81)
           at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
           at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
           at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:76)
           at java.lang.Thread.run(Thread.java:619)

      Caused By: java.lang.OutOfMemoryError: PermGen space
           at java.lang.ClassLoader.defineClass1(Native Method)
           at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
           at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
           at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
           at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:328)
           at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:285)
           at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:253)
           at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:56)
           at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
           at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
           at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:177)
           at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:37)
           at weblogic.servlet.internal.WebComponentContributor.containsAssignableClass(WebComponentContributor.java:193)
           at weblogic.servlet.internal.WebComponentContributor.contribute(WebComponentContributor.java:160)
           at com.bea.core.repackaged.springframework.jee.server.Bootstrap.deploy(Bootstrap.java:217)
           at com.bea.core.repackaged.springframework.jee.spi.WLSBootstrap.deploy(WLSBootstrap.java:116)
           at com.bea.core.repackaged.springframework.jee.server.Bootstrap.deploy(Bootstrap.java:174)
           at com.bea.core.repackaged.springframework.jee.server.Bootstrap.deploy(Bootstrap.java:153)
           at com.bea.core.repackaged.springframework.jee.server.Bootstrap.deploy(Bootstrap.java:137)
           at com.bea.core.repackaged.springframework.jee.spi.WebComponentContributorBrokerImpl.initialize(WebComponentContributorBrokerImpl.java:45)
           at weblogic.servlet.internal.WebComponentContributor.initialize(WebComponentContributor.java:98)
           at weblogic.servlet.internal.WebAppServletContext.processAnnotations(WebAppServletContext.java:1372)
           at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:435)
           at weblogic.servlet.internal.WebAppServletContext.<init>(WebAppServletContext.java:479)
           at weblogic.servlet.internal.HttpServer.loadWebApp(HttpServer.java:418)
           at weblogic.servlet.internal.WebAppModule.registerWebApp(WebAppModule.java:976)
           at weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:381)
           at weblogic.application.internal.flow.ScopedModuleDriver.prepare(ScopedModuleDriver.java:176)
           at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:199)
           at weblogic.application.internal.flow.DeploymentCallbackFlow$1.next(DeploymentCallbackFlow.java:502)
           at weblogic.application.utils.StateMachineDriver$ParallelChange$1.run(StateMachineDriver.java:81)
           at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        • 1. Re: PermSize error  on  Weblogic 10.3.
          hbuelow
          Hi Hanine,

          Since you don't mention how much memory you have on this machine I'll assume it is a 32bit,4GB Linux machine. For that configuration this is recommended in setSOADomainEnv.cmd:

          set DEFAULT_MEM_ARGS=-Xms512m –Xmx1536m

          and no changes to the maxPermSize.

          Heidi.
          • 2. Re: PermSize error  on  Weblogic 10.3.
            user19660116
            Hi Heidi,


            Yes we are using Linux 32 bits distribution, JDK 160_18, and the machine has 32 GB RAM memory.

            We have the following setup in setSOADomainEnv.sh :

            DEFAULT_MEM_ARGS="-Xms512m -Xmx1536m"
            PORT_MEM_ARGS="-Xms512m -Xmx1536m"

            The setup was initially:
            DEFAULT_MEM_ARGS="-Xms512m -Xmx1536m"
            PORT_MEM_ARGS="-Xms512m -Xmx1536m"


            For all that, we till have the following error using the concerned domain:


            "here are 1 nested errors:

            java.lang.IllegalStateException: WLDF Module not in INITIALIZED state during destroy() callback. State was 2
            at weblogic.diagnostics.module.WLDFModule.destroy(WLDFModule.java:406)
            at weblogic.application.internal.flow.InitModulesFlow.destroy(InitModulesFlow.java:372)
            at weblogic.application.internal.flow.InitModulesFlow.unprepare(InitModulesFlow.java:339)
            at weblogic.application.internal.BaseDeployment$1.previous(BaseDeployment.java:1233)
            at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:167)
            at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:50)
            at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:367)
            at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:58)
            at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
            at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
            at weblogic.deploy.internal.targetserver.AppDeployment.prepare(AppDeployment.java:141)
            at weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(DeploymentAdapter.java:39)
            at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:191)
            at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
            at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)
            at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:165)
            at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
            at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180)
            at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96)
            at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)


            weblogic.utils.ErrorCollectionException:

            There are 1 nested errors:

            java.lang.IllegalStateException: WLDF Module not in INITIALIZED state during destroy() callback. State was 2
            at weblogic.diagnostics.module.WLDFModule.destroy(WLDFModule.java:406)
            at weblogic.application.internal.flow.InitModulesFlow.destroy(InitModulesFlow.java:372)
            at weblogic.application.internal.flow.InitModulesFlow.unprepare(InitModulesFlow.java:339)
            at weblogic.application.internal.BaseDeployment$1.previous(BaseDeployment.java:1233)
            at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:167)
            at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:50)
            at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:367)
            at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:58)
            at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
            at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:60)
            at weblogic.deploy.internal.targetserver.AppDeployment.prepare(AppDeployment.java:141)
            at weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(DeploymentAdapter.java:39)
            at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:191)
            at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:21)
            at weblogic.management.deploy.internal.ConfiguredDeployments.transitionApps(ConfiguredDeployments.java:240)
            at weblogic.management.deploy.internal.ConfiguredDeployments.prepare(ConfiguredDeployments.java:165)
            at weblogic.management.deploy.internal.ConfiguredDeployments.deploy(ConfiguredDeployments.java:122)
            at weblogic.management.deploy.internal.DeploymentServerService.resume(DeploymentServerService.java:180)
            at weblogic.management.deploy.internal.DeploymentServerService.start(DeploymentServerService.java:96)
            at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)


            at weblogic.application.utils.StateMachineDriver.previousState(StateMachineDriver.java:171)
            at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:50)
            at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:367)
            at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:58)
            at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:154)
            Truncated. see log file for complete stacktrace
            >
            <Apr 22, 2010 10:30:33 AM CEST> <Error> <Deployer> <BEA-149205> <Failed to initialize the application 'BPMComposer' due to error java.lang.OutOfMemoryError: PermGen space.
            java.lang.OutOfMemoryError: PermGen space
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
            at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:328)
            Truncated. see log file for complete stacktrace

            Caused By: java.lang.OutOfMemoryError: PermGen space
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
            at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericClassLoader.java:328)
            Truncated. see log file for complete stacktrace
            "


            Best regards,


            Hanine
            • 3. Re: PermSize error  on  Weblogic 10.3.
              user19660116
              Sorry in my previous message, I meant that the setup on SetSOADomainEnv.sh was initially as below:

              DEFAULT_MEM_ARGS="-Xms512m -Xmx1024m"
              PORT_MEM_ARGS="-Xms768m -Xmx1536m"


              Regards,


              Hanine
              • 4. Re: PermSize error  on  Weblogic 10.3.
                hbuelow
                Hi Hanine,
                In your first post on this thread you say you are also changing max perm. What are those settings now? You should not change this.

                Heidi.
                • 5. Re: PermSize error  on  Weblogic 10.3.
                  user19660116
                  Hi Heidi,

                  I've put back on the initials values but I get the same error.

                  DEFAULT_MEM_ARGS="${DEFAULT_MEM_ARGS} -XX:PermSize=128m -XX:MaxPermSize=512m"
                  PORT_MEM_ARGS="${PORT_MEM_ARGS} -XX:PermSize=256m -XX:MaxPermSize=512m"


                  Otherwise, as it seems that that the JVM runs out of memory, what about using JRockit JVM? And what would be the ideal JVM settings in this kind of a scenario?


                  Regards,


                  Hanine