-
Bug
-
Resolution: Fixed
-
P3
-
8.3.0
The dependency view drains the heap memory and causes out-of-memory exceptions and performance delays.
Ways to reproduce: Enable dependency view and open JFRs with more number of threads and relatively higher stack depth. Switch between JFR pages and watch heat map rendering.
Java HotSpot(TM) 64-Bit Server VM warning: Option FlightRecorder was deprecated in version 13.0 and will likely be removed in a future release.Java HotSpot(TM) 64-Bit Server VM warning: Option FlightRecorder was deprecated in version 13.0 and will likely be removed in a future release.[0.676s][info][jfr,startup] Started recording 1.[0.676s][info][jfr,startup] [0.676s][info][jfr,startup] Use jcmd 55954 JFR.dump name=JMC_Default filename=FILEPATH to copy recording data to file.Exception in thread "DependencyViewCalculation-0" 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:241) at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:586) at java.base/java.lang.StringBuffer.append(StringBuffer.java:313) at java.base/java.io.StringWriter.write(StringWriter.java:106) at org.openjdk.jmc.flightrecorder.serializers.json.StructuredWriter.flush(StructuredWriter.java:139) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.writeRecording(IItemCollectionJsonSerializer.java:102) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.toJsonString(IItemCollectionJsonSerializer.java:66) at org.openjdk.jmc.flightrecorder.dependencyview.DependencyView$ModelRebuildRunnable.run(DependencyView.java:123) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1589)Exception in thread "DependencyViewCalculation-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:241) at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:743) at java.base/java.lang.StringBuilder.append(StringBuilder.java:233) at org.openjdk.jmc.flightrecorder.serializers.json.StructuredWriter.writeIndent(StructuredWriter.java:145) at org.openjdk.jmc.flightrecorder.serializers.json.JsonWriter.writeFieldName(JsonWriter.java:140) at org.openjdk.jmc.flightrecorder.serializers.json.JsonWriter.nextField(JsonWriter.java:98) at org.openjdk.jmc.flightrecorder.serializers.json.IItemCollectionJsonSerializer.writeEvent(IItemCollectionJsonSerializer.java:124) 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.dependencyview.DependencyView$ModelRebuildRunnable.run(DependencyView.java:123) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1589)Aug 25, 2022 11:04:32 AM org.openjdk.jmc.flightrecorder.configuration.internal.CommonConstraints forContentTypeV2WARNING: Couldn't find constraint for nullAug 25, 2022 11:04:33 AM org.openjdk.jmc.flightrecorder.configuration.internal.CommonConstraints forContentTypeV2WARNING: Couldn't find constraint for null