3 Replies Latest reply on Aug 4, 2011 7:52 AM by flopsi

    Problems running JBoss (5.1) on 64bit Linux

    flopsi

      Hi there,

      first: This is my first post here, so please forgive me if there is something wrong with it

      I try to get a Seam application running on JBoss 5.1/JDK1.6 on SuSE 11.4 64bit (4-core system with 4GB RAM), but it fails with following error(s)

       

      2011-08-03 03:10:54,882 INFO  [org.jboss.bootstrap.microcontainer.ServerImpl] (main) JBoss (Microcontainer) [5.1.0.GA (build: SVNTag=JBoss_5_1_0_GA date=200905221634)] Started in 40s:935ms

      2011-08-03 03:31:48,499 WARN  [org.jboss.detailed.classloader.ClassLoaderManager] (ajp-0.0.0.0-8009-1) Unexpected error during load of:org.eclipse.jdt.internal.compiler.ast.Annotation

      java.lang.OutOfMemoryError: PermGen space

              at java.lang.ClassLoader.defineClass1(Native Method)

              at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)

              at java.lang.ClassLoader.defineClass(ClassLoader.java:615)

              at org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:63)

              at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:572)

              at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:532)

              at java.security.AccessController.doPrivileged(Native Method)

              at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:530)

              at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:507)

              at org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:134)

              at org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:131)

              at org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:452)

              at org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:251)

              at org.jboss.classloader.spi.base.ClassLoaderManager.process(ClassLoaderManager.java:150)

              at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:265)

              at org.jboss.classloader.spi.base.BaseClassLoaderDomain.loadClass(BaseClassLoaderDomain.java:1119)

              at org.jboss.classloader.spi.base.BaseClassLoader.loadClassFromDomain(BaseClassLoader.java:798)

              at org.jboss.classloader.spi.base.BaseClassLoader.loadClass(BaseClassLoader.java:441)

              at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

              at java.lang.ClassLoader.defineClass1(Native Method)

              at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)

              at java.lang.ClassLoader.defineClass(ClassLoader.java:615)

              at org.jboss.classloader.spi.base.BaseClassLoader.access$200(BaseClassLoader.java:63)

              at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:572)

              at org.jboss.classloader.spi.base.BaseClassLoader$2.run(BaseClassLoader.java:532)

              at java.security.AccessController.doPrivileged(Native Method)

              at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:530)

              at org.jboss.classloader.spi.base.BaseClassLoader.loadClassLocally(BaseClassLoader.java:507)

              at org.jboss.classloader.spi.base.BaseDelegateLoader.loadClass(BaseDelegateLoader.java:134)

              at org.jboss.classloader.spi.filter.FilteredDelegateLoader.loadClass(FilteredDelegateLoader.java:131)

              at org.jboss.classloader.spi.base.ClassLoadingTask$ThreadTask.run(ClassLoadingTask.java:452)

              at org.jboss.classloader.spi.base.ClassLoaderManager.nextTask(ClassLoaderManager.java:251)

      2011-08-03 03:31:53,183 WARN  [org.jboss.detailed.classloader.ClassLoaderManager] (ajp-0.0.0.0-8109-1) Unexpected error during load of:org.apache.jasper.compiler.ELNode$Function

      java.lang.OutOfMemoryError: PermGen space

      ...

       

      and so on. As you can see, the error occurs at first call of application, directly after startup. So no redeploy or other issue. Also it is not a Seam problem i guess, cos it is also reproducable with the default apps (JMX Console etc.)

      My current JAVA_OPTS regarding memory are as follows

       

      JAVA_OPTS="-Xms512m -Xmx2048m -XX:PermSize=256m -XX:MaxPermSize=1024m -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000" -Djava.awt.headless=true -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled

       

      but i had many different values set here, with no luck. The default apps should not use that much memory, right? So i guess there is some kind of issue, but after searching the web for several hours i still only get hints on the mem params.

      Maybe also interesting: I got a nearly identical config running on SuSE Linux 11.3 32 bit. But of course i don't know if this matters, as i don't know whether i re-created everything correctly on the 64 bit system...

      So are there any other ideas out there, or anyone suffering from the same? Could it be a 64bit OS issue?

       

      My system:

      Phenom 4-core

      4GB RAM

      SuSE 11.4 64 bit

      JBoss 5.1.0.GA

      JDK 1.6.0_26

      Seam 2.2.0GA

      Apache 2.2.17 w/ PHP

      phpMyAdmin 3.4.3.2

      MySQL 5.1.53

       

      I hope someone can help me...

      Thanks a lot, best regards

      Flo

        • 1. Re: Problems running JBoss (5.1) on 64bit Linux
          flopsi

          Oh, sorry, it's obviously my second post, but i really have not been here for a long time

          • 2. Re: Problems running JBoss (5.1) on 64bit Linux
            peterj

            A 1GB permgen should really be big enough for just about anything. My guess is that the settings you are making are not really getting registered.

             

            Exactly how are you start the app server? For the run script on the command line? Or via an init.d script?

             

            If you run "ps -ef | grep java", what do you get? Specifically look at the java command line used to run the app server.

             

            If you can see the issue from that output, post the ps output here.

            • 3. Re: Problems running JBoss (5.1) on 64bit Linux
              flopsi

              Hi Peter,

              thanks a lot for the fast answer. Indeed there was a little unremarkable glitch in my run.conf preventing some JAVA options from being used... Shame on me, and sorry for wasting your time

              Regards

              Flo