On Mon, 5 Jun 2023 04:03:57 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

> The test has two issues. The first is that it assume that once the VMStart 
> event has arrived and one "step into" is done, it will be in the main method 
> of the debuggee. Once there, it determines the debuggee class name by looking 
> at the classtype of topmost frame. The problems is when using virtual 
> threads, it is actually in TestScaffold.main() at this point, so the wrong 
> class name is gleaned from the frame. To fix this the test just saves away 
> the debuggee class name, which is passed to the test as the 4th argument.
> 
> The other issue is that the test assumes once it gets to the debuggee go() 
> method, there are only two frames on the stack. It's more like 16 when using 
> virtual threads. The test needs to account for this by counting the number of 
> frames when go() is entered rather than assuming it will be 2.
> 
> Tested locally with and without the wrapper and by running tier5 svc tests.

This pull request has now been integrated.

Changeset: e3f3ac08
Author:    Chris Plummer <cjplum...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/e3f3ac0825e63ef5cec8e5f7e53ee0dbee263ac4
Stats:     21 lines in 2 files changed: 10 ins; 4 del; 7 mod

8309420: com/sun/jdi/StepTest.java fails with virtual thread wrapper

Reviewed-by: sspitsyn, amenkov

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

PR: https://git.openjdk.org/jdk/pull/14307

Reply via email to