We're updating the issue view to help you get more done. 

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

External issue ID

None

Components

Fix versions

Priority

Medium