Fwd: OOME PermGen space

35 views
Skip to first unread message

Zsolt Kúti

unread,
Jul 29, 2015, 2:40:43 AM7/29/15
to jenkins...@googlegroups.com
Hello,
We have a maven build that keeps failing on Jenkins (1.580.2), but runs fine outside of it.
Other versions of the same project have no problem, all runs with the same general
Maven setting.
This build shows various errors on repeated runs, the common part in them is PermGen.
We tried to tune Maven settings by increasing MaxPermSize, adding -T 2 to no avail.
Stacktrace below was produced after a Jenkins restart.

Any idea what's going wrong here and how to overcome this?
Thanks!
Zsolt

06:39:22
The system is out of resources. 06:39:22 Consult the following stack trace for details. 06:39:22 java.lang.OutOfMemoryError: PermGen space 06:39:22 at java.lang.ClassLoader.defineClass1(Native Method) 06:39:22 at java.lang.ClassLoader.defineClass(ClassLoader.java:800) 06:39:22 at java.lang.ClassLoader.defineClass(ClassLoader.java:643) 06:39:22 at com.sun.tools.xjc.api.util.APTClassLoader.findClass(APTClassLoader.java:120) 06:39:22 at com.sun.tools.xjc.api.util.APTClassLoader.loadClass(APTClassLoader.java:85) 06:39:22 at com.sun.tools.javac.jvm.ClassReader.initParameterNames(ClassReader.java:1785) 06:39:22 at com.sun.tools.javac.jvm.ClassReader.readMethod(ClassReader.java:1744) 06:39:22 at com.sun.tools.javac.jvm.ClassReader.readClass(ClassReader.java:1948) 06:39:22 at com.sun.tools.javac.jvm.ClassReader.readClassFile(ClassReader.java:2020) 06:39:22 at com.sun.tools.javac.jvm.ClassReader.fillIn(ClassReader.java:2208) 06:39:22 at com.sun.tools.javac.jvm.ClassReader.complete(ClassReader.java:2139) 06:39:22 at com.sun.tools.javac.code.Symbol.complete(Symbol.java:421) 06:39:22 at com.sun.tools.javac.code.Symbol$ClassSymbol.complete(Symbol.java:821) 06:39:22 at com.sun.tools.javac.jvm.ClassReader.loadClass(ClassReader.java:2320) 06:39:22 at com.sun.tools.javac.comp.Resolve.loadClass(Resolve.java:1062) 06:39:22 at com.sun.tools.javac.comp.Resolve.findIdentInPackage(Resolve.java:1227) 06:39:22 at com.sun.tools.javac.comp.Attr.selectSym(Attr.java:2392) 06:39:22 at com.sun.tools.javac.comp.Attr.visitSelect(Attr.java:2283) 06:39:22 at com.sun.tools.javac.tree.JCTree$JCFieldAccess.accept(JCTree.java:1677) 06:39:22 at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:431) 06:39:22 at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:418) 06:39:22 at com.sun.tools.javac.comp.Attr.attribType(Attr.java:473) 06:39:22 at com.sun.tools.javac.comp.Attr.attribType(Attr.java:466) 06:39:22 at com.sun.tools.javac.comp.MemberEnter.attribImportType(MemberEnter.java:721) 06:39:22 at com.sun.tools.javac.comp.MemberEnter.visitImport(MemberEnter.java:558) 06:39:22 at com.sun.tools.javac.tree.JCTree$JCImport.accept(JCTree.java:513) 06:39:22 at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:401) 06:39:22 at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:413) 06:39:22 at com.sun.tools.javac.comp.MemberEnter.visitTopLevel(MemberEnter.java:525) 06:39:22 at com.sun.tools.javac.tree.JCTree$JCCompilationUnit.accept(JCTree.java:459) 06:39:22 at com.sun.tools.javac.comp.MemberEnter.memberEnter(MemberEnter.java:401) 06:39:22 at com.sun.tools.javac.comp.MemberEnter.complete(MemberEnter.java:876) 06:41:13 [ERROR] Unexpected error in channel channel 06:41:13 java.lang.OutOfMemoryError: PermGen space 06:41:16 ERROR: Processing failed due to a bug in the code. Please report this to jenkins...@googlegroups.com 06:41:16 hudson.remoting.RequestAbortedException: java.net.SocketException: Connection reset 06:41:16 at hudson.remoting.Request.abort(Request.java:295) 06:41:16 at hudson.remoting.Channel.terminate(Channel.java:814) 06:41:16 at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:69) 06:41:16 at ......remote call to Channel to Maven [e:\Java\jdk1.7.0_55/bin/java, -Xmx1024m, -cp, E:\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-agent-1.6.jar;e:\apache-maven-3.0.4\boot\plexus-classworlds-2.4.jar, org.jvnet.hudson.maven3.agent.Maven3Main, e:\apache-maven-3.0.4, E:\Jenkins\war\WEB-INF\lib\remoting-2.47.jar, E:\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-1.6.jar, E:\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-commons-1.6.jar, 59900](Native Method) 06:41:16 at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1356) 06:41:16 at hudson.remoting.Request.call(Request.java:171) 06:41:16 at hudson.remoting.Channel.call(Channel.java:751) 06:41:16 at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:161) 06:41:16 at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:849) 06:41:16 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533) 06:41:16 at hudson.model.Run.execute(Run.java:1745) 06:41:16 at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531) 06:41:16 at hudson.model.ResourceController.execute(ResourceController.java:89) 06:41:16 at hudson.model.Executor.run(Executor.java:240) 06:41:16 Caused by: java.net.SocketException: Connection reset 06:41:16 at java.net.SocketInputStream.read(SocketInputStream.java:196) 06:41:16 at java.net.SocketInputStream.read(SocketInputStream.java:122) 06:41:16 at java.io.FilterInputStream.read(FilterInputStream.java:133) 06:41:16 at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) 06:41:16 at java.io.BufferedInputStream.read(BufferedInputStream.java:254) 06:41:16 at hudson.remoting.FlightRecorderInputStream.read(FlightRecorderInputStream.java:82) 06:41:16 at hudson.remoting.ChunkedInputStream.readHeader(ChunkedInputStream.java:72) 06:41:16 at hudson.remoting.ChunkedInputStream.readUntilBreak(ChunkedInputStream.java:103) 06:41:16 at hudson.remoting.ChunkedCommandTransport.readBlock(ChunkedCommandTransport.java:33) 06:41:16 at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34) 06:41:16 at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48) 06:41:16 project=hudson.maven.MavenModuleSet@5dd5a97c
[... details left out] 06:41:16 FATAL: java.net.SocketException: Connection reset 06:41:16 hudson.remoting.RequestAbortedException: java.net.SocketException: Connection reset 06:41:16 at hudson.remoting.Request.abort(Request.java:295) 06:41:16 at hudson.remoting.Channel.terminate(Channel.java:814) 06:41:16 at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:69) 06:41:16 at ......remote call to Channel to Maven [e:\Java\jdk1.7.0_55/bin/java, -Xmx1024m, -cp, E:\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-agent-1.6.jar;e:\apache-maven-3.0.4\boot\plexus-classworlds-2.4.jar, org.jvnet.hudson.maven3.agent.Maven3Main, e:\apache-maven-3.0.4, E:\Jenkins\war\WEB-INF\lib\remoting-2.47.jar, E:\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-1.6.jar, E:\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-commons-1.6.jar, 59900](Native Method) 06:41:16 at hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1356) 06:41:16 at hudson.remoting.Request.call(Request.java:171) 06:41:16 at hudson.remoting.Channel.call(Channel.java:751) 06:41:16 at hudson.maven.ProcessCache$MavenProcess.call(ProcessCache.java:161) 06:41:16 at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:849) 06:41:16 at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:533) 06:41:16 at hudson.model.Run.execute(Run.java:1745) 06:41:16 at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531) 06:41:16 at hudson.model.ResourceController.execute(ResourceController.java:89) 06:41:16 at hudson.model.Executor.run(Executor.java:240) 06:41:16 Caused by: java.net.SocketException: Connection reset 06:41:16 at java.net.SocketInputStream.read(SocketInputStream.java:196) 06:41:16 at java.net.SocketInputStream.read(SocketInputStream.java:122) 06:41:16 at java.io.FilterInputStream.read(FilterInputStream.java:133) 06:41:16 at java.io.BufferedInputStream.fill(BufferedInputStream.java:235) 06:41:16 at java.io.BufferedInputStream.read(BufferedInputStream.java:254) 06:41:16 at hudson.remoting.FlightRecorderInputStream.read(FlightRecorderInputStream.java:82) 06:41:16 at hudson.remoting.ChunkedInputStream.readHeader(ChunkedInputStream.java:72) 06:41:16 at hudson.remoting.ChunkedInputStream.readUntilBreak(ChunkedInputStream.java:103) 06:41:16 at hudson.remoting.ChunkedCommandTransport.readBlock(ChunkedCommandTransport.java:33) 06:41:16 at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34) 06:41:16 at hudson.remoting.SynchronousCommandTransport$ReaderThread.run(SynchronousCommandTransport.java:48)

James Nord

unread,
Aug 4, 2015, 5:40:28 PM8/4/15
to Jenkins Users
e:\Java\jdk1.7.0_55/bin/java, -Xmx1024m, -cp, E:\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-agent-1.6.jar;e:\apache-maven-3.0.4\boot\plexus-classworlds-2.4.jar, org.jvnet.hudson.maven3.agent.Maven3Main, e:\apache-maven-3.0.4, E:\Jenkins\war\WEB-INF\lib\remoting-2.47.jar, E:\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-1.6.jar, E:\Jenkins\plugins\maven-plugin\WEB-INF\lib\maven3-interceptor-commons-1.6.jar, 59900

There is no tuning of the permenant generation in the above command.

additionally if you are forking javac (which is normally the way to go, and I don;t think you are from the above stack trace) you may need to tune to fork parameters.
http://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html#compilerArgs

/james
Reply all
Reply to author
Forward
0 new messages