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

ZGC: Reduce mark stack usage



    • gc
    • b24
    • x86_64
    • windows


      The following test failed in the JDK16 CI:


      Here's a snippet from the log file:

      command: main gc.gctests.FinalizeLock.FinalizeLock -Dm-
      reason: User specified action: run main/othervm gc.gctests.FinalizeLock.FinalizeLock -Dm-
      Mode: othervm [/othervm specified]
      elapsed time (seconds): 369.405
      Stress time: 120 seconds
      Stress iterations factor: 1
      Stress threads factor: 1
      Stress runs factor: 1
      Max memory: 2063597568
      Sleep time: 500
      Iterations: 0
      Number of threads: 16
      Run GC thread: false
      Run mem diag thread: false
      Run forever: false
      Starting Thread[gc.gctests.FinalizeLock.FinalizeLock$GarbageCreator@5b46e7f,5,MainThreadGroup]
      Starting Thread[gc.gctests.FinalizeLock.FinalizeLock$SyncMethodCaller@6013cb32,5,MainThreadGroup]
      For random generator using seed: -8517640306877451010
      To re-run test with same seed value please add "-Djdk.test.lib.random.seed=-8517640306877451010" to command line.
      # To suppress the following error report, specify this argument
      # after -XX: or in .hotspotrc: SuppressErrorAt=\\zMarkStackAllocator.cpp:102
      # A fatal error has been detected by the Java Runtime Environment:
      # Internal Error (t:\\workspace\\open\\src\\hotspot\\share\\gc\\z\\zMarkStackAllocator.cpp:102), pid=31220, tid=2580
      # fatal error: Mark stack space exhausted. Use -XX:ZMarkStackSpaceLimit=<size> to increase the maximum number of bytes allocated for mark stacks. Current limit is 8192M.
      # JRE version: Java(TM) SE Runtime Environment (16.0+33) (fastdebug build 16-ea+33-2205)
      # Java VM: Java HotSpot(TM) 64-Bit Server VM (fastdebug 16-ea+33-2205, mixed mode, sharing, tiered, z gc, windows-amd64)
      # Core dump will be written. Default location: T:\\testoutput\\test-support\\jtreg_closed_test_hotspot_jtreg_vmTestbase_vm_gc_misc_closed\\scratch\\2\\hs_err_pid31220.mdmp
      # An error report file with more information is saved as:
      # T:\\testoutput\\test-support\\jtreg_closed_test_hotspot_jtreg_vmTestbase_vm_gc_misc_closed\\scratch\\2\\hs_err_pid31220.log
      # If you would like to submit a bug report, please visit:
      # https://bugreport.java.com/bugreport/crash.jsp

      Here's the crashing thread's stack:

      --------------- T H R E A D ---------------

      Current thread (0x00000204fcdd5300): GCTaskThread "ZWorker#1" [stack: 0x0000003af0200000,0x0000003af0300000] [id=2580]

      Stack: [0x0000003af0200000,0x0000003af0300000]
      Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
      V [jvm.dll+0xaf6711]
      V [jvm.dll+0xd22ab7]
      V [jvm.dll+0xd243de]
      V [jvm.dll+0xd24af4]
      V [jvm.dll+0x4c58fd]
      V [jvm.dll+0xd846eb]
      V [jvm.dll+0xd84820]
      V [jvm.dll+0xd840e6]
      V [jvm.dll+0xd6c729]
      V [jvm.dll+0xd80642]
      V [jvm.dll+0xd8242c]
      V [jvm.dll+0xd83a1e]
      V [jvm.dll+0xd83536]
      V [jvm.dll+0xd9c2b5]
      V [jvm.dll+0xd67c09]
      V [jvm.dll+0xca3dd4]
      V [jvm.dll+0xaf505e]
      C [ucrtbase.dll+0x214c2]
      C [KERNEL32.DLL+0x17034]
      C [ntdll.dll+0x4d0d1]

      I don't know why the symbols are missing.

      The test task has these JVM args:

      -XX:+CreateCoredumpOnCrash -XX:+UseZGC


        Issue Links



              pliden Per Liden (Inactive)
              dcubed Daniel Daugherty
              0 Vote for this issue
              7 Start watching this issue