Bug 346730 - OutOfMemoryError using 3.7 releng basebuilder
Summary: OutOfMemoryError using 3.7 releng basebuilder
Status: RESOLVED NOT_ECLIPSE
Alias: None
Product: PDE
Classification: Eclipse Project
Component: Build (show other bugs)
Version: 3.7   Edit
Hardware: PC Linux
: P3 major with 22 votes (vote)
Target Milestone: ---   Edit
Assignee: pde-build-inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
: 350769 (view as bug list)
Depends on: 370357
Blocks:
  Show dependency tree
 
Reported: 2011-05-20 12:22 EDT by Vivian Kong CLA
Modified: 2012-05-26 10:09 EDT (History)
21 users (show)

See Also:


Attachments
Build output (19.59 KB, text/plain)
2011-05-20 12:22 EDT, Vivian Kong CLA
no flags Details
.log file (83.64 KB, text/plain)
2011-05-20 12:23 EDT, Vivian Kong CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vivian Kong CLA 2011-05-20 12:22:29 EDT
Created attachment 196232 [details]
Build output

I recently switched and started using the 3.7M7 releng basebuilder for CDT builds so I can use the shared license feature for the new SUA for Indigo.  However, I started getting OutOfMemoryErrors.  It seems the build gets into an infinite loop that eventually killed the VM.  Please see the attached build output and .log file for more details.  

Because of this, I had to switch back to use the 3.6 basebuilder and just update the license text in every feature (using David's very handy tool).

I'm not sure if this is a bug in PDE or a bug in our build script but since our builds are running OK with 3.6 basebuilder I was wondering what has changed from 3.6 that might have caused this.

Thanks.
Comment 1 Vivian Kong CLA 2011-05-20 12:23:04 EDT
Created attachment 196233 [details]
.log file
Comment 2 Andrew Niefer CLA 2011-05-20 13:01:17 EDT
I don't see any evidence of a loop here, Those long exceptions are normal when something happens when nested deep in the ant scripts.

Are you setting any memory sizes on the java running the build?
Comment 3 Vivian Kong CLA 2011-05-20 13:06:53 EDT
(In reply to comment #2)
> I don't see any evidence of a loop here, Those long exceptions are normal when
> something happens when nested deep in the ant scripts.
> 
> Are you setting any memory sizes on the java running the build?

The first time I saw the OutofMemoryError I didn't set any heap sizes but after that I set them to: -Xms512m -Xmx1024m.
Comment 4 David Mittman CLA 2011-08-10 16:06:46 EDT
I'd like to add my two cents to this bug. I'm seeing the same behavior that Vivian Kong reported. Some of my 3.7 PDE headless builds fail (Linux 32bit) during various stages with Zip OutOfMemory errors. Any suggestions on how to help identify the source of this bug?
Comment 5 David Mittman CLA 2011-08-30 13:22:12 EDT
I just moved my Eclipse 3.7 builds to use JDK 1.6 Update 17 (had been using Update 26), and now the builds seem to be succeeding. Apparently, the Eclipse team is using Update 17 to build and deploy Eclipse.

(In reply to comment #4)
> I'd like to add my two cents to this bug. I'm seeing the same behavior that
> Vivian Kong reported. Some of my 3.7 PDE headless builds fail (Linux 32bit)
> during various stages with Zip OutOfMemory errors. Any suggestions on how to
> help identify the source of this bug?
Comment 6 Matthew Davis CLA 2011-09-01 18:54:03 EDT
I'm also seeing this doing headless PDE builds. Linux 32-bit, Eclipse 3.7 and both Sun JVM 1.6.25 and IBM JVM 1.6.0 9.1.  Will try using an older JVM.


@dot:
    [mkdir] Created dir: /usr/local/jenkins/jobs/STEM/workspace/releng/org.eclipse.stem.releng/build/plugins/org.eclipse.stem.graphgenerators/@dot
    [javac] Compiling 28 source files to /usr/local/jenkins/jobs/STEM/workspace/releng/org.eclipse.stem.releng/build/plugins/org.eclipse.stem.graphgenerators/@dot
mmap failed for CEN and END part of zip file

BUILD FAILED
/opt/buildtools/eclipse/eclipse3700/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/scripts/build.xml:36: The following error occurred while executing this line:
/opt/buildtools/eclipse/eclipse3700/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/scripts/build.xml:105: The following error occurred while executing this line:
/usr/local/jenkins/jobs/STEM/workspace/releng/org.eclipse.stem.releng/ConfigFeature/customTargets.xml:12: The following error occurred while executing this line:
/usr/local/jenkins/jobs/STEM/workspace/releng/org.eclipse.stem.releng/ConfigFeature/allElements.xml:13: The following error occurred while executing this line:
/opt/buildtools/eclipse/eclipse3700/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/scripts/genericTargets.xml:118: The following error occurred while executing this line:
/opt/buildtools/eclipse/eclipse3700/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/scripts/genericTargets.xml:123: The following error occurred while executing this line:
/usr/local/jenkins/jobs/STEM/workspace/releng/org.eclipse.stem.releng/build/features/org.eclipse.stem.feature/build.xml:31: The following error occurred while executing this line:
/usr/local/jenkins/jobs/STEM/workspace/releng/org.eclipse.stem.releng/build/features/org.eclipse.stem.feature/build.xml:16: The following error occurred while executing this line:
/usr/local/jenkins/jobs/STEM/workspace/releng/org.eclipse.stem.releng/build/features/org.eclipse.stem.product.feature/build.xml:39: The following error occurred while executing this line:
/usr/local/jenkins/jobs/STEM/workspace/releng/org.eclipse.stem.releng/build/features/org.eclipse.stem.product.feature/build.xml:19: The following error occurred while executing this line:
/usr/local/jenkins/jobs/STEM/workspace/releng/org.eclipse.stem.releng/build/features/org.eclipse.stem.core.feature/build.xml:78: The following error occurred while executing this line:
/usr/local/jenkins/jobs/STEM/workspace/releng/org.eclipse.stem.releng/build/features/org.eclipse.stem.core.feature/build.xml:24: The following error occurred while executing this line:
/usr/local/jenkins/jobs/STEM/workspace/releng/org.eclipse.stem.releng/build/plugins/org.eclipse.stem.graphgenerators/build.xml:254: The following error occurred while executing this line:
/usr/local/jenkins/jobs/STEM/workspace/releng/org.eclipse.stem.releng/build/plugins/org.eclipse.stem.graphgenerators/build.xml:215: java.lang.reflect.InvocationTargetException
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.jdt.core.JDTCompilerAdapter.execute(JDTCompilerAdapter.java:79)
	at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:1134)
	at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:912)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
	at org.eclipse.ant.internal.core.ant.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
	at org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
	at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.apache.tools.ant.Task.perform(Task.java:348)
	at org.apache.tools.ant.Target.execute(Target.java:390)
	at org.apache.tools.ant.Target.performTasks(Target.java:411)
	at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
	at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
	at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
	at org.eclipse.ant.internal.core.ant.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
	at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:663)
	at org.eclipse.ant.internal.core.ant.InternalAntRunner.run(InternalAntRunner.java:535)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.ant.core.AntRunner.run(AntRunner.java:513)
	at org.eclipse.ant.core.AntRunner.start(AntRunner.java:600)
	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
	at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: java.lang.OutOfMemoryError
	at java.util.zip.ZipFile.open(Native Method)
	at java.util.zip.ZipFile.<init>(ZipFile.java:127)
	at java.util.zip.ZipFile.<init>(ZipFile.java:144)
	at org.eclipse.jdt.internal.compiler.batch.ClasspathJar.initialize(ClasspathJar.java:143)
	at org.eclipse.jdt.internal.compiler.batch.FileSystem.<init>(FileSystem.java:135)
	at org.eclipse.jdt.internal.compiler.batch.Main.getLibraryAccess(Main.java:2951)
	at org.eclipse.jdt.internal.compiler.batch.Main.performCompilation(Main.java:3714)
	at org.eclipse.jdt.internal.compiler.batch.Main.compile(Main.java:1679)
	... 217 more
Comment 7 Vladimir Prus CLA 2011-10-06 13:43:50 EDT
I see this as well (Sun JDK 1.6.0_11 and 1.6.0_26). Can somebody confirm that _17 is the official solution? Better yet, can somebody fix this?
Comment 8 Roland S. CLA 2011-10-12 04:15:52 EDT
Able to build with using the Garbage Collector -XX:+UseParNewGC

We have a feature based Product with about 80 features and over 200 plugins (partially  generated) based on http://rcpquickstart.wordpress.com/2007/06/06/getting-started-with-pde-build/ . This is quite fine grained, but anyhow. 

After switching from 3.6.2 to 3.7.1 we also got an memory leak problem. On a 32bit Linux we saw the error:

mmap failed for CEN and END part of zip file

and after a while the build crashed. On a 64bit Linux the memory run full and after starting with swapping the computer "stops" because the build process was able to allocate nearly all phsysical and swap memory. 

This behavior was same with java version "1.6.0_24" or the adviced java version "1.6.0_17". In the end we changed the Garbage collector with -XX:+UseParNewGC and we are able to build our Product on 32bit (1.6.0_26-b03) and 64bit (1.6.0_24-b07) again! 

The ant task now looks something like:


	<target name="pde-build">
		<java classname="org.eclipse.equinox.launcher.Main" fork="true" failonerror="true">
			<arg value="-application" />
			<arg value="org.eclipse.ant.core.antRunner" />
			<arg value="-buildfile" />
			<arg value="${eclipseLocation}/plugins/org.eclipse.pde.build_${pdeBuildPluginVersion}/scripts/productBuild/productBuild.xml" />
			<arg value="-Dtimestamp=${timestamp}" />

			<!-- Change the Garbage Collector because of memory leak -->
			<jvmarg value="-XX:+UseParNewGC" />

			<classpath>
				<pathelement location="${eclipseLocation}/plugins/org.eclipse.equinox.launcher_${equinoxLauncherPluginVersion}.jar" />
			</classpath>

		</java>
	</target>
Comment 9 David Mittman CLA 2011-10-12 12:25:33 EDT
Thanks, Roland. I've applied the GC change to my build system, and builds that were failing under JDK 1.6 Update 27 are now succeeding with the addition of <jvmarg value="-XX:+UseParNewGC" /> to my java Ant task.

My theory is that something about 3.7 and its nested Jar support has triggered a bug in the JVM. Does this need to be reported to Sun/Oracle?

(In reply to comment #8)
> Able to build with using the Garbage Collector -XX:+UseParNewGC
> 
> We have a feature based Product with about 80 features and over 200 plugins
> (partially  generated) based on
> http://rcpquickstart.wordpress.com/2007/06/06/getting-started-with-pde-build/ .
> This is quite fine grained, but anyhow. 
> 
> After switching from 3.6.2 to 3.7.1 we also got an memory leak problem. On a
> 32bit Linux we saw the error:
> 
> mmap failed for CEN and END part of zip file
> 
> and after a while the build crashed. On a 64bit Linux the memory run full and
> after starting with swapping the computer "stops" because the build process was
> able to allocate nearly all phsysical and swap memory. 
> 
> This behavior was same with java version "1.6.0_24" or the adviced java version
> "1.6.0_17". In the end we changed the Garbage collector with -XX:+UseParNewGC
> and we are able to build our Product on 32bit (1.6.0_26-b03) and 64bit
> (1.6.0_24-b07) again! 
> 
> The ant task now looks something like:
> 
> 
>     <target name="pde-build">
>         <java classname="org.eclipse.equinox.launcher.Main" fork="true"
> failonerror="true">
>             <arg value="-application" />
>             <arg value="org.eclipse.ant.core.antRunner" />
>             <arg value="-buildfile" />
>             <arg
> value="${eclipseLocation}/plugins/org.eclipse.pde.build_${pdeBuildPluginVersion}/scripts/productBuild/productBuild.xml"
> />
>             <arg value="-Dtimestamp=${timestamp}" />
> 
>             <!-- Change the Garbage Collector because of memory leak -->
>             <jvmarg value="-XX:+UseParNewGC" />
> 
>             <classpath>
>                 <pathelement
> location="${eclipseLocation}/plugins/org.eclipse.equinox.launcher_${equinoxLauncherPluginVersion}.jar"
> />
>             </classpath>
> 
>         </java>
>     </target>
Comment 10 Nikolas Falco CLA 2011-10-24 10:17:24 EDT
Yeah! I have the same problem.
Updated headless build from 3.7.0 (I20110310-1119) to 3.7.0 official (3.7.1 is the same) and process crashes with an OOM (OutOfMemory). I notice during the new countless @dot.nestedJars target calls.
We actually build with jdk 1.6 b26 and b29.

I updated both eclipse and JVM from 32bit to 64bit. No more OOM but the build machine use all of 4GB of machine (it goes in swap mode, argh!!).
Our products are more than 120 plugins (about 10 features). Build time increase from 20 minutes (about) to 166 minutes!
Before update i launch 3.7.0 Milestone + JVM 32 with 1024m, no problem. Now with 2048m impossible to finish, no cuncurrent builds are possible. When build process do the @dot.nestedJars, htop shows memory goes to full and swap drastically.

Now i try -XX:+UseParNewGC JVM argument, but is necessary do 2000 times the nestedJars target (i think is done due the request feature to build against nested jar).
Comment 11 Curtis Windatt CLA 2011-10-24 10:28:58 EDT
Bumping severity and adding helpwanted keyword. There are currently no PDE Build committers available to work on this.
Comment 12 Nikolas Falco CLA 2011-10-24 12:13:35 EDT
Using JVM parameter -XX:+UseParNewGC with eclipse 3.7.1 and jdk 1.6 b29 works. No OOM occurs. Didn't test with 64bit eclipse and/or JVM.
Comment 13 Curtis Windatt CLA 2011-10-25 11:40:55 EDT
*** Bug 350769 has been marked as a duplicate of this bug. ***
Comment 14 Missing name Mising name CLA 2011-11-15 09:46:57 EST
Just bumping this.
Very annoying and makes the Export -> Deployable plugins and fragments context menu option totally unusable.
Somebody please fix this!
Comment 15 Eric Rizzo CLA 2012-04-17 10:49:08 EDT
I don't think this is isolated to Linux or Eclipse 3.7; I'm seeing it on a Windows XP machine running Eclipse 3.8M6
Comment 16 Eric Rizzo CLA 2012-04-17 11:00:19 EDT
I wonder if this is caused by https://issues.apache.org/bugzilla/show_bug.cgi?id=42696
That Ant bug was fixed in version 1.8.3, but I notice that in my 3.8M6 the Ant bundle version is 1.8.2
Comment 17 Michael Rennie CLA 2012-04-17 17:07:48 EDT
(In reply to comment #16)
> I wonder if this is caused by
> https://issues.apache.org/bugzilla/show_bug.cgi?id=42696
> That Ant bug was fixed in version 1.8.3, but I notice that in my 3.8M6 the Ant
> bundle version is 1.8.2

In 3.8/4.2 we have updated the built in Ant to 1.8.3 (see bug 370357). In the mean time you can point Eclipse to Ant 1.8.3 by doing:

1. grab the latest version of Ant 1.8.2 from ant.apache.org
2. navigate to the Ant > Runtime preference page
3. click the 'Ant Home...' button and point Eclipse to the version of Ant you want to use.

This would allow you to test and see if Ant 1.8.3 does indeed resolve the OOME problems.

I will caution you though that if you manually change the Ant home settings they WILL NOT automatically update as you update Eclipse - Ant home will always point to the user specified version until you press 'Restore Defaults' on the Ant > Runtime pref page.
Comment 18 Michael Ebinger CLA 2012-04-27 07:57:38 EDT
I can confirm that the cause of this memory leak ist an ant bug in unzip task. The attachment https://bugs.eclipse.org/bugs/attachment.cgi?id=212495 from Bug 370357 solves the problem. Just install this 1.8.3 ant Plugin in the dropins folder and the memory leak from ant is fixed.
Comment 19 Curtis Windatt CLA 2012-04-27 10:51:11 EDT
(In reply to comment #18)
> I can confirm that the cause of this memory leak ist an ant bug in unzip task.
> The attachment https://bugs.eclipse.org/bugs/attachment.cgi?id=212495 from Bug
> 370357 solves the problem. Just install this 1.8.3 ant Plugin in the dropins
> folder and the memory leak from ant is fixed.

Thanks for getting back to us.  Closing as NOT_ECLIPSE.