felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bram de Kruijff <bdekrui...@gmail.com>
Subject Re: Anyone else get java.lang.OutOfMemoryError: PermGen space on felix build?
Date Thu, 01 Dec 2011 10:05:41 GMT
Hi Rob

On Thu, Dec 1, 2011 at 10:05 AM, Rob Walker <robw@ascert.com> wrote:
> Seem to get these quite a lot on felix build on my machine.
>
> Didn't want to raise a JIRA issue unless it's me being a dumb user and
> missing some obvious fix. I noticed a few other Apache projects log this,
> and the answer is a simple/logical increase in java memory through runtime

Indeed the simple answer is to set MAVEN_OPTS to something like
"-Xms512m -Xmx1024m -XX:MaxPermSize=512M"

> settings. Wondering though if this is needed, maybe our build settings could
> include it?

You might try to tell the compiler plugin to fork. That will probably
save a lot of mess in the permgen of the main process.

Regards,
Bram


> Typically it trips over when it reaches http build of a full/clean build of
> SVN trunk e.g.
>
>     [exec] [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile
> (default-compile) on project
>  org.apache.felix.http.bridge: Compilation failure
>     [exec] [ERROR] Failure executing javac, but could not parse the error:
>     [exec] [ERROR]
>     [exec] [ERROR]
>     [exec] [ERROR] The system is out of resources.
>     [exec] [ERROR] Consult the following stack trace for details.
>     [exec] [ERROR] java.lang.OutOfMemoryError: PermGen space
>     [exec] [ERROR] at java.lang.ClassLoader.defineClass1(Native Method)
>     [exec] [ERROR] at
> java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
>     [exec] [ERROR] at
> java.lang.ClassLoader.defineClass(ClassLoader.java:615)
>     [exec] [ERROR] at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
>     [exec] [ERROR] at
> java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
>     [exec] [ERROR] at
> java.net.URLClassLoader.access$000(URLClassLoader.java:58)
>     [exec] [ERROR] at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
>     [exec] [ERROR] at java.security.AccessController.doPrivileged(Native
> Method)
>     [exec] [ERROR] at
> java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>     [exec] [ERROR] at
> org.codehaus.plexus.compiler.javac.IsolatedClassLoader.loadClass(IsolatedClassLoader.java:56)
>     [exec] [ERROR] at java.lang.ClassLoader.defineClass1(Native Method)
>     [exec] [ERROR] at
> java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
>     [exec] [ERROR] at
> java.lang.ClassLoader.defineClass(ClassLoader.java:615)
>     [exec] [ERROR] at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
>     [exec] [ERROR] at
> java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
>     [exec] [ERROR] at
> java.net.URLClassLoader.access$000(URLClassLoader.java:58)
>     [exec] [ERROR] at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
>     [exec] [ERROR] at java.security.AccessController.doPrivileged(Native
> Method)
>     [exec] [ERROR] at
> java.net.URLClassLoader.findClass(URLClassLoader.java:190)
>     [exec] [ERROR] at
> org.codehaus.plexus.compiler.javac.IsolatedClassLoader.loadClass(IsolatedClassLoader.java:56)
>     [exec] [ERROR] at com.sun.tools.javac.jvm.Gen.<init>(Gen.java:157)
>     [exec] [ERROR] at com.sun.tools.javac.jvm.Gen.instance(Gen.java:74)
>     [exec] [ERROR] at
> com.sun.tools.javac.main.JavaCompiler.<init>(JavaCompiler.java:314)
>     [exec] [ERROR] at
> com.sun.tools.javac.main.JavaCompiler.instance(JavaCompiler.java:72)
>     [exec] [ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:340)
>     [exec] [ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:279)
>     [exec] [ERROR] at com.sun.tools.javac.main.Main.compile(Main.java:270)
>     [exec] [ERROR] at com.sun.tools.javac.Main.compile(Main.java:87)
>     [exec] [ERROR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
> Method)
>     [exec] [ERROR] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>     [exec] [ERROR] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>     [exec] [ERROR] at java.lang.reflect.Method.invoke(Method.java:597)
>     [exec] [ERROR] -> [Help 1]
>     [exec] [ERROR]
>     [exec] [ERROR] To see the full stack trace of the errors, re-run Maven
> with the -e switch.
>     [exec] [ERROR] Re-run Maven using the -X switch to enable full debug
> logging.
>     [exec] [ERROR]
>     [exec] [ERROR] For more information about the errors and possible
> solutions, please read the following articles:
>     [exec] [ERROR] [Help 1]
> http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
>     [exec] [ERROR]
>     [exec] [ERROR] After correcting the problems, you can resume the build
> with the command
>     [exec] [ERROR]   mvn <goals> -rf :org.apache.felix.http.bridge
>
> -- Rob
>
>
> Ascert - Taking systems to the Edge
> robw@ascert.com
> +27 87 550 1701
> www.ascert.com
>
>

Mime
View raw message