RFR: JDK-8316691: Heap dump: separate stack traces for mounted virtual threads [v3]

Alex Menkov amenkov at openjdk.org
Wed Oct 4 01:27:55 UTC 2023


On Tue, 3 Oct 2023 23:15:52 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:

> I wonder why the `enterSpecial` frame is not present in mounted virtual thread stack trace case with the fix: `[6] jdk.internal.vm.Continuation.enterSpecial(Ljdk/internal/vm/Continuation;ZZ)V (Continuation.java:(native method))`

I used the same logic to split stack traces as ThreadStackTrace::dump_stack_at_safepoint (it was added with VT integration, it's used, for example by VM_ThreadDump).
My understanding that enterSpecial is considered as a special frame which is not belongs to VT stack trace
@AlanBateman could you please comment if my understanding is correct.

> src/hotspot/share/services/heapDumper.cpp line 1559:
> 
>> 1557:   // Dumps a HPROF_GC_ROOT_JAVA_FRAME subrecord for each local
>> 1558:   // Dumps a HPROF_GC_ROOT_JNI_LOCAL subrecord for each JNI local
>> 1559:   // Returns the number of Java frames in this thread stack
> 
> Q: Is this line of comment just wrong and a leftover from an old version of the fix? Function does not return anything, right?

This comment is from old "int VM_HeapDumper::do_thread"
Will remove it with next commit

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

PR Comment: https://git.openjdk.org/jdk/pull/15869#issuecomment-1745983481
PR Review Comment: https://git.openjdk.org/jdk/pull/15869#discussion_r1345046392


More information about the hotspot-runtime-dev mailing list