Skip to content

NPE from JavaClassesProvider.getHeapGCRoots() #288

Description

@thurka

Slightly broken heap dump can cause following NPE:

java.lang.NullPointerException: Cannot invoke "org.graalvm.visualvm.lib.jfluid.heap.Instance.getJavaClass()" because "instance" is null
	at org.graalvm.visualvm.heapviewer.java.impl.JavaClassesProvider.getHeapGCRoots(JavaClassesProvider.java:236)
	at org.graalvm.visualvm.heapviewer.java.impl.JavaObjectsView$1.computeData(JavaObjectsView.java:175)
	at org.graalvm.visualvm.heapviewer.ui.TreeTableView$1.lazilyComputeChildren(TreeTableView.java:147)
	at org.graalvm.visualvm.heapviewer.model.HeapViewerNode$1.doInBackground(HeapViewerNode.java:180)
	at org.graalvm.visualvm.heapviewer.model.HeapViewerNode$1.doInBackground(HeapViewerNode.java:166)
	at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:831)

Steps to reproduce:

  1. open heap dump
  2. select 'Objects'
  3. select 'GC roots' preset
  4. NPE

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions