Details

      Description

      SPECjvm98 ran on 2.9.0 on PPC/AIX.

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

        Gliffy Diagrams

          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: