Details

      Description

      SPECjvm98 ran on 2.9.0 on PPC/AIX.

      It is failing now. Must be fixed before 2.9.1 release.

        Attachments

          Activity

          Hide
          dgrove David Grove added a comment -

          I checked half a dozen of the failing prototype test cases on ppc64-aix. They all had the appended error (this one is from _213_javac).

          Fatal error: ArrayIndexOutOfBoundsException within uninterruptible region.
          Died in GC:
          Exiting virtual machine due to uninterruptibility violation.

          – Stack –
          at [0x00000000400198c0] Lorg/jikesrvm/VM; sysFail(Ljava/lang/String;)V at line 2027
          at [0x00000000400198f0] Lorg/jikesrvm/runtime/VM_Runtime; deliverHardwareException(II)V at line 710
          at [0x00000000400199b0] <hardware trap>
          at [0x00000000400199c8] Lorg/mmtk/utility/heap/Map; getDescriptorForAddress(Lorg/vmmagic/unboxed/Address;)I at line 291
          at [0x0000000040019a10] Lorg/mmtk/policy/Space; getDescriptorForAddress(Lorg/vmmagic/unboxed/Address;)I at line 359
          at [0x0000000040019a48] Lorg/mmtk/policy/Space; isInSpace(ILorg/vmmagic/unboxed/Address;)Z at line 324
          at [0x0000000040019ac0] Lorg/mmtk/policy/Space; isInSpace(ILorg/vmmagic/unboxed/ObjectReference;)Z at line 308
          at [0x0000000040019b10] Lorg/mmtk/plan/generational/marksweep/GenMSMatureTraceLocal; traceObject(Lorg/vmmagic/unboxed/ObjectReference;)Lorg/vmmagic/unboxed/ObjectReference; at line 52
          at [0x0000000040019b60] Lorg/mmtk/plan/TraceLocal; traceObject(Lorg/vmmagic/unboxed/ObjectReference;Z)Lorg/vmmagic/unboxed/ObjectReference; at line 293
          at [0x0000000040019bb8] Lorg/mmtk/plan/TraceLocal; processRootEdge(Lorg/vmmagic/unboxed/Address;)V at line 120
          at [0x0000000040019c28] Lorg/jikesrvm/mm/mmtk/ScanBootImage; processChunk(Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/mmtk/plan/TraceLocal;)V at line 140
          at [0x0000000040019d08] Lorg/jikesrvm/mm/mmtk/ScanBootImage; scanBootImage(Lorg/mmtk/plan/TraceLocal;)V at line 79
          at [0x0000000040019dc8] Lorg/jikesrvm/mm/mmtk/Scanning; computeBootImageRoots(Lorg/mmtk/plan/TraceLocal;)V at line 278
          at [0x0000000040019e08] Lorg/mmtk/plan/generational/GenCollector; collectionPhase(SZ)V at line 98
          at [0x0000000040019e68] Lorg/mmtk/plan/generational/marksweep/GenMSCollector; collectionPhase(SZ)V at line 143
          at [0x0000000040019ec8] Lorg/mmtk/plan/Phase; processPhaseStack(Z)Z at line 477
          at [0x0000000040019fd8] Lorg/mmtk/plan/Phase; beginNewPhaseStack(I)Z at line 390
          at [0x000000004001a020] Lorg/mmtk/plan/StopTheWorldCollector; collect()V at line 39
          at [0x000000004001a050] Lorg/jikesrvm/memorymanagers/mminterface/VM_CollectorThread; run()V at line 383
          at [0x000000004001a1e0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606
          Virtual machine state:

          – Processors –
          Processor 1 running thread4-daemon-collector-RUNNABLE
          system thread id 1
          transferQueue:7-main-RUNNABLE
          readyQueue:
          ioQueue:
          processWaitQueue:
          idleQueue:2-daemon-idle-RUNNABLE
          status: IN_JAVA
          timeSliceExpired: 0
          Processor 2 (me) running thread5-daemon-collector-RUNNABLE
          system thread id 258
          transferQueue:
          readyQueue:
          ioQueue:
          processWaitQueue:
          idleQueue:3-daemon-idle-RUNNABLE
          status: IN_JAVA
          timeSliceExpired: 0

          – System Queues –
          wakeupQueue:
          debuggerQueue: 8-daemon-RUNNABLE
          collectorQueue:
          finalizerQueue: 6-daemon-BLOCKED

          – Threads –
          2-daemon-idle-RUNNABLE
          3-daemon-idle-RUNNABLE
          4-daemon-collector-RUNNABLE
          5-daemon-collector-RUNNABLE
          6-daemon-BLOCKED
          7-main-RUNNABLE
          8-daemon-RUNNABLE

          – Locks available –
          processor 1: 0 locks allocated, 0 locks freed, 0 free looks, 0 unallocated slots
          processor 2: 0 locks allocated, 0 locks freed, 0 free looks, 0 unallocated slots

          – Locks in use –

          Dumping stack of active thread

          – Stack –
          at [0x0000000040019838] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenScheduler; dumpVirtualMachineInternal()V at line 475
          at [0x00000000400198a0] Lorg/jikesrvm/scheduler/VM_Scheduler; dumpVirtualMachine()V at line 237
          at [0x00000000400198c0] Lorg/jikesrvm/VM; sysFail(Ljava/lang/String;)V at line 2029
          at [0x00000000400198f0] Lorg/jikesrvm/runtime/VM_Runtime; deliverHardwareException(II)V at line 710
          at [0x00000000400199b0] <hardware trap>
          at [0x00000000400199c8] Lorg/mmtk/utility/heap/Map; getDescriptorForAddress(Lorg/vmmagic/unboxed/Address;)I at line 291
          at [0x0000000040019a10] Lorg/mmtk/policy/Space; getDescriptorForAddress(Lorg/vmmagic/unboxed/Address;)I at line 359
          at [0x0000000040019a48] Lorg/mmtk/policy/Space; isInSpace(ILorg/vmmagic/unboxed/Address;)Z at line 324
          at [0x0000000040019ac0] Lorg/mmtk/policy/Space; isInSpace(ILorg/vmmagic/unboxed/ObjectReference;)Z at line 308
          at [0x0000000040019b10] Lorg/mmtk/plan/generational/marksweep/GenMSMatureTraceLocal; traceObject(Lorg/vmmagic/unboxed/ObjectReference;)Lorg/vmmagic/unboxed/ObjectReference; at line 52
          at [0x0000000040019b60] Lorg/mmtk/plan/TraceLocal; traceObject(Lorg/vmmagic/unboxed/ObjectReference;Z)Lorg/vmmagic/unboxed/ObjectReference; at line 293
          at [0x0000000040019bb8] Lorg/mmtk/plan/TraceLocal; processRootEdge(Lorg/vmmagic/unboxed/Address;)V at line 120
          at [0x0000000040019c28] Lorg/jikesrvm/mm/mmtk/ScanBootImage; processChunk(Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/mmtk/plan/TraceLocal;)V at line 140
          at [0x0000000040019d08] Lorg/jikesrvm/mm/mmtk/ScanBootImage; scanBootImage(Lorg/mmtk/plan/TraceLocal;)V at line 79
          at [0x0000000040019dc8] Lorg/jikesrvm/mm/mmtk/Scanning; computeBootImageRoots(Lorg/mmtk/plan/TraceLocal;)V at line 278
          at [0x0000000040019e08] Lorg/mmtk/plan/generational/GenCollector; collectionPhase(SZ)V at line 98
          at [0x0000000040019e68] Lorg/mmtk/plan/generational/marksweep/GenMSCollector; collectionPhase(SZ)V at line 143
          at [0x0000000040019ec8] Lorg/mmtk/plan/Phase; processPhaseStack(Z)Z at line 477
          at [0x0000000040019fd8] Lorg/mmtk/plan/Phase; beginNewPhaseStack(I)Z at line 390
          at [0x000000004001a020] Lorg/mmtk/plan/StopTheWorldCollector; collect()V at line 39
          at [0x000000004001a050] Lorg/jikesrvm/memorymanagers/mminterface/VM_CollectorThread; run()V at line 383
          at [0x000000004001a1e0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606
          Attempting to dump the stack of all other live threads
          This is somewhat risky since if the thread is running we're going to be quite confused
          2-daemon-idle-RUNNABLE
          – Stack –
          at [0x000000004084aea8] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; morph(Z)V at line 443
          at [0x000000004084aef0] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; yield(Lorg/jikesrvm/scheduler/greenthreads/VM_AbstractThreadQueue;)V at line 461
          at [0x000000004084af38] Lorg/jikesrvm/scheduler/greenthreads/VM_IdleThread; run()V at line 87
          at [0x000000004084afd0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606
          3-daemon-idle-RUNNABLE
          – Stack –
          at [0x0000000040892cf8] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; morph(Z)V at line 443
          at [0x0000000040892d40] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; timerTickYield(I)V at line 371
          at [0x0000000040892d88] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; yieldpoint(I)V at line 349
          at [0x0000000040892e08] Lorg/jikesrvm/scheduler/VM_Thread; yieldpointFromBackedge()V at line 808
          at [0x0000000040892f38] Lorg/jikesrvm/scheduler/greenthreads/VM_IdleThread; run()V at line 101
          at [0x0000000040892fd0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606
          4-daemon-collector-RUNNABLE
          – Stack –
          at [0x000000004000edc0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606
          6-daemon-BLOCKED
          – Stack –
          at [0x00000000408dae68] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; morph(Z)V at line 443
          at [0x00000000408daeb0] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; yield(Lorg/jikesrvm/scheduler/greenthreads/VM_AbstractThreadQueue;Lorg/jikesrvm/scheduler/VM_ProcessorLock;)V at line 398
          at [0x00000000408daf10] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenScheduler; suspendFinalizerThreadInternal()V at line 633
          at [0x00000000408daf50] Lorg/jikesrvm/scheduler/VM_Scheduler; suspendFinalizerThread()V at line 417
          at [0x00000000408daf70] Lorg/jikesrvm/scheduler/VM_FinalizerThread; run()V at line 54
          at [0x00000000408dafd0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606
          7-main-RUNNABLE
          – Stack –
          at [0x0000000040985f40] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; morph(Z)V at line 443
          at [0x0000000040985f88] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; yield()V at line 382
          at [0x0000000040985fc0] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenScheduler; yieldInternal()V at line 607
          at [0x0000000040985fe8] Lorg/jikesrvm/scheduler/VM_Scheduler; yield()V at line 270
          at [0x0000000040986008] Lorg/jikesrvm/memorymanagers/mminterface/VM_Handshake; requestAndAwaitCompletion(I)V at line 73
          at [0x0000000040986050] Lorg/jikesrvm/memorymanagers/mminterface/VM_CollectorThread; collect(Lorg/jikesrvm/memorymanagers/mminterface/VM_Handshake;I)V at line 270
          at [0x0000000040986098] Lorg/jikesrvm/mm/mmtk/Collection; triggerCollectionStatic(I)V at line 127
          at [0x00000000409860d0] Lorg/jikesrvm/mm/mmtk/Collection; triggerCollection(I)V at line 79
          at [0x0000000040986110] Lorg/mmtk/plan/Plan; poll(ZLorg/mmtk/policy/Space;)Z at line 840
          at [0x0000000040986170] Lorg/mmtk/policy/Space; acquire(I)Lorg/vmmagic/unboxed/Address; at line 394
          at [0x00000000409861e0] Lorg/mmtk/utility/alloc/BumpPointer; allocSlowOnce(III)Lorg/vmmagic/unboxed/Address; at line 258
          at [0x0000000040986280] Lorg/mmtk/utility/alloc/Allocator; allocSlowInline(III)Lorg/vmmagic/unboxed/Address; at line 229
          at [0x0000000040986338] Lorg/mmtk/utility/alloc/BumpPointer; allocSlow(Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;II)Lorg/vmmagic/unboxed/Address; at line 172
          at [0x00000000409863e0] Lorg/mmtk/utility/alloc/BumpPointer; alloc(III)Lorg/vmmagic/unboxed/Address; at line 146
          at [0x0000000040986480] Lorg/mmtk/plan/generational/GenMutator; alloc(IIIII)Lorg/vmmagic/unboxed/Address; at line 88
          at [0x0000000040986528] Lorg/mmtk/plan/generational/marksweep/GenMSMutator; alloc(IIIII)Lorg/vmmagic/unboxed/Address; at line 89
          at [0x00000000409865d0] Lorg/jikesrvm/memorymanagers/mminterface/MM_Interface; allocateSpace(Lorg/jikesrvm/memorymanagers/mminterface/Selected$Mutator;IIIII)Lorg/vmmagic/unboxed/Address; at line 664
          at [0x0000000040986688] Lorg/jikesrvm/memorymanagers/mminterface/MM_Interface; allocateArrayInternal(II[Ljava/lang/Object;IIII)Ljava/lang/Object; at line 639
          at [0x0000000040986770] Lorg/jikesrvm/memorymanagers/mminterface/MM_Interface; allocateArray(III[Ljava/lang/Object;IIII)Ljava/lang/Object; at line 605
          at [0x0000000040986860] Lorg/jikesrvm/runtime/VM_Runtime; resolvedNewArray(III[Ljava/lang/Object;IIII)Ljava/lang/Object; at line 463
          at [0x0000000040986938] Ljava/lang/StringBuffer; <init>(Ljava/lang/String;)V at line 150
          at [0x0000000040986998] Lspec/benchmarks/_213_javac/Type; tClass(Lspec/benchmarks/_213_javac/Identifier;)Lspec/benchmarks/_213_javac/Type; at line 167
          at [0x0000000040986a10] Lspec/benchmarks/_213_javac/ClassDeclaration; getType()Lspec/benchmarks/_213_javac/Type; at line 76
          at [0x0000000040986a40] Lspec/benchmarks/_213_javac/Environment; isMoreSpecific(Lspec/benchmarks/_213_javac/FieldDefinition;Lspec/benchmarks/_213_javac/FieldDefinition;)Z at line 179
          at [0x0000000040986ad0] Lspec/benchmarks/_213_javac/ClassDefinition; matchMethod(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/ClassDefinition;Lspec/benchmarks/_213_javac/Identifier;[Lspec/benchmarks/_213_javac/Type;Lspec/benchmarks/_213_javac/FieldDefinition;Z)Lspec/benchmarks/_213_javac/FieldDefinition; at line 390
          at [0x0000000040986be0] Lspec/benchmarks/_213_javac/ClassDefinition; matchMethod(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/ClassDefinition;Lspec/benchmarks/_213_javac/Identifier;[Lspec/benchmarks/_213_javac/Type;)Lspec/benchmarks/_213_javac/FieldDefinition; at line 432
          at [0x0000000040986c90] Lspec/benchmarks/_213_javac/Expression; codeAppend(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;Lspec/benchmarks/_213_javac/ClassDeclaration;)V at line 263
          at [0x0000000040986d50] Lspec/benchmarks/_213_javac/AddExpression; codeAppend(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;Lspec/benchmarks/_213_javac/ClassDeclaration;)V at line 105
          at [0x0000000040986de0] Lspec/benchmarks/_213_javac/AddExpression; codeValue(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;)V at line 120
          at [0x0000000040986e90] Lspec/benchmarks/_213_javac/NewInstanceExpression; codeValue(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;)V at line 205
          at [0x0000000040986f18] Lspec/benchmarks/_213_javac/ConvertExpression; codeValue(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;)V at line 117
          at [0x0000000040986fa0] Lspec/benchmarks/_213_javac/ThrowStatement; code(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;)V at line 94
          at [0x0000000040987018] Lspec/benchmarks/_213_javac/IfStatement; code(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;)V at line 127
          at [0x00000000409870d0] Lspec/benchmarks/_213_javac/CompoundStatement; code(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;)V at line 135
          at [0x0000000040987168] Lspec/benchmarks/_213_javac/SourceField; code(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Assembler;)V at line 403
          at [0x0000000040987210] Lspec/benchmarks/_213_javac/SourceField; code(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Assembler;)V at line 365
          at [0x00000000409872b8] Lspec/benchmarks/_213_javac/SourceClass; compileClass(Lspec/benchmarks/_213_javac/Environment;Ljava/io/OutputStream;)V at line 565
          at [0x0000000040987470] Lspec/benchmarks/_213_javac/SourceClass; compile(Lspec/benchmarks/_213_javac/Environment;Ljava/io/OutputStream;)V at line 528
          at [0x0000000040987500] Lspec/benchmarks/_213_javac/Javac; compile([Ljava/lang/String;)Z at line 198
          at [0x0000000040987668] Lspec/benchmarks/_213_javac/Javac; inst_main([Ljava/lang/String;)J at line 305
          at [0x0000000040987718] Lspec/benchmarks/_213_javac/Main; runBenchmark([Ljava/lang/String;)J at line 45
          at [0x0000000040987798] Lspec/benchmarks/_213_javac/Main; harnessMain([Ljava/lang/String;)J at line 57
          at [0x00000000409877e0] Lspec/harness/ProgramRunner; runOnce(Ljava/lang/Object;IJILjava/util/Properties;)Lspec/harness/BenchmarkTime; at line 382
          at [0x00000000409878d0] Lspec/harness/ProgramRunner; runBenchmark2()Ljava/util/Properties; at line 305
          at [0x0000000040987a18] Lspec/harness/ProgramRunner; runBenchmark()V at line 238
          at [0x0000000040987a78] Lspec/harness/ProgramRunner; run()V at line 206
          at [0x0000000040987ab0] Lspec/harness/RunProgram; run(Ljava/lang/String;ZLjava/util/Properties;Lspec/harness/BenchmarkDone;)V at line 60
          at [0x0000000040987c28] LSpecApplication; runBenchmark(Ljava/lang/String;Z)V at line 239
          at [0x0000000040987c88] LSpecApplication; main([Ljava/lang/String;)V at line 155
          at [0x0000000040987d38] <invisible method>
          at [0x0000000040987d50] Lorg/jikesrvm/runtime/VM_Reflection; invoke(Lorg/jikesrvm/classloader/VM_Method;Ljava/lang/Object;[Ljava/lang/Object;Z)Ljava/lang/Object; at line 132
          at [0x0000000040987eb8] Lorg/jikesrvm/scheduler/VM_MainThread; run()V at line 193
          at [0x0000000040987f60] Lorg/jikesrvm/scheduler/VM_Thread; run()V at line 581
          at [0x0000000040987fd0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606
          8-daemon-RUNNABLE
          – Stack –
          JikesRVM: internal error: recursive use of hardware exception registers (exiting)
          VM_Scheduler.dumpStack(): in a recursive call, 2 deep.

          – Stack –
          at [0x00000000400197f0] Lorg/jikesrvm/scheduler/VM_Scheduler; dumpStack(Lorg/vmmagic/unboxed/Address;)V at line 645
          at [0x0000000040019838] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenScheduler; dumpVirtualMachineInternal()V at line 485
          at [0x00000000400198a0] Lorg/jikesrvm/scheduler/VM_Scheduler; dumpVirtualMachine()V at line 237
          at [0x00000000400198c0] Lorg/jikesrvm/VM; sysFail(Ljava/lang/String;)V at line 2029
          at [0x00000000400198f0] Lorg/jikesrvm/runtime/VM_Runtime; deliverHardwareException(II)V at line 710
          at [0x00000000400199b0] <hardware trap>
          at [0x00000000400199c8] Lorg/mmtk/utility/heap/Map; getDescriptorForAddress(Lorg/vmmagic/unboxed/Address;)I at line 291
          at [0x0000000040019a10] Lorg/mmtk/policy/Space; getDescriptorForAddress(Lorg/vmmagic/unboxed/Address;)I at line 359
          at [0x0000000040019a48] Lorg/mmtk/policy/Space; isInSpace(ILorg/vmmagic/unboxed/Address;)Z at line 324
          at [0x0000000040019ac0] Lorg/mmtk/policy/Space; isInSpace(ILorg/vmmagic/unboxed/ObjectReference;)Z at line 308
          at [0x0000000040019b10] Lorg/mmtk/plan/generational/marksweep/GenMSMatureTraceLocal; traceObject(Lorg/vmmagic/unboxed/ObjectReference;)Lorg/vmmagic/unboxed/ObjectReference; at line 52
          at [0x0000000040019b60] Lorg/mmtk/plan/TraceLocal; traceObject(Lorg/vmmagic/unboxed/ObjectReference;Z)Lorg/vmmagic/unboxed/ObjectReference; at line 293
          at [0x0000000040019bb8] Lorg/mmtk/plan/TraceLocal; processRootEdge(Lorg/vmmagic/unboxed/Address;)V at line 120
          at [0x0000000040019c28] Lorg/jikesrvm/mm/mmtk/ScanBootImage; processChunk(Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/mmtk/plan/TraceLocal;)V at line 140
          at [0x0000000040019d08] Lorg/jikesrvm/mm/mmtk/ScanBootImage; scanBootImage(Lorg/mmtk/plan/TraceLocal;)V at line 79
          at [0x0000000040019dc8] Lorg/jikesrvm/mm/mmtk/Scanning; computeBootImageRoots(Lorg/mmtk/plan/TraceLocal;)V at line 278
          at [0x0000000040019e08] Lorg/mmtk/plan/generational/GenCollector; collectionPhase(SZ)V at line 98
          at [0x0000000040019e68] Lorg/mmtk/plan/generational/marksweep/GenMSCollector; collectionPhase(SZ)V at line 143
          at [0x0000000040019ec8] Lorg/mmtk/plan/Phase; processPhaseStack(Z)Z at line 477
          at [0x0000000040019fd8] Lorg/mmtk/plan/Phase; beginNewPhaseStack(I)Z at line 390
          at [0x000000004001a020] Lorg/mmtk/plan/StopTheWorldCollector; collect()V at line 39
          at [0x000000004001a050] Lorg/jikesrvm/memorymanagers/mminterface/VM_CollectorThread; run()V at line 383
          at [0x000000004001a1e0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606

          Show
          dgrove David Grove added a comment - I checked half a dozen of the failing prototype test cases on ppc64-aix. They all had the appended error (this one is from _213_javac). Fatal error: ArrayIndexOutOfBoundsException within uninterruptible region. Died in GC: Exiting virtual machine due to uninterruptibility violation. – Stack – at [0x00000000400198c0] Lorg/jikesrvm/VM; sysFail(Ljava/lang/String;)V at line 2027 at [0x00000000400198f0] Lorg/jikesrvm/runtime/VM_Runtime; deliverHardwareException(II)V at line 710 at [0x00000000400199b0] <hardware trap> at [0x00000000400199c8] Lorg/mmtk/utility/heap/Map; getDescriptorForAddress(Lorg/vmmagic/unboxed/Address;)I at line 291 at [0x0000000040019a10] Lorg/mmtk/policy/Space; getDescriptorForAddress(Lorg/vmmagic/unboxed/Address;)I at line 359 at [0x0000000040019a48] Lorg/mmtk/policy/Space; isInSpace(ILorg/vmmagic/unboxed/Address;)Z at line 324 at [0x0000000040019ac0] Lorg/mmtk/policy/Space; isInSpace(ILorg/vmmagic/unboxed/ObjectReference;)Z at line 308 at [0x0000000040019b10] Lorg/mmtk/plan/generational/marksweep/GenMSMatureTraceLocal; traceObject(Lorg/vmmagic/unboxed/ObjectReference;)Lorg/vmmagic/unboxed/ObjectReference; at line 52 at [0x0000000040019b60] Lorg/mmtk/plan/TraceLocal; traceObject(Lorg/vmmagic/unboxed/ObjectReference;Z)Lorg/vmmagic/unboxed/ObjectReference; at line 293 at [0x0000000040019bb8] Lorg/mmtk/plan/TraceLocal; processRootEdge(Lorg/vmmagic/unboxed/Address;)V at line 120 at [0x0000000040019c28] Lorg/jikesrvm/mm/mmtk/ScanBootImage; processChunk(Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/mmtk/plan/TraceLocal;)V at line 140 at [0x0000000040019d08] Lorg/jikesrvm/mm/mmtk/ScanBootImage; scanBootImage(Lorg/mmtk/plan/TraceLocal;)V at line 79 at [0x0000000040019dc8] Lorg/jikesrvm/mm/mmtk/Scanning; computeBootImageRoots(Lorg/mmtk/plan/TraceLocal;)V at line 278 at [0x0000000040019e08] Lorg/mmtk/plan/generational/GenCollector; collectionPhase(SZ)V at line 98 at [0x0000000040019e68] Lorg/mmtk/plan/generational/marksweep/GenMSCollector; collectionPhase(SZ)V at line 143 at [0x0000000040019ec8] Lorg/mmtk/plan/Phase; processPhaseStack(Z)Z at line 477 at [0x0000000040019fd8] Lorg/mmtk/plan/Phase; beginNewPhaseStack(I)Z at line 390 at [0x000000004001a020] Lorg/mmtk/plan/StopTheWorldCollector; collect()V at line 39 at [0x000000004001a050] Lorg/jikesrvm/memorymanagers/mminterface/VM_CollectorThread; run()V at line 383 at [0x000000004001a1e0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606 Virtual machine state: – Processors – Processor 1 running thread4-daemon-collector-RUNNABLE system thread id 1 transferQueue:7-main-RUNNABLE readyQueue: ioQueue: processWaitQueue: idleQueue:2-daemon-idle-RUNNABLE status: IN_JAVA timeSliceExpired: 0 Processor 2 (me) running thread5-daemon-collector-RUNNABLE system thread id 258 transferQueue: readyQueue: ioQueue: processWaitQueue: idleQueue:3-daemon-idle-RUNNABLE status: IN_JAVA timeSliceExpired: 0 – System Queues – wakeupQueue: debuggerQueue: 8-daemon-RUNNABLE collectorQueue: finalizerQueue: 6-daemon-BLOCKED – Threads – 2-daemon-idle-RUNNABLE 3-daemon-idle-RUNNABLE 4-daemon-collector-RUNNABLE 5-daemon-collector-RUNNABLE 6-daemon-BLOCKED 7-main-RUNNABLE 8-daemon-RUNNABLE – Locks available – processor 1: 0 locks allocated, 0 locks freed, 0 free looks, 0 unallocated slots processor 2: 0 locks allocated, 0 locks freed, 0 free looks, 0 unallocated slots – Locks in use – Dumping stack of active thread – Stack – at [0x0000000040019838] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenScheduler; dumpVirtualMachineInternal()V at line 475 at [0x00000000400198a0] Lorg/jikesrvm/scheduler/VM_Scheduler; dumpVirtualMachine()V at line 237 at [0x00000000400198c0] Lorg/jikesrvm/VM; sysFail(Ljava/lang/String;)V at line 2029 at [0x00000000400198f0] Lorg/jikesrvm/runtime/VM_Runtime; deliverHardwareException(II)V at line 710 at [0x00000000400199b0] <hardware trap> at [0x00000000400199c8] Lorg/mmtk/utility/heap/Map; getDescriptorForAddress(Lorg/vmmagic/unboxed/Address;)I at line 291 at [0x0000000040019a10] Lorg/mmtk/policy/Space; getDescriptorForAddress(Lorg/vmmagic/unboxed/Address;)I at line 359 at [0x0000000040019a48] Lorg/mmtk/policy/Space; isInSpace(ILorg/vmmagic/unboxed/Address;)Z at line 324 at [0x0000000040019ac0] Lorg/mmtk/policy/Space; isInSpace(ILorg/vmmagic/unboxed/ObjectReference;)Z at line 308 at [0x0000000040019b10] Lorg/mmtk/plan/generational/marksweep/GenMSMatureTraceLocal; traceObject(Lorg/vmmagic/unboxed/ObjectReference;)Lorg/vmmagic/unboxed/ObjectReference; at line 52 at [0x0000000040019b60] Lorg/mmtk/plan/TraceLocal; traceObject(Lorg/vmmagic/unboxed/ObjectReference;Z)Lorg/vmmagic/unboxed/ObjectReference; at line 293 at [0x0000000040019bb8] Lorg/mmtk/plan/TraceLocal; processRootEdge(Lorg/vmmagic/unboxed/Address;)V at line 120 at [0x0000000040019c28] Lorg/jikesrvm/mm/mmtk/ScanBootImage; processChunk(Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/mmtk/plan/TraceLocal;)V at line 140 at [0x0000000040019d08] Lorg/jikesrvm/mm/mmtk/ScanBootImage; scanBootImage(Lorg/mmtk/plan/TraceLocal;)V at line 79 at [0x0000000040019dc8] Lorg/jikesrvm/mm/mmtk/Scanning; computeBootImageRoots(Lorg/mmtk/plan/TraceLocal;)V at line 278 at [0x0000000040019e08] Lorg/mmtk/plan/generational/GenCollector; collectionPhase(SZ)V at line 98 at [0x0000000040019e68] Lorg/mmtk/plan/generational/marksweep/GenMSCollector; collectionPhase(SZ)V at line 143 at [0x0000000040019ec8] Lorg/mmtk/plan/Phase; processPhaseStack(Z)Z at line 477 at [0x0000000040019fd8] Lorg/mmtk/plan/Phase; beginNewPhaseStack(I)Z at line 390 at [0x000000004001a020] Lorg/mmtk/plan/StopTheWorldCollector; collect()V at line 39 at [0x000000004001a050] Lorg/jikesrvm/memorymanagers/mminterface/VM_CollectorThread; run()V at line 383 at [0x000000004001a1e0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606 Attempting to dump the stack of all other live threads This is somewhat risky since if the thread is running we're going to be quite confused 2-daemon-idle-RUNNABLE – Stack – at [0x000000004084aea8] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; morph(Z)V at line 443 at [0x000000004084aef0] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; yield(Lorg/jikesrvm/scheduler/greenthreads/VM_AbstractThreadQueue;)V at line 461 at [0x000000004084af38] Lorg/jikesrvm/scheduler/greenthreads/VM_IdleThread; run()V at line 87 at [0x000000004084afd0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606 3-daemon-idle-RUNNABLE – Stack – at [0x0000000040892cf8] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; morph(Z)V at line 443 at [0x0000000040892d40] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; timerTickYield(I)V at line 371 at [0x0000000040892d88] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; yieldpoint(I)V at line 349 at [0x0000000040892e08] Lorg/jikesrvm/scheduler/VM_Thread; yieldpointFromBackedge()V at line 808 at [0x0000000040892f38] Lorg/jikesrvm/scheduler/greenthreads/VM_IdleThread; run()V at line 101 at [0x0000000040892fd0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606 4-daemon-collector-RUNNABLE – Stack – at [0x000000004000edc0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606 6-daemon-BLOCKED – Stack – at [0x00000000408dae68] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; morph(Z)V at line 443 at [0x00000000408daeb0] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; yield(Lorg/jikesrvm/scheduler/greenthreads/VM_AbstractThreadQueue;Lorg/jikesrvm/scheduler/VM_ProcessorLock;)V at line 398 at [0x00000000408daf10] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenScheduler; suspendFinalizerThreadInternal()V at line 633 at [0x00000000408daf50] Lorg/jikesrvm/scheduler/VM_Scheduler; suspendFinalizerThread()V at line 417 at [0x00000000408daf70] Lorg/jikesrvm/scheduler/VM_FinalizerThread; run()V at line 54 at [0x00000000408dafd0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606 7-main-RUNNABLE – Stack – at [0x0000000040985f40] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; morph(Z)V at line 443 at [0x0000000040985f88] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenThread; yield()V at line 382 at [0x0000000040985fc0] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenScheduler; yieldInternal()V at line 607 at [0x0000000040985fe8] Lorg/jikesrvm/scheduler/VM_Scheduler; yield()V at line 270 at [0x0000000040986008] Lorg/jikesrvm/memorymanagers/mminterface/VM_Handshake; requestAndAwaitCompletion(I)V at line 73 at [0x0000000040986050] Lorg/jikesrvm/memorymanagers/mminterface/VM_CollectorThread; collect(Lorg/jikesrvm/memorymanagers/mminterface/VM_Handshake;I)V at line 270 at [0x0000000040986098] Lorg/jikesrvm/mm/mmtk/Collection; triggerCollectionStatic(I)V at line 127 at [0x00000000409860d0] Lorg/jikesrvm/mm/mmtk/Collection; triggerCollection(I)V at line 79 at [0x0000000040986110] Lorg/mmtk/plan/Plan; poll(ZLorg/mmtk/policy/Space;)Z at line 840 at [0x0000000040986170] Lorg/mmtk/policy/Space; acquire(I)Lorg/vmmagic/unboxed/Address; at line 394 at [0x00000000409861e0] Lorg/mmtk/utility/alloc/BumpPointer; allocSlowOnce(III)Lorg/vmmagic/unboxed/Address; at line 258 at [0x0000000040986280] Lorg/mmtk/utility/alloc/Allocator; allocSlowInline(III)Lorg/vmmagic/unboxed/Address; at line 229 at [0x0000000040986338] Lorg/mmtk/utility/alloc/BumpPointer; allocSlow(Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;II)Lorg/vmmagic/unboxed/Address; at line 172 at [0x00000000409863e0] Lorg/mmtk/utility/alloc/BumpPointer; alloc(III)Lorg/vmmagic/unboxed/Address; at line 146 at [0x0000000040986480] Lorg/mmtk/plan/generational/GenMutator; alloc(IIIII)Lorg/vmmagic/unboxed/Address; at line 88 at [0x0000000040986528] Lorg/mmtk/plan/generational/marksweep/GenMSMutator; alloc(IIIII)Lorg/vmmagic/unboxed/Address; at line 89 at [0x00000000409865d0] Lorg/jikesrvm/memorymanagers/mminterface/MM_Interface; allocateSpace(Lorg/jikesrvm/memorymanagers/mminterface/Selected$Mutator;IIIII)Lorg/vmmagic/unboxed/Address; at line 664 at [0x0000000040986688] Lorg/jikesrvm/memorymanagers/mminterface/MM_Interface; allocateArrayInternal(II[Ljava/lang/Object;IIII)Ljava/lang/Object; at line 639 at [0x0000000040986770] Lorg/jikesrvm/memorymanagers/mminterface/MM_Interface; allocateArray(III[Ljava/lang/Object;IIII)Ljava/lang/Object; at line 605 at [0x0000000040986860] Lorg/jikesrvm/runtime/VM_Runtime; resolvedNewArray(III[Ljava/lang/Object;IIII)Ljava/lang/Object; at line 463 at [0x0000000040986938] Ljava/lang/StringBuffer; <init>(Ljava/lang/String;)V at line 150 at [0x0000000040986998] Lspec/benchmarks/_213_javac/Type; tClass(Lspec/benchmarks/_213_javac/Identifier;)Lspec/benchmarks/_213_javac/Type; at line 167 at [0x0000000040986a10] Lspec/benchmarks/_213_javac/ClassDeclaration; getType()Lspec/benchmarks/_213_javac/Type; at line 76 at [0x0000000040986a40] Lspec/benchmarks/_213_javac/Environment; isMoreSpecific(Lspec/benchmarks/_213_javac/FieldDefinition;Lspec/benchmarks/_213_javac/FieldDefinition;)Z at line 179 at [0x0000000040986ad0] Lspec/benchmarks/_213_javac/ClassDefinition; matchMethod(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/ClassDefinition;Lspec/benchmarks/_213_javac/Identifier;[Lspec/benchmarks/_213_javac/Type;Lspec/benchmarks/_213_javac/FieldDefinition;Z)Lspec/benchmarks/_213_javac/FieldDefinition; at line 390 at [0x0000000040986be0] Lspec/benchmarks/_213_javac/ClassDefinition; matchMethod(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/ClassDefinition;Lspec/benchmarks/_213_javac/Identifier;[Lspec/benchmarks/_213_javac/Type;)Lspec/benchmarks/_213_javac/FieldDefinition; at line 432 at [0x0000000040986c90] Lspec/benchmarks/_213_javac/Expression; codeAppend(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;Lspec/benchmarks/_213_javac/ClassDeclaration;)V at line 263 at [0x0000000040986d50] Lspec/benchmarks/_213_javac/AddExpression; codeAppend(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;Lspec/benchmarks/_213_javac/ClassDeclaration;)V at line 105 at [0x0000000040986de0] Lspec/benchmarks/_213_javac/AddExpression; codeValue(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;)V at line 120 at [0x0000000040986e90] Lspec/benchmarks/_213_javac/NewInstanceExpression; codeValue(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;)V at line 205 at [0x0000000040986f18] Lspec/benchmarks/_213_javac/ConvertExpression; codeValue(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;)V at line 117 at [0x0000000040986fa0] Lspec/benchmarks/_213_javac/ThrowStatement; code(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;)V at line 94 at [0x0000000040987018] Lspec/benchmarks/_213_javac/IfStatement; code(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;)V at line 127 at [0x00000000409870d0] Lspec/benchmarks/_213_javac/CompoundStatement; code(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Context;Lspec/benchmarks/_213_javac/Assembler;)V at line 135 at [0x0000000040987168] Lspec/benchmarks/_213_javac/SourceField; code(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Assembler;)V at line 403 at [0x0000000040987210] Lspec/benchmarks/_213_javac/SourceField; code(Lspec/benchmarks/_213_javac/Environment;Lspec/benchmarks/_213_javac/Assembler;)V at line 365 at [0x00000000409872b8] Lspec/benchmarks/_213_javac/SourceClass; compileClass(Lspec/benchmarks/_213_javac/Environment;Ljava/io/OutputStream;)V at line 565 at [0x0000000040987470] Lspec/benchmarks/_213_javac/SourceClass; compile(Lspec/benchmarks/_213_javac/Environment;Ljava/io/OutputStream;)V at line 528 at [0x0000000040987500] Lspec/benchmarks/_213_javac/Javac; compile([Ljava/lang/String;)Z at line 198 at [0x0000000040987668] Lspec/benchmarks/_213_javac/Javac; inst_main([Ljava/lang/String;)J at line 305 at [0x0000000040987718] Lspec/benchmarks/_213_javac/Main; runBenchmark([Ljava/lang/String;)J at line 45 at [0x0000000040987798] Lspec/benchmarks/_213_javac/Main; harnessMain([Ljava/lang/String;)J at line 57 at [0x00000000409877e0] Lspec/harness/ProgramRunner; runOnce(Ljava/lang/Object;IJILjava/util/Properties;)Lspec/harness/BenchmarkTime; at line 382 at [0x00000000409878d0] Lspec/harness/ProgramRunner; runBenchmark2()Ljava/util/Properties; at line 305 at [0x0000000040987a18] Lspec/harness/ProgramRunner; runBenchmark()V at line 238 at [0x0000000040987a78] Lspec/harness/ProgramRunner; run()V at line 206 at [0x0000000040987ab0] Lspec/harness/RunProgram; run(Ljava/lang/String;ZLjava/util/Properties;Lspec/harness/BenchmarkDone;)V at line 60 at [0x0000000040987c28] LSpecApplication; runBenchmark(Ljava/lang/String;Z)V at line 239 at [0x0000000040987c88] LSpecApplication; main([Ljava/lang/String;)V at line 155 at [0x0000000040987d38] <invisible method> at [0x0000000040987d50] Lorg/jikesrvm/runtime/VM_Reflection; invoke(Lorg/jikesrvm/classloader/VM_Method;Ljava/lang/Object;[Ljava/lang/Object;Z)Ljava/lang/Object; at line 132 at [0x0000000040987eb8] Lorg/jikesrvm/scheduler/VM_MainThread; run()V at line 193 at [0x0000000040987f60] Lorg/jikesrvm/scheduler/VM_Thread; run()V at line 581 at [0x0000000040987fd0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606 8-daemon-RUNNABLE – Stack – JikesRVM: internal error: recursive use of hardware exception registers (exiting) VM_Scheduler.dumpStack(): in a recursive call, 2 deep. – Stack – at [0x00000000400197f0] Lorg/jikesrvm/scheduler/VM_Scheduler; dumpStack(Lorg/vmmagic/unboxed/Address;)V at line 645 at [0x0000000040019838] Lorg/jikesrvm/scheduler/greenthreads/VM_GreenScheduler; dumpVirtualMachineInternal()V at line 485 at [0x00000000400198a0] Lorg/jikesrvm/scheduler/VM_Scheduler; dumpVirtualMachine()V at line 237 at [0x00000000400198c0] Lorg/jikesrvm/VM; sysFail(Ljava/lang/String;)V at line 2029 at [0x00000000400198f0] Lorg/jikesrvm/runtime/VM_Runtime; deliverHardwareException(II)V at line 710 at [0x00000000400199b0] <hardware trap> at [0x00000000400199c8] Lorg/mmtk/utility/heap/Map; getDescriptorForAddress(Lorg/vmmagic/unboxed/Address;)I at line 291 at [0x0000000040019a10] Lorg/mmtk/policy/Space; getDescriptorForAddress(Lorg/vmmagic/unboxed/Address;)I at line 359 at [0x0000000040019a48] Lorg/mmtk/policy/Space; isInSpace(ILorg/vmmagic/unboxed/Address;)Z at line 324 at [0x0000000040019ac0] Lorg/mmtk/policy/Space; isInSpace(ILorg/vmmagic/unboxed/ObjectReference;)Z at line 308 at [0x0000000040019b10] Lorg/mmtk/plan/generational/marksweep/GenMSMatureTraceLocal; traceObject(Lorg/vmmagic/unboxed/ObjectReference;)Lorg/vmmagic/unboxed/ObjectReference; at line 52 at [0x0000000040019b60] Lorg/mmtk/plan/TraceLocal; traceObject(Lorg/vmmagic/unboxed/ObjectReference;Z)Lorg/vmmagic/unboxed/ObjectReference; at line 293 at [0x0000000040019bb8] Lorg/mmtk/plan/TraceLocal; processRootEdge(Lorg/vmmagic/unboxed/Address;)V at line 120 at [0x0000000040019c28] Lorg/jikesrvm/mm/mmtk/ScanBootImage; processChunk(Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/vmmagic/unboxed/Address;Lorg/mmtk/plan/TraceLocal;)V at line 140 at [0x0000000040019d08] Lorg/jikesrvm/mm/mmtk/ScanBootImage; scanBootImage(Lorg/mmtk/plan/TraceLocal;)V at line 79 at [0x0000000040019dc8] Lorg/jikesrvm/mm/mmtk/Scanning; computeBootImageRoots(Lorg/mmtk/plan/TraceLocal;)V at line 278 at [0x0000000040019e08] Lorg/mmtk/plan/generational/GenCollector; collectionPhase(SZ)V at line 98 at [0x0000000040019e68] Lorg/mmtk/plan/generational/marksweep/GenMSCollector; collectionPhase(SZ)V at line 143 at [0x0000000040019ec8] Lorg/mmtk/plan/Phase; processPhaseStack(Z)Z at line 477 at [0x0000000040019fd8] Lorg/mmtk/plan/Phase; beginNewPhaseStack(I)Z at line 390 at [0x000000004001a020] Lorg/mmtk/plan/StopTheWorldCollector; collect()V at line 39 at [0x000000004001a050] Lorg/jikesrvm/memorymanagers/mminterface/VM_CollectorThread; run()V at line 383 at [0x000000004001a1e0] Lorg/jikesrvm/scheduler/VM_Thread; startoff()V at line 606
          Hide
          dgrove David Grove added a comment -

          ok, maybe I'm missing something, but I see no way for the appened code to work with 64 bit addresses. hashAddress needs to do something else in 64bit mode I believe.

          From org.mmtk.utility.heap.Map:

          /**

          • Hash an address to a chunk (this is simply done via bit shifting)
            *
          • @param address The address to be hashed
          • @return The chunk number that this address hashes into
            */
            @Inline
            private static int hashAddress(Address address) { return address.toWord().rshl(Space.LOG_BYTES_IN_CHUNK).toInt(); }

          /**

          • Return the space descriptor for the space in which this object
          • resides.
            *
          • @param object The object in question
          • @return The space descriptor for the space in which the object
          • resides
            */
            @Inline
            public static int getDescriptorForAddress(Address object) { if (VM.VERIFY_ASSERTIONS) VM.assertions._assert(!object.isZero()); int index = hashAddress(object); return descriptorMap[index]; }
          Show
          dgrove David Grove added a comment - ok, maybe I'm missing something, but I see no way for the appened code to work with 64 bit addresses. hashAddress needs to do something else in 64bit mode I believe. From org.mmtk.utility.heap.Map: /** Hash an address to a chunk (this is simply done via bit shifting) * @param address The address to be hashed @return The chunk number that this address hashes into */ @Inline private static int hashAddress(Address address) { return address.toWord().rshl(Space.LOG_BYTES_IN_CHUNK).toInt(); } /** Return the space descriptor for the space in which this object resides. * @param object The object in question @return The space descriptor for the space in which the object resides */ @Inline public static int getDescriptorForAddress(Address object) { if (VM.VERIFY_ASSERTIONS) VM.assertions._assert(!object.isZero()); int index = hashAddress(object); return descriptorMap[index]; }
          Hide
          steveblackburn Steve Blackburn added a comment -

          Yeah, that looks pretty embarrassing. I'm just about to get on a plane, but I'll take a look at it RSN.

          --Steve

          Show
          steveblackburn Steve Blackburn added a comment - Yeah, that looks pretty embarrassing. I'm just about to get on a plane, but I'll take a look at it RSN. --Steve
          Hide
          dgrove David Grove added a comment -

          Sigh. Pushing ppc64 problems off to 2.9.3; don't think we're going to be able to nail these in 2.9.2 time frame.

          Show
          dgrove David Grove added a comment - Sigh. Pushing ppc64 problems off to 2.9.3; don't think we're going to be able to nail these in 2.9.2 time frame.
          Hide
          dgrove David Grove added a comment -

          This particular problem (hashAddress not working on 64 bits) was fixed last fall. There are still issues with SPECjvm98 on ppc64, but we're dealing with those under separate items.

          Show
          dgrove David Grove added a comment - This particular problem (hashAddress not working on 64 bits) was fixed last fall. There are still issues with SPECjvm98 on ppc64, but we're dealing with those under separate items.

            People

            • Assignee:
              dgrove David Grove
              Reporter:
              dgrove David Grove
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: