Abbiamo un server di applicazioni JBoss in esecuzione nell'aggiornamento 45 di Java 6. Stiamo eseguendo OutOfMemoryErrors che probabilmente abbiamo introdotto noi stessi. Ci piacerebbe analizzarli e vogliamo creare un dump dell'heap. Questo fallisce con l'eccezione qui sotto.Impossibile creare il dump dell'heap dovuto a ReadVirtual non riuscito
Googling e la ricerca di stackoverflow non mi ha aiutato molto, qualcuno ha un'idea su come ottenere un dump dell'heap da questa macchina?
Grazie!
Martin
L'eccezione è:
C:\>"d:\Program Files\Java\bin\"jmap -F "-dump:format=b,file=D:\heapdumps\20130620_085902_heap.dump" 1832
Attaching to process ID 1832, please wait...
Debugger attached successfully.
Server compiler detected.
JVM version is 20.45-b01
Dumping heap to D:\heapdumps\20130620_085902_heap.dump ...
Exception in thread "main" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at sun.tools.jmap.JMap.runTool(JMap.java:179)
at sun.tools.jmap.JMap.main(JMap.java:110)
Caused by: sun.jvm.hotspot.debugger.DebuggerException: Windbg Error: ReadVirtual failed!
at sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.readBytesFromProcess0(Native Method)
at sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.readBytesFromProcess(WindbgDebuggerLocal.java:485)
at sun.jvm.hotspot.debugger.DebuggerBase$Fetcher.fetchPage(DebuggerBase.java:76)
at sun.jvm.hotspot.debugger.PageCache.getPage(PageCache.java:178)
at sun.jvm.hotspot.debugger.PageCache.getInt(PageCache.java:96)
at sun.jvm.hotspot.debugger.DebuggerBase.readCInteger(DebuggerBase.java:355)
at sun.jvm.hotspot.debugger.DebuggerBase.readCompOopAddressValue(DebuggerBase.java:459)
at sun.jvm.hotspot.debugger.windbg.WindbgDebuggerLocal.readCompOopHandle(WindbgDebuggerLocal.java:332)
at sun.jvm.hotspot.debugger.windbg.WindbgAddress.getCompOopHandleAt(WindbgAddress.java:122)
at sun.jvm.hotspot.oops.Oop.getKlassForOopHandle(Oop.java:235)
at sun.jvm.hotspot.oops.ObjectHeap.newOop(ObjectHeap.java:378)
at sun.jvm.hotspot.oops.ObjectHeap.iterateLiveRegions(ObjectHeap.java:464)
at sun.jvm.hotspot.oops.ObjectHeap.iterate(ObjectHeap.java:249)
at sun.jvm.hotspot.utilities.AbstractHeapGraphWriter.write(AbstractHeapGraphWriter.java:51)
at sun.jvm.hotspot.utilities.HeapHprofBinWriter.write(HeapHprofBinWriter.java:416)
at sun.jvm.hotspot.tools.HeapDumper.run(HeapDumper.java:56)
at sun.jvm.hotspot.tools.Tool.start(Tool.java:221)
at sun.jvm.hotspot.tools.HeapDumper.main(HeapDumper.java:77)
... 6 more
[Questo bug] (http://bugs.sun.com/view_bug.do ? bug_id = 6987812) sembra correlato, tuttavia è stato contrassegnato come fisso ... – fge
Sì, quello è uno di i post che ho trovato su Google, ma non dovrebbe essere un problema in un JDK 6u45 ... – SunSear
Forse potresti provare, se possibile, a riprodurre con OpenJDK 6 e aprire un bug se è riproducibile? – fge