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

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

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: P3
    • Resolution: Unresolved
    • Affects Version/s: 8-shenandoah, 11-shenandoah, 13, 14
    • Fix Version/s: None
    • Component/s: hotspot
    • Labels:
    • Subcomponent:
      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

              Assignee:
              shade Aleksey Shipilev
              Reporter:
              shade Aleksey Shipilev
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated: