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

Heap dump generation fails with UnmappedAddressException

XMLWordPrintable

    • svc
    • x86
    • linux

      ADDITIONAL SYSTEM INFORMATION :
      SLES 12.3, Linux 4.4.120-94.17-default #1 SMP Wed Mar 14 17:23:00 UTC 2018 (cf3a7bb) x86_64 x86_64 x86_64 GNU/Linux
      Java 1.8.0_181, also seen on 192-ea build

      A DESCRIPTION OF THE PROBLEM :
      > jmap -F -dump:format=b,file=<hprof-file> <pid>
      Attaching to process ID 281194, please wait...
      Debugger attached successfully.
      Server compiler detected.
      JVM version is 25.181-b13
      Dumping heap to <hprof-file> ...
      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:498)
      at sun.tools.jmap.JMap.runTool(JMap.java:201)
      at sun.tools.jmap.JMap.main(JMap.java:130)
      Caused by: sun.jvm.hotspot.debugger.UnmappedAddressException: 7f80eb840010
      at sun.jvm.hotspot.debugger.PageCache.checkPage(PageCache.java:208)
      at sun.jvm.hotspot.debugger.PageCache.getData(PageCache.java:63)
      at sun.jvm.hotspot.debugger.DebuggerBase.readBytes(DebuggerBase.java:225)
      at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.readCInteger(LinuxDebuggerLocal.java:498)
      at sun.jvm.hotspot.debugger.DebuggerBase.readAddressValue(DebuggerBase.java:462)
      at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.readAddress(LinuxDebuggerLocal.java:433)
      at sun.jvm.hotspot.debugger.linux.LinuxAddress.getAddressAt(LinuxAddress.java:74)
      at sun.jvm.hotspot.types.basic.BasicField.getAddress(BasicField.java:168)
      at sun.jvm.hotspot.types.basic.BasicAddressFieldWrapper.getValue(BasicAddressFieldWrapper.java:43)
      at sun.jvm.hotspot.utilities.HashtableEntry.literalValue(HashtableEntry.java:53)
      at sun.jvm.hotspot.memory.SymbolTable.symbolsDo(SymbolTable.java:100)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbols(HeapHprofBinWriter.java:929)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter.write(HeapHprofBinWriter.java:424)
      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)
      ... 6 more

      On 192 early access build the stack trace is a bit different:

      Attaching to process ID 42558, please wait...
      Debugger attached successfully.
      Server compiler detected.
      JVM version is 25.192-b04
      Dumping heap to <hprof-file> ...
      0x00007f74efa5d410
      sun.jvm.hotspot.debugger.UnmappedAddressException: 7f74efa5d410
      at sun.jvm.hotspot.debugger.PageCache.checkPage(PageCache.java:208)
      at sun.jvm.hotspot.debugger.PageCache.getData(PageCache.java:63)
      at sun.jvm.hotspot.debugger.DebuggerBase.readBytes(DebuggerBase.java:225)
      at sun.jvm.hotspot.debugger.linux.LinuxDebuggerLocal.readCInteger(LinuxDebuggerLocal.java:498)
      at sun.jvm.hotspot.debugger.linux.LinuxAddress.getCIntegerAt(LinuxAddress.java:69)
      at sun.jvm.hotspot.types.basic.BasicField.getCInteger(BasicField.java:162)
      at sun.jvm.hotspot.types.basic.BasicCIntegerField.getValue(BasicCIntegerField.java:54)
      at sun.jvm.hotspot.oops.Symbol.getLength(Symbol.java:78)
      at sun.jvm.hotspot.oops.Symbol.asByteArray(Symbol.java:101)
      at sun.jvm.hotspot.oops.Symbol.asString(Symbol.java:112)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbol(HeapHprofBinWriter.java:944)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter.access$400(HeapHprofBinWriter.java:310)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter$3.visit(HeapHprofBinWriter.java:932)
      at sun.jvm.hotspot.memory.SymbolTable.symbolsDo(SymbolTable.java:100)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbols(HeapHprofBinWriter.java:929)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter.write(HeapHprofBinWriter.java:424)
      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)
      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:498)
      at sun.tools.jmap.JMap.runTool(JMap.java:201)
      at sun.tools.jmap.JMap.main(JMap.java:130)
      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:498)
      at sun.tools.jmap.JMap.runTool(JMap.java:201)
      at sun.tools.jmap.JMap.main(JMap.java:130)
      Caused by: java.lang.NullPointerException
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbol(HeapHprofBinWriter.java:944)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter.access$400(HeapHprofBinWriter.java:310)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter$3.visit(HeapHprofBinWriter.java:932)
      at sun.jvm.hotspot.memory.SymbolTable.symbolsDo(SymbolTable.java:100)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter.writeSymbols(HeapHprofBinWriter.java:929)
      at sun.jvm.hotspot.utilities.HeapHprofBinWriter.write(HeapHprofBinWriter.java:424)
      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)
      ... 6 more


      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Run the command in the description against a Java process.

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      Hprof file gets generated successfully.
      ACTUAL -
      I get the exception and hprof file does not get generated.

      FREQUENCY : often


            fmatte Fairoz Matte
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: