Анализатор памяти: индексирование границ обработки дамп ядра OpenJ9 - PullRequest
0 голосов
/ 13 января 2020

Я сгенерировал дамп ядра виртуальной машины OpenJ9 с помощью команды jcmd 1 Dump.system teste.system.
Но когда я пытаюсь проанализировать файл дампа в Memory Analyzer (MAT) 1.9.1 и 1.9.0 (с Diagnosti c Среда разработки для Java (DTFJ)) почти всегда я получаю это исключение:

An internal error occurred during: "Parsing heap dump from 'C:\temp\system\dest.dmp'". Index -414888 out of bounds for length 1741882

Я попытался запустить MAT с включенными параметрами отладки (https://wiki.eclipse.org/MemoryAnalyzer/FAQ#Enable_Debug_Output) и затем я получил эту трассировку стека:

!MESSAGE An internal error occurred during: "Parsing heap dump from 'C:\temp\system\dest.dmp'". !STACK 0 java.lang.ArrayIndexOutOfBoundsException: Index -414888 out of bounds for length 1741882 at org.eclipse.mat.collect.ArrayIntCompressed.get(ArrayIntCompressed.java:174) at org.eclipse.mat.parser.index.IndexWriter$IntIndex.get0(IndexWriter.java:383) at org.eclipse.mat.parser.index.IndexWriter$IntIndex.get(IndexWriter.java:362) at org.eclipse.mat.dtfj.DTFJIndexBuilder.addRoot(DTFJIndexBuilder.java:6875) at org.eclipse.mat.dtfj.DTFJIndexBuilder.checkThreadBlockingObject(DTFJIndexBuilder.java:3892) at org.eclipse.mat.dtfj.DTFJIndexBuilder.fill(DTFJIndexBuilder.java:2222) at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.parse(SnapshotFactoryImpl.java:222) at org.eclipse.mat.parser.internal.SnapshotFactoryImpl.openSnapshot(SnapshotFactoryImpl.java:126) at org.eclipse.mat.snapshot.SnapshotFactory.openSnapshot(SnapshotFactory.java:147) at org.eclipse.mat.ui.snapshot.ParseHeapDumpJob.run(ParseHeapDumpJob.java:83) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:60)

...