Heap dump from core does not contain HPROF_GC_ROOT_JAVA_FRAME

XMLWordPrintable

    • Type: Bug
    • Resolution: Unresolved
    • Priority: P4
    • tbd
    • Affects Version/s: 21, 25, 27
    • Component/s: hotspot
    • None

      We can extract heap dump from coredump with `jhsdb jmap --binaryheap`, but it does not contain `HPROF_GC_ROOT_JAVA_FRAME`. It means we cannot detect leaked object on thread stack.

      I attached 2 images which I saw on Eclipse Memory Analyzer Tool (MAT). Heap dumps were created following options:

      -Xmx256m -XX:+CrashOnOutOfMemoryError -XX:+HeapDumpOnOutOfMemoryError

      heapdumponoutofmemoryerror.png shows "thread overview" from the heapdump by `-XX:+HeapDumpOnOutOfMemoryError`. It reports `OOME.main` has large retained heap.
      On the other hand, from-core.png extracted by `jhsdb jmap --binaryheap` does not report it - leaked object is reported as unreachable objects.

      heapDump.cpp in HotSpot dumps `HPROF_GC_ROOT_JAVA_FRAME` for each Java frames. SA should do that.

        1. from-core.png
          11 kB
          Yasumasa Suenaga
        2. heapdumponoutofmemoryerror.png
          15 kB
          Yasumasa Suenaga

            Assignee:
            Yasumasa Suenaga
            Reporter:
            Yasumasa Suenaga
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: