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

ZGC can return metaspace OOM prematurely

    XMLWordPrintable

Details

    • gc
    • b25

    Description

      The following test failed in the JDK17 CI:

      vmTestbase/gc/gctests/LoadUnloadGC/LoadUnloadGC.java

      Here's a snippet from the log file:

      #section:main
      ----------messages:(4/364)----------
      command: main -XX:MaxMetaspaceSize=64M -XX:MetaspaceSize=32M -XX:CompressedClassSpaceSize=32M gc.gctests.LoadUnloadGC.LoadUnloadGC
      reason: User specified action: run main/othervm -XX:MaxMetaspaceSize=64M -XX:MetaspaceSize=32M -XX:CompressedClassSpaceSize=32M gc.gctests.LoadUnloadGC.LoadUnloadGC
      Mode: othervm [/othervm specified]
      elapsed time (seconds): 369.236
      ----------configuration:(0/0)----------
      ----------System.out:(151/8218)----------
      Stress time: 120 seconds
      Stress iterations factor: 1
      Stress threads factor: 1
      Stress runs factor: 1
      Max memory: 1988100096
      Sleep time: 500
      Iterations: 0
      Number of threads: 3
      Run GC thread: false
      Run mem diag thread: false
      Run forever: false
      Starting Thread[gc.gctests.LoadUnloadGC.LoadUnloadGC$Loader@cadcfa2,5,MainThreadGroup]
      Starting Thread[gc.gctests.LoadUnloadGC.LoadUnloadGC$Loader@a34b66d,5,MainThreadGroup]
      Starting Thread[gc.gctests.LoadUnloadGC.LoadUnloadGC$Loader@6806b856,5,MainThreadGroup]
      Exception in
      Exception in
      gc.gctests.LoadUnloadGC.LoadUnloadGC$Loader@cadcfa2
      gc.gctests.LoadUnloadGC.LoadUnloadGC$Loader@6806b856
      java.lang.OutOfMemoryError: Metaspace
      at nsk.share.gc.Class451.<init>(ClassChain.java:2289)
      at nsk.share.gc.Class450.<init>(ClassChain.java:2284)
      at nsk.share.gc.Class449.<init>(ClassChain.java:2279)
      at nsk.share.gc.Class448.<init>(ClassChain.java:2274)
      at nsk.share.gc.Class447.<init>(ClassChain.java:2269)
      at nsk.share.gc.Class446.<init>(ClassChain.java:2264)
      at nsk.share.gc.Class445.<init>(ClassChain.java:2259)
      at nsk.share.gc.Class444.<init>(ClassChain.java:2254)
      at nsk.share.gc.Class443.<init>(ClassChain.java:2249)
      at nsk.share.gc.Class442.<init>(ClassChain.java:2244)
      at nsk.share.gc.Class441.<init>(ClassChain.java:2239)
      at nsk.share.gc.Class440.<init>(ClassChain.java:2234)
      at nsk.share.gc.Class439.<init>(ClassChain.java:2229)
      at nsk.share.gc.Class438.<init>(ClassChain.java:2224)
      at nsk.share.gc.Class437.<init>(ClassChain.java:2219)
      at nsk.share.gc.Class436.<init>(ClassChain.java:2214)
      at nsk.share.gc.Class435.<init>(ClassChain.java:2209)
      at nsk.share.gc.Class434.<init>(ClassChain.java:2204)
      at nsk.share.gc.Class433.<init>(ClassChain.java:2199)
      at nsk.share.gc.Class432.<init>(ClassChain.java:2194)
      at nsk.share.gc.Class431.<init>(ClassChain.java:2189)
      at nsk.share.gc.Class430.<init>(ClassChain.java:2184)
      at nsk.share.gc.Class429.<init>(ClassChain.java:2179)
      at nsk.share.gc.Class428.<init>(ClassChain.java:2174)
      at nsk.share.gc.Class427.<init>(ClassChain.java:2169)
      at nsk.share.gc.Class426.<init>(ClassChain.java:2164)
      at nsk.share.gc.Class425.<init>(ClassChain.java:2159)
      at nsk.share.gc.Class424.<init>(ClassChain.java:2154)
      at nsk.share.gc.Class423.<init>(ClassChain.java:2149)
      at nsk.share.gc.Class422.<init>(ClassChain.java:2144)
      at nsk.share.gc.Class421.<init>(ClassChain.java:2139)
      at nsk.share.gc.Class420.<init>(ClassChain.java:2134)
      java.lang.OutOfMemoryError: Compressed class space
      at java.base/java.lang.ClassLoader.defineClass1(Native Method)
      at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1010)
      at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:872)
      at nsk.share.classload.ClassPathNonDelegatingClassLoader.loadClassFromFile(ClassPathNonDelegatingClassLoader.java:72)
      at nsk.share.classload.ClassPathNonDelegatingClassLoader.loadClass(ClassPathNonDelegatingClassLoader.java:53)
      at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
      at nsk.share.gc.Class778.<init>(ClassChain.java:3924)
      at nsk.share.gc.Class777.<init>(ClassChain.java:3919)
      at nsk.share.gc.Class776.<init>(ClassChain.java:3914)
      at nsk.share.gc.Class775.<init>(ClassChain.java:3909)
      at nsk.share.gc.Class774.<init>(ClassChain.java:3904)
      at nsk.share.gc.Class773.<init>(ClassChain.java:3899)
      at nsk.share.gc.Class772.<init>(ClassChain.java:3894)
      at nsk.share.gc.Class771.<init>(ClassChain.java:3889)
      at nsk.share.gc.Class770.<init>(ClassChain.java:3884)
      at nsk.share.gc.Class769.<init>(ClassChain.java:3879)
      at nsk.share.gc.Class768.<init>(ClassChain.java:3874)
      at nsk.share.gc.Class767.<init>(ClassChain.java:3869)
      at nsk.share.gc.Class766.<init>(ClassChain.java:3864)
      at nsk.share.gc.Class765.<init>(ClassChain.java:3859)
      at nsk.share.gc.Class764.<init>(ClassChain.java:3854)
      at nsk.share.gc.Class763.<init>(ClassChain.java:3849)
      at nsk.share.gc.Class762.<init>(ClassChain.java:3844)
      at nsk.share.gc.Class761.<init>(ClassChain.java:3839)
      at nsk.share.gc.Class760.<init>(ClassChain.java:3834)
      at nsk.share.gc.Class759.<init>(ClassChain.java:3829)
      at nsk.share.gc.Class758.<init>(ClassChain.java:3824)
      at nsk.share.gc.Class757.<init>(ClassChain.java:3819)
      at nsk.share.gc.Class756.<init>(ClassChain.java:3814)
      at nsk.share.gc.Class755.<init>(ClassChain.java:3809)
      at nsk.share.gc.Class754.<init>(ClassChain.java:3804)
      at nsk.share.gc.Class753.<init>(ClassChain.java:3799)
      Failures summary:
      java.lang.OutOfMemoryError: Metaspace
      at nsk.share.gc.Class451.<init>(ClassChain.java:2289)
      at nsk.share.gc.Class450.<init>(ClassChain.java:2284)
      at nsk.share.gc.Class449.<init>(ClassChain.java:2279)
      at nsk.share.gc.Class448.<init>(ClassChain.java:2274)
      at nsk.share.gc.Class447.<init>(ClassChain.java:2269)
      at nsk.share.gc.Class446.<init>(ClassChain.java:2264)
      at nsk.share.gc.Class445.<init>(ClassChain.java:2259)
      at nsk.share.gc.Class444.<init>(ClassChain.java:2254)
      at nsk.share.gc.Class443.<init>(ClassChain.java:2249)
      at nsk.share.gc.Class442.<init>(ClassChain.java:2244)
      at nsk.share.gc.Class441.<init>(ClassChain.java:2239)
      at nsk.share.gc.Class440.<init>(ClassChain.java:2234)
      at nsk.share.gc.Class439.<init>(ClassChain.java:2229)
      at nsk.share.gc.Class438.<init>(ClassChain.java:2224)
      at nsk.share.gc.Class437.<init>(ClassChain.java:2219)
      at nsk.share.gc.Class436.<init>(ClassChain.java:2214)
      at nsk.share.gc.Class435.<init>(ClassChain.java:2209)
      at nsk.share.gc.Class434.<init>(ClassChain.java:2204)
      at nsk.share.gc.Class433.<init>(ClassChain.java:2199)
      at nsk.share.gc.Class432.<init>(ClassChain.java:2194)
      at nsk.share.gc.Class431.<init>(ClassChain.java:2189)
      at nsk.share.gc.Class430.<init>(ClassChain.java:2184)
      at nsk.share.gc.Class429.<init>(ClassChain.java:2179)
      at nsk.share.gc.Class428.<init>(ClassChain.java:2174)
      at nsk.share.gc.Class427.<init>(ClassChain.java:2169)
      at nsk.share.gc.Class426.<init>(ClassChain.java:2164)
      at nsk.share.gc.Class425.<init>(ClassChain.java:2159)
      at nsk.share.gc.Class424.<init>(ClassChain.java:2154)
      at nsk.share.gc.Class423.<init>(ClassChain.java:2149)
      at nsk.share.gc.Class422.<init>(ClassChain.java:2144)
      at nsk.share.gc.Class421.<init>(ClassChain.java:2139)
      at nsk.share.gc.Class420.<init>(ClassChain.java:2134)
      java.lang.OutOfMemoryError: Compressed class space
      at java.base/java.lang.ClassLoader.defineClass1(Native Method)
      at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1010)
      at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:872)
      at nsk.share.classload.ClassPathNonDelegatingClassLoader.loadClassFromFile(ClassPathNonDelegatingClassLoader.java:72)
      at nsk.share.classload.ClassPathNonDelegatingClassLoader.loadClass(ClassPathNonDelegatingClassLoader.java:53)
      at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
      at nsk.share.gc.Class778.<init>(ClassChain.java:3924)
      at nsk.share.gc.Class777.<init>(ClassChain.java:3919)
      at nsk.share.gc.Class776.<init>(ClassChain.java:3914)
      at nsk.share.gc.Class775.<init>(ClassChain.java:3909)
      at nsk.share.gc.Class774.<init>(ClassChain.java:3904)
      at nsk.share.gc.Class773.<init>(ClassChain.java:3899)
      at nsk.share.gc.Class772.<init>(ClassChain.java:3894)
      at nsk.share.gc.Class771.<init>(ClassChain.java:3889)
      at nsk.share.gc.Class770.<init>(ClassChain.java:3884)
      at nsk.share.gc.Class769.<init>(ClassChain.java:3879)
      at nsk.share.gc.Class768.<init>(ClassChain.java:3874)
      at nsk.share.gc.Class767.<init>(ClassChain.java:3869)
      at nsk.share.gc.Class766.<init>(ClassChain.java:3864)
      at nsk.share.gc.Class765.<init>(ClassChain.java:3859)
      at nsk.share.gc.Class764.<init>(ClassChain.java:3854)
      at nsk.share.gc.Class763.<init>(ClassChain.java:3849)
      at nsk.share.gc.Class762.<init>(ClassChain.java:3844)
      at nsk.share.gc.Class761.<init>(ClassChain.java:3839)
      at nsk.share.gc.Class760.<init>(ClassChain.java:3834)
      at nsk.share.gc.Class759.<init>(ClassChain.java:3829)
      at nsk.share.gc.Class758.<init>(ClassChain.java:3824)
      at nsk.share.gc.Class757.<init>(ClassChain.java:3819)
      at nsk.share.gc.Class756.<init>(ClassChain.java:3814)
      at nsk.share.gc.Class755.<init>(ClassChain.java:3809)
      at nsk.share.gc.Class754.<init>(ClassChain.java:3804)
      at nsk.share.gc.Class753.<init>(ClassChain.java:3799)
      ----------System.err:(16/959)----------
      nsk.share.TestFailure: Test exit code: 97
      at nsk.share.test.Tests$TestRunner.execute(Tests.java:90)
      at nsk.share.test.Tests$TestRunner.run(Tests.java:96)
      at nsk.share.gc.GC.runTest(GC.java:114)
      at gc.gctests.LoadUnloadGC.LoadUnloadGC.main(LoadUnloadGC.java:128)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:78)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:567)
      at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
      at java.base/java.lang.Thread.run(Thread.java:831)

      JavaTest Message: Test threw exception: nsk.share.TestFailure: Test exit code: 97
      JavaTest Message: shutting down test

      STATUS:Failed.`main' threw exception: nsk.share.TestFailure: Test exit code: 97
      ----------rerun:(39/8355)*----------

      The test task has the following VM args:

      -XX:+CreateCoredumpOnCrash -XX:+UseZGC

      Attachments

        Issue Links

          Activity

            People

              eosterlund Erik Ă–sterlund
              dcubed Daniel Daugherty
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: