RFR: 8369505: jhsdb jstack --mixed cannot handle continuation stub on Linux [v5]

Chris Plummer cjplummer at openjdk.org
Mon Oct 13 05:08:08 UTC 2025


On Mon, 13 Oct 2025 03:08:57 GMT, Yasumasa Suenaga <ysuenaga at openjdk.org> wrote:

>> I tried to get mixed thread dump of the application which runs virtual threads (see [Test.java on JBS](https://bugs.openjdk.org/secure/attachment/116453/Test.java)) via `jhsdb jstack --mixed`, then I got following message:
>> 
>> 
>> sun.jvm.hotspot.utilities.AssertionFailure: must have non-zero frame size
>>         at jdk.hotspot.agent/sun.jvm.hotspot.utilities.Assert.that(Assert.java:32)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.runtime.x86.X86Frame.senderForCompiledFrame(X86Frame.java:374)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.runtime.x86.X86Frame.sender(X86Frame.java:273)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.runtime.Frame.sender(Frame.java:225)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.runtime.Frame.realSender(Frame.java:230)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.runtime.VFrame.sender(VFrame.java:120)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.runtime.VFrame.javaSender(VFrame.java:150)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.initJFrameCache(PStack.java:224)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.run(PStack.java:73)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.run(PStack.java:65)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.tools.PStack.run(PStack.java:60)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.tools.JStack.run(JStack.java:67)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.startInternal(Tool.java:278)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.start(Tool.java:241)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.tools.Tool.execute(Tool.java:134)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.tools.JStack.runWithArgs(JStack.java:90)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.runJSTACK(SALauncher.java:306)
>>         at jdk.hotspot.agent/sun.jvm.hotspot.SALauncher.main(SALauncher.java:507)
>> 
>> 
>> And also I got following (strange) stacks which causes `AssersionFailure` in above:
>> 
>> 
>> ----------------- 70094 -----------------
>> "ForkJoinPool-1-worker-4" #32 daemon prio=5 tid=0x00007f8f5c371660 nid=70094 runnable [0x00007f8f406d9000]
>>    java.lang.Thread.State: RUNNABLE
>>    JavaThread state: _thread_in_native
>> 0x00007f8f64658462 __syscall_cancel_arch + 0x32
>> 0x00007f8f6464c75c __internal_syscall_cancel + 0x5c
>> 0x00007f8f646a8c37 __GI___nanosleep + 0x17
>> 0x00007f8f646bb14e __sleep + 0x3e
>> 0x00007f8f4b3a8e1e <nep_invoker_blob>
>> 0x00007f8f4b33fe48 * java.lang.invoke.LambdaForm$MH+0x000000000c047000.invoke(...
>
> Yasumasa Suenaga has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Apply changes to RISC-V code

test/hotspot/jtreg/serviceability/sa/TestJhsdbJstackMixedWithVirtualThread.java line 39:

> 37:  * @test
> 38:  * @bug 8369505
> 39:  * @requires (os.family == "linux") & (vm.hasSA)

I think it would be good to run this on macosx also, but it can't be run --mixed. I did reproduce the exception on macosx without --mixed. It doesn't however produce the "<StubRoutines (continuation stubs)>" frame. The test would need to be modified to instead check for the exception.

Probably we should run this on Windows also.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/27728#discussion_r2425225335


More information about the serviceability-dev mailing list