On Thu, 26 Jun 2025 00:38:17 GMT, David Holmes <dhol...@openjdk.org> wrote:

> > Line number info puts it in the _java_thread == null branch of: 
> > threadService.cpp
> > 1317 vframeStream vfst(_java_thread != nullptr
> > 1318 ? vframeStream(_java_thread, false, true, vthread_carrier)
> > 1319 : vframeStream(java_lang_VirtualThread::continuation(_thread_h()))); 
> > <---
> > And it's looking inside the Handle _thread_h() within 
> > GetThreadSnapshotClosure which was setup by get_thread_snapshot, and it's a 
> > null pointer,
> 
> But `_thread_h()` has already been used a number of times before we get here 
> and if it were null we should have crashed long ago. ???

I believe null here is not result of `_thread_h()`, but is returned by 
`java_lang_VirtualThread::continuation(...)` because `_thread_h` is 
lava.lang.Thread object and not java.lang.VirtualThread.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/25958#issuecomment-3014271659

Reply via email to