Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8231397

[Redo] Shenandoah: GC retries are too aggressive for tests that expect OOME

    XMLWordPrintable

Details

    • gc

    Description

      This is redo of JDK-8231249.

      Some tests (notably the one referenced here) are filling up the memory until OOME happens, and even count the OOMEs happened. Unfortunately, that clashes with Shenandoah's quite aggressive retry policy. At some point, test is able to sneak past allocation failure and make progress, and less aggressive policy helps that.

      We need to take care of the tests that expect Shenandoah to enter Full GC, notably:
         gc/shenandoah/oom/TestClassLoaderLeak.java failed (JDK-8231389)
        gc/shenandoah/TestAllocHumongousFragment.java

      Easiest reproducer:

      $ CONF=linux-x86_64-server-fastdebug make images run-test TEST=vmTestbase/nsk/jvmti/GarbageCollectionStart/gcstart001/TestDescription.java TEST_VM_OPTS="-XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC"

      Times out, yet makes lots of GCs:

      506.774s][info][gc] GC(11226) Cannot finish degeneration, upgrading to Full GC
      [506.802s][info][gc] GC(11226) Pause Degenerated GC (Outside of Cycle) 3367M->3367M(3858M) 49.944ms
      [506.803s][info][gc] Failed to allocate 10864B
      [506.803s][info][gc] Cancelling GC: Allocation Failure
      [506.803s][info][gc] Trigger: Handle Allocation Failure
      [506.830s][info][gc] GC(11227) Cancelling GC: Allocation Failure During Evacuation
      [506.831s][info][gc] GC(11227) Cannot finish degeneration, upgrading to Full GC
      [506.858s][info][gc] GC(11227) Pause Degenerated GC (Outside of Cycle) 3367M->3367M(3858M) 54.403ms
      [506.858s][info][gc] Failed to allocate 8064B
      [506.858s][info][gc] Cancelling GC: Allocation Failure
      [506.859s][info][gc] Trigger: Handle Allocation Failure
      [506.883s][info][gc] GC(11228) Cancelling GC: Allocation Failure During Evacuation
      [506.885s][info][gc] GC(11228) Cannot finish degeneration, upgrading to Full GC
      [506.913s][info][gc] GC(11228) Pause Degenerated GC (Outside of Cycle) 3367M->3367M(3858M) 54.056ms
      [506.913s][info][gc] Failed to allocate 8064B
      [506.913s][info][gc] Cancelling GC: Allocation Failure
      [506.914s][info][gc] Trigger: Handle Allocation Failure
      [506.938s][info][gc] GC(11229) Cancelling GC: Allocation Failure During Evacuation
      [506.939s][info][gc] GC(11229) Cannot finish degeneration, upgrading to Full GC

      Attachments

        Issue Links

          Activity

            People

              shade Aleksey Shipilev
              shade Aleksey Shipilev
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: