-
Notifications
You must be signed in to change notification settings - Fork 304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[HeapViewer] failed to show threads when heap dump contains virtual threads (JDK 22) #539
Comments
I am not able to reproduce it. Where is 'heap dump contains virtual threads'? |
I've attached sample hprof file which contains virtual threads |
Thanks, I will take a look. |
I fixed NPE. In attached heap dump I now see two entries for Virtual thread
|
Great. |
NPE fixed in master. |
JDK 22 adds support of virtual threads in heap dumps (thread objects/stack traces/stack references):
https://bugs.openjdk.org/browse/JDK-8316691
https://bugs.openjdk.org/browse/JDK-8299426
VisualVM fails to show threads if heap dump contains virtual threads:
error:
java.lang.NullPointerException
at org.graalvm.visualvm.heapviewer.java.impl.JavaThreadsProvider.getThreadName(JavaThreadsProvider.java:89)
The reason is JavaThreadsProvider expects Thread object has non-null "holder" field.
VirtualThread objects have null "holder" field (virtual threads are always daemon threads, they have fixed priority that cannot be changed, thread status is stored in VirtualThread object).
The text was updated successfully, but these errors were encountered: