-
Bug
-
Resolution: Fixed
-
P3
-
8.2.0
Rendering stack trace on heat map drains the heap memory and causes out of memory exception and performance delays.
Ways to reproduce: Enable heat map and open JFRs with more number of threads and relatively higher stack depth. Switch between JFR pages and watch heat map rendering.
Exception in thread "HeatmapCalculation-1" java.lang.OutOfMemoryError: Java heap space at java.base/java.util.Arrays.copyOf(Arrays.java:3537) at java.base/java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:229) at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:789) at java.base/java.lang.StringBuilder.append(StringBuilder.java:242) at org.openjdk.jmc.flightrecorder.serializers.json.StructuredWriter.write(StructuredWriter.java:170) at org.openjdk.jmc.flightrecorder.serializers.json.JsonWriter.writeEscaped(JsonWriter.java:190) at org.openjdk.jmc.flightrecorder.serializers.json.JsonWriter.writeEscaped(JsonWriter.java:148) at org.openjdk.jmc.flightrecorder.serializers.json.JsonWriter.writeStringValue(JsonWriter.java:135) at org.openjdk.jmc.flightrecorder.serializers.json.JsonWriter.writeField(JsonWriter.java:84) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.writeFrame(IItemCollectionJsonSerializer.java:151) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.writeStackTrace(IItemCollectionJsonSerializer.java:139) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.writeEventAttributes(IItemCollectionJsonSerializer.java:165) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.writeEvent(IItemCollectionJsonSerializer.java:126) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.writeRecording(IItemCollectionJsonSerializer.java:96) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.toJsonString(IItemCollectionJsonSerializer.java:66) at org.openjdk.jmc.flightrecorder.heatmap.views.HeatmapView$ModelRebuildRunnable.run(HeatmapView.java:104) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Exception in thread "HeatmapCalculation-3" java.lang.OutOfMemoryError: Java heap space at java.base/java.util.Arrays.copyOf(Arrays.java:3537) at java.base/java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:229) at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:789) at java.base/java.lang.StringBuilder.append(StringBuilder.java:242) at org.openjdk.jmc.flightrecorder.serializers.json.StructuredWriter.write(StructuredWriter.java:170) at org.openjdk.jmc.flightrecorder.serializers.json.JsonWriter.writeEscaped(JsonWriter.java:190) at org.openjdk.jmc.flightrecorder.serializers.json.JsonWriter.writeEscaped(JsonWriter.java:148) at org.openjdk.jmc.flightrecorder.serializers.json.JsonWriter.writeStringValue(JsonWriter.java:135) at org.openjdk.jmc.flightrecorder.serializers.json.JsonWriter.writeField(JsonWriter.java:84) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.writeFrame(IItemCollectionJsonSerializer.java:151) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.writeStackTrace(IItemCollectionJsonSerializer.java:139) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.writeEventAttributes(IItemCollectionJsonSerializer.java:165) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.writeEvent(IItemCollectionJsonSerializer.java:126) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.writeRecording(IItemCollectionJsonSerializer.java:96) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.toJsonString(IItemCollectionJsonSerializer.java:66) at org.openjdk.jmc.flightrecorder.heatmap.views.HeatmapView$ModelRebuildRunnable.run(HeatmapView.java:104) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:833) Exception in thread "HeatmapCalculation-0" java.lang.OutOfMemoryError: Java heap space Exception in thread "HeatmapCalculation-4" java.lang.OutOfMemoryError: Java heap space Exception in thread "HeatmapCalculation-2" java.lang.OutOfMemoryError: Java heap space
- relates to
-
JMC-7885 Graphical rendering of dependency view fails due to heap memory drain
-
- Resolved
-