You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by Bram de Kruijff <bd...@gmail.com> on 2011/12/01 11:05:41 UTC
Re: Anyone else get java.lang.OutOfMemoryError: PermGen space on
felix build?
Hi Rob
On Thu, Dec 1, 2011 at 10:05 AM, Rob Walker <ro...@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
>
>
Re: Anyone else get java.lang.OutOfMemoryError: PermGen space on
felix build?
Posted by Rob Walker <ro...@ascert.com>.
Cheers Bram
Also got to that same answer myself!
-- Rob
On 01/12/2011 12:05 PM, Bram de Kruijff wrote:
> Hi Rob
>
> On Thu, Dec 1, 2011 at 10:05 AM, Rob Walker<ro...@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
>>
>>
--
Ascert - Taking systems to the Edge
robw@ascert.com
+27 87 550 1701
www.ascert.com