RVM
  1. RVM
  2. RVM-747

Crash during GC while attempting to resize thread stack

    Details

    • Type: Bug Bug
    • Status: Open Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 3.0.1
    • Fix Version/s: 3.1.4
    • Component/s: None
    • Labels:
      None
    • Number of attachments :
      0

      Description

      Here's an interesting one: http://jikesrvm.anu.edu.au/cattrack/results/piano.watson.ibm.com/sanity-ppc32/6901/prototype-opt/default/dacapo/luindex/default/Output.txt

      My suggested fix would be to take the same tact we do on x86 (implicitly) and stop pretending we can reliably resize thread stacks. Once we switch to native threads, we won't be able to do it anyways (since we'll be directly using the pthread stack instead of allocating it out of our heap).

      ===== DaCapo luindex starting =====
      GCWarning: Live ratio greater than 1: 10.50
      GCWarning: Live ratio greater than 1: 4.37
      GCWarning: Live ratio greater than 1: 4.37
      GCWarning: Live ratio greater than 1: 4.37
      vm internal error at:

      – Stack –
      at Lorg/jikesrvm/VM; sysFail(Ljava/lang/String;)V at line 2145
      at Lorg/jikesrvm/VM; _assertionFailure(Ljava/lang/String;Ljava/lang/String;)V at line 635
      at Lorg/jikesrvm/VM; _assert(ZLjava/lang/String;Ljava/lang/String;)V at line 618
      at Lorg/jikesrvm/VM; _assert(Z)V at line 596
      at Lorg/jikesrvm/compilers/common/HardwareTrapCompiledMethod; getExceptionDeliverer()Lorg/jikesrvm/runtime/ExceptionDeliverer; at line 52
      at Lorg/jikesrvm/runtime/RuntimeEntrypoints; deliverException(Ljava/lang/Throwable;Lorg/jikesrvm/ArchitectureSpecific$Registers;)V at line 946
      at Lorg/jikesrvm/runtime/RuntimeEntrypoints; athrow(Ljava/lang/Throwable;)V at line 595
      at Lorg/jikesrvm/mm/mmtk/Collection; checkForOutOfMemoryError(Z)V at line 148
      at Lorg/jikesrvm/mm/mmtk/Collection; triggerCollectionStatic(I)V at line 127
      at Lorg/jikesrvm/mm/mmtk/Collection; triggerCollection(I)V at line 78
      at Lorg/mmtk/plan/Plan; poll(ZLorg/mmtk/policy/Space;)Z at line 912
      at Lorg/mmtk/policy/Space; acquire(I)Lorg/vmmagic/unboxed/Address; at line 384
      at Lorg/mmtk/utility/alloc/LargeObjectAllocator; allocSlowOnce(III)Lorg/vmmagic/unboxed/Address; at line 91
      at Lorg/mmtk/utility/alloc/Allocator; allocSlowInline(III)Lorg/vmmagic/unboxed/Address; at line 229
      at Lorg/mmtk/utility/alloc/Allocator; allocSlow(III)Lorg/vmmagic/unboxed/Address; at line 209
      at Lorg/mmtk/utility/alloc/LargeObjectAllocator; alloc(III)Lorg/vmmagic/unboxed/Address; at line 72
      at Lorg/mmtk/plan/MutatorContext; alloc(IIIII)Lorg/vmmagic/unboxed/Address; at line 185
      at Lorg/mmtk/plan/generational/GenMutator; alloc(IIIII)Lorg/vmmagic/unboxed/Address; at line 93
      at Lorg/mmtk/plan/generational/marksweep/GenMSMutator; alloc(IIIII)Lorg/vmmagic/unboxed/Address; at line 90
      at Lorg/jikesrvm/mm/mminterface/MemoryManager; allocateSpace(Lorg/jikesrvm/mm/mminterface/Selected$Mutator;IIIII)Lorg/vmmagic/unboxed/Address; at line 746
      at Lorg/jikesrvm/mm/mminterface/MemoryManager; allocateArrayInternal(IILorg/jikesrvm/objectmodel/TIB;IIII)Ljava/lang/Object; at line 721
      at Lorg/jikesrvm/mm/mminterface/MemoryManager; allocateArray(IIILorg/jikesrvm/objectmodel/TIB;IIII)Ljava/lang/Object; at line 687
      at Lorg/jikesrvm/mm/mminterface/MemoryManager; newStack(IZ)[B at line 840
      at Lorg/jikesrvm/scheduler/RVMThread; resizeCurrentStack(ILorg/jikesrvm/ArchitectureSpecific$Registers;)V at line 1249
      at Lorg/jikesrvm/runtime/RuntimeEntrypoints; deliverHardwareException(II)V at line 631
      at <hardware trap>
      at Lgnu/java/nio/VMChannel$State; close()V at line 905
      at Lgnu/java/nio/VMChannel; close()V at line 832
      at Lgnu/java/nio/FileChannelImpl; implCloseChannel()V at line 218
      at Ljava/nio/channels/spi/AbstractInterruptibleChannel; close()V at line 80
      at Lgnu/java/nio/FileChannelImpl; finalize()V at line 227
      at Ljava/lang/JikesRVMSupport; invokeFinalize(Ljava/lang/Object;)V at line 34
      at Lorg/jikesrvm/scheduler/FinalizerThread; run()V at line 68
      at Lorg/jikesrvm/scheduler/RVMThread; startoff()V at line 649
      ********************************************************************************

      • Abnormal termination of Jikes RVM *
      • Jikes RVM terminated abnormally indicating a problem in the virtual machine. *
      • Jikes RVM relies on community support to get debug information. Help improve *
      • Jikes RVM for everybody by reporting this error. Please see: *
      • http://jikesrvm.org/Reporting+Bugs *
        ********************************************************************************

        Activity

        Hide
        David Grove added a comment -

        Defer to 3.1.1

        Show
        David Grove added a comment - Defer to 3.1.1
        David Grove made changes -
        Field Original Value New Value
        Fix Version/s 3.1.0 [ 14620 ]
        Fix Version/s 3.1.1 [ 14900 ]
        Hide
        David Grove added a comment -

        bulk defer open issues to 3.1.2

        Show
        David Grove added a comment - bulk defer open issues to 3.1.2
        David Grove made changes -
        Fix Version/s 3.1.2 [ 16568 ]
        Fix Version/s 3.1.1 [ 14900 ]
        David Grove made changes -
        Fix Version/s 3.1.3 [ 18230 ]
        Fix Version/s 3.1.2 [ 16568 ]
        Hide
        David Grove added a comment -

        bulk defer issues to 3.1.4

        Show
        David Grove added a comment - bulk defer issues to 3.1.4
        David Grove made changes -
        Fix Version/s 3.1.4 [ 19063 ]
        Fix Version/s 3.1.3 [ 18230 ]

          People

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

            Dates

            • Created:
              Updated: