DaCapo eclipse fails with Apache Harmony class library

Description

Without changing the heap DaCapo eclipse fails with the Harmony class libraries:

GCWarning: Live ratio greater than 1: 2.15
java.lang.reflect.InvocationTargetException
java.lang.reflect.InvocationTargetException
at .<invisible method>(Unknown Source)
at java.lang.Throwable.fillInStackTrace(Throwable.java:131)
at java.lang.Throwable.<init>(Throwable.java:77)
at java.lang.Throwable.<init>(Throwable.java:99)
at java.lang.Exception.<init>(Exception.java:61)
at java.lang.reflect.InvocationTargetException.<init>(InvocationTargetException.java:49)
at java.lang.reflect.VMCommonLibrarySupport.construct(VMCommonLibrarySupport.java:437)
at java.lang.reflect.Constructor.newInstance(Constructor.java:275)
at dacapo.TestHarness.runBenchmark(TestHarness.java:263)
at dacapo.TestHarness.main(TestHarness.java:235)
at Harness.main(Harness.java:5)
Caused by: java.lang.OutOfMemoryError
at .<invisible method>(Unknown Source)
at org.jikesrvm.scheduler.greenthreads.GreenThread.morph(GreenThread.java:478)
at org.jikesrvm.scheduler.greenthreads.GreenThread.yield(GreenThread.java:399)
at org.jikesrvm.scheduler.greenthreads.GreenScheduler.yieldInternal(GreenScheduler.java:637)
at org.jikesrvm.scheduler.Scheduler.yield(Scheduler.java:280)
at org.jikesrvm.mm.mminterface.Handshake.requestAndAwaitCompletion(Handshake.java:72)
at org.jikesrvm.mm.mminterface.CollectorThread.collect(CollectorThread.java:272)
at org.jikesrvm.mm.mmtk.Collection.triggerCollectionStatic(Collection.java:127)
at org.jikesrvm.mm.mmtk.Collection.triggerCollection(Collection.java:79)
at org.mmtk.plan.Plan.poll(Plan.java:917)
at org.mmtk.policy.Space.acquire(Space.java:397)
at org.mmtk.utility.alloc.LargeObjectAllocator.allocSlowOnce(LargeObjectAllocator.java:99)
at org.mmtk.utility.alloc.Allocator.allocSlowInline(Allocator.java:229)
at org.mmtk.utility.alloc.Allocator.allocSlow(Allocator.java:209)
at org.mmtk.utility.alloc.LargeObjectAllocator.alloc(LargeObjectAllocator.java:77)
at org.mmtk.plan.MutatorContext.alloc(MutatorContext.java:188)
at org.mmtk.plan.generational.GenMutator.alloc(GenMutator.java:90)
at org.mmtk.plan.generational.marksweep.GenMSMutator.alloc(GenMSMutator.java:90)
at org.jikesrvm.mm.mminterface.MemoryManager.allocateSpace(MemoryManager.java:743)
at org.jikesrvm.mm.mminterface.MemoryManager.allocateArrayInternal(MemoryManager.java:718)
at org.jikesrvm.mm.mminterface.MemoryManager.allocateArray(MemoryManager.java:684)
at org.jikesrvm.runtime.RuntimeEntrypoints.resolvedNewArray(RuntimeEntrypoints.java:378)
at org.jikesrvm.jni.JNIFunctions.NewByteArray(JNIFunctions.java:4180)
at java.util.zip.ZipFile.inflateEntryImpl2(ZipFile.java:0)
at java.util.zip.ZipFile.getInputStream(ZipFile.java:203)
at java.util.jar.JarFile.getInputStream(JarFile.java:351)
at org.apache.harmony.luni.internal.net.www.protocol.jar.JarURLConnection.getInputStream(JarURLConnection.java:230)
at java.net.URL.openStream(URL.java:671)
at dacapo.Benchmark.unpackZipFileResource(Benchmark.java:469)
at dacapo.Benchmark.prepare(Benchmark.java:159)
at dacapo.Benchmark.<init>(Benchmark.java:151)
at dacapo.eclipse.EclipseHarness.<init>(EclipseHarness.java:17)
at .<invisible method>(Unknown Source)
at org.jikesrvm.runtime.Reflection.invoke(Reflection.java:132)
at org.jikesrvm.runtime.Reflection.invoke(Reflection.java:45)
at java.lang.reflect.VMCommonLibrarySupport.construct(VMCommonLibrarySupport.java:435)
... 4 more

Running with -Xms54M fixes the problem.

Environment

Jikes RVM r14855 Harmony r681495 prototype configuration SuSE Linux 10.3 x86-64

Status

Assignee

Steve Blackburn

Reporter

Ian Rogers

Labels

None

Components

Fix versions

Priority

Medium
Configure