On Mon, 3 Jun 2024 13:13:55 GMT, Alan Bateman <al...@openjdk.org> wrote:
>> Inigo Mediavilla Saiz has updated the pull request incrementally with one >> additional commit since the last revision: >> >> Add indentation for virtual thread stack > > I don't think showing the frames of the mounted virtual thread before the > carrier thread frames is the best way to show this. For one thing, it appears > immediately after the carrier's thread name/details and state. So I think > Ron's suggestion to clearly label it as the mounted virtual thread after the > carrier stack trace would be good to try. Thanks @AlanBateman and @pron ! Based on your comments I've added https://github.com/openjdk/jdk/pull/19482/commits/9acbf29da37c4f6c143a150635a09c711300a4c7. That provides the following output: "ForkJoinPool-1-worker-1" #21 [27907] daemon prio=5 os_prio=31 cpu=29561.73ms elapsed=29.71s tid=0x0000000147089c10 [0x000000017178d000] Carrying virtual thread #20 Thread: 0x0000000147089c10 [0x6d03] State: _at_safepoint _at_poll_safepoint 1 JavaThread state: _thread_blocked at jdk.internal.vm.Continuation.run(java.base@23-internal/Continuation.java:248) at java.lang.VirtualThread.runContinuation(java.base@23-internal/VirtualThread.java:245) at java.lang.VirtualThread$$Lambda/0x0000300001046740.run(java.base@23-internal/Unknown Source) at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(java.base@23-internal/ForkJoinTask.java:1726) at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.compute(java.base@23-internal/ForkJoinTask.java:1717) at java.util.concurrent.ForkJoinTask$InterruptibleTask.exec(java.base@23-internal/ForkJoinTask.java:1641) at java.util.concurrent.ForkJoinTask.doExec(java.base@23-internal/ForkJoinTask.java:507) at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(java.base@23-internal/ForkJoinPool.java:1489) at java.util.concurrent.ForkJoinPool.scan(java.base@23-internal/ForkJoinPool.java:2071) at java.util.concurrent.ForkJoinPool.runWorker(java.base@23-internal/ForkJoinPool.java:2033) at java.util.concurrent.ForkJoinWorkerThread.run(java.base@23-internal/ForkJoinWorkerThread.java:189) Mounted virtual thread #20 at Main$FunkyLambda.compute(Main.java:38) at Main$FunkyLambda.computeFunkyName(Main.java:31) at Main$$Lambda/0x0000300001000c50.run(Unknown Source) at java.lang.Thread.runWith(java.base@23-internal/Thread.java:1588) at java.lang.VirtualThread.run(java.base@23-internal/VirtualThread.java:329) at java.lang.VirtualThread$VThreadContinuation$1.run(java.base@23-internal/VirtualThread.java:209) at jdk.internal.vm.Continuation.enter0(java.base@23-internal/Continuation.java:320) at jdk.internal.vm.Continuation.enter(java.base@23-internal/Continuation.java:312) ------------- PR Comment: https://git.openjdk.org/jdk/pull/19482#issuecomment-2145205780