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

JFR: Crash when dumping paths to gc roots on deep heaps

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P2 P2
    • 15
    • 11, 14, 15
    • hotspot
    • jfr
    • b25
    • Verified

      Reproducer:

      $ java -XX:StartFlightRecording DemoLeak.java 10000 20000

      Await the message "Used: xxxxx", which in this case means that the heap consists of 10 000 linked lists with 20 000 nodes in each list. Open a second shell and use jcmd to dump a recording

      $ jcmd <pid> JFR.dump path-to-gc-roots=true filename=dump.jfr

      #
      # A fatal error has been detected by the Java Runtime Environment:
      #
      # EXCEPTION_STACK_OVERFLOW (0xc00000fd) at pc=0x00007ffe388029c5, pid=3428, tid=29252
      #
      # JRE version: OpenJDK Runtime Environment (14.0+34) (build 14-ea+34-1452)
      # Java VM: OpenJDK 64-Bit Server VM (14-ea+34-1452, mixed mode, sharing, tiered, compressed oops, g1 gc, windows-amd64)
      # Problematic frame:
      # V [jvm.dll+0x2629c5]

      Could take some time before the crash happens. No hs_err_pid log file produced, but a hs_err_pid.jfr file.

      Impact: High, crash
      Likelihood: Low, happens only when using JFR and dumping path to gc roots on a heap that is deep.
      Workaround: High, no known workarounds

      ILW = HLH -> P2

        1. DemoLeak.java
          0.8 kB
          Erik Gahlin
        2. hs_err_pid3428.jfr
          775 kB
          Erik Gahlin

            egahlin Erik Gahlin
            egahlin Erik Gahlin
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: