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

jmap fails to heap dump: cannot get class data for j.u.stream.Collectors$$Lambda

XMLWordPrintable

    • x86
    • linux_redhat_6.0

      FULL PRODUCT VERSION :
      gdonovan@gdonovan:~/development/Search (jdk18025 *)$ /usr/java/jdk1.8.0_25/bin/java -version
      java version "1.8.0_25"
      Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
      Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

      ADDITIONAL OS VERSION INFORMATION :
      CentOS release 6.2 (Final)
      Linux 2.6.32-220.4.1.el6.x86_64 #1 SMP Tue Jan 24 02:13:44 GMT 2012 x86_64 x86_64 x86_64 GNU/Linux

      A DESCRIPTION OF THE PROBLEM :
      Histograms work without issue:
      sudo /usr/java/jdk1.8.0_25/bin/jmap -J-d64 -histo -F $pid 2>&1

      But heap dumps fail:
      gdonovan@gdonovan:~/development/Search (jdk18025 *)$ sudo /usr/java/jdk1.8.0_25/bin/jmap -J-d64 -dump:format=b,file=$file -F $pid 2>&1
      Attaching to process ID 2750, please wait...
      Debugger attached successfully.
      Server compiler detected.
      JVM version is 25.25-b02
      Dumping heap to /search/tmp/heap-gdonovan-1417725219.bin ...
      Exception in thread "main" java.lang.reflect.InvocationTargetException
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:483)
      at sun.tools.jmap.JMap.runTool(JMap.java:201)
      at sun.tools.jmap.JMap.main(JMap.java:130)
      Caused by: sun.jvm.hotspot.utilities.AssertionFailure: can not get class data for java/util/stream/Collectors$$Lambda$60x00000001001ca428
      at sun.jvm.hotspot.utilities.Assert.that(Assert.java:32)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeInstance(HeapHprofBinWriter.java:803)
      at sun.jvm.hotspot.utilities.AbstractHeapGraphWriter$1.doObj(AbstractHeapGraphWriter.java:95)
      at sun.jvm.hotspot.oops.ObjectHeap.iterateLiveRegions(ObjectHeap.java:353)
      at sun.jvm.hotspot.oops.ObjectHeap.iterate(ObjectHeap.java:171)
      at sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.write(AbstractHeapGraphWriter.java:51)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter.write(HeapHprofBinWriter.java:433)
      at sun.jvm.hotspot.tools.HeapDumper.run(HeapDumper.java:62)
      at sun.jvm.hotspot.tools.Tool.startInternal(Tool.java:260)
      at sun.jvm.hotspot.tools.Tool.start(Tool.java:223)
      at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
      at sun.jvm.hotspot.tools.HeapDumper.main(HeapDumper.java:83)

      REGRESSION. Last worked in version 7u55


      REPRODUCIBILITY :
      This bug can be reproduced always.

      CUSTOMER SUBMITTED WORKAROUND :
      We are unable to use jmap to generate heap dumps.

            jgeorge Jini George (Inactive)
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: