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: