On Mon, 22 May 2023 06:35:47 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

>> This is a follow-on to 
>> [JDK-8308000](https://bugs.openjdk.org/browse/JDK-8308000) which adds JVMTI 
>> PopFrames support for virtual thread. For JDWP and JDI this is mostly a spec 
>> update, although JDI needs minor changes to properly throw the correct 
>> exception. Note this PR needs JDK-8264699 in order to function properly, so 
>> there may be some GHA failures until JDK-8308000 is pushed.
>> 
>> There are a large number of tests that can now be removed from the problem 
>> list. Also, one test needs to be modified to no longer expect 
>> OpaqueFrameException for virtual threads. It was just revereted back to it's 
>> previous form before the OpaqueFrameException support was added for virtual 
>> threads.
>> 
>> As you can see from the problemlist update, there are quite a few tests for 
>> popFrames() support. However, there are still two coverage gaps:
>> 
>> - There is no test for throwing NativeMethodException (even for platform 
>> threads)
>> - There is no test case for throwing OpaqueFrameException when the virtual 
>> thread is suspended but not mounted.
>> 
>> I may eventually add one or both tests to the PR, or I may just file 
>> separate CRs for them for now.
>
> Chris Plummer has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   fix jcheck errors

test/jdk/com/sun/jdi/PopFramesTest.java line 115:

> 113:             try {
> 114:                 Thread.sleep(10000);
> 115:             }  catch (InterruptedException e) {

Suggestion:

            } catch (InterruptedException e) {

test/jdk/com/sun/jdi/PopFramesTest.java line 192:

> 190:     }
> 191: 
> 192:     public static void main(String[] args)      throws Exception {

Suggestion:

    public static void main(String[] args) throws Exception {

test/jdk/com/sun/jdi/PopFramesTest.java line 248:

> 246:         BreakpointEvent bpe = startTo("PopFramesTestTarg", "popMethod", 
> "()V");
> 247:         ClassType targetClass = 
> (ClassType)bpe.location().declaringType();
> 248:         ThreadReference mainThread  = bpe.thread();

Suggestion:

        ThreadReference mainThread = bpe.thread();

test/jdk/com/sun/jdi/PopFramesTest.java line 254:

> 252:         try {
> 253:             Thread.sleep(1000); // give thread chance to get into 
> Thread.sleep() or loop
> 254:         }  catch (InterruptedException e) {

Suggestion:

        } catch (InterruptedException e) {

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

PR Review Comment: https://git.openjdk.org/jdk/pull/14022#discussion_r1200225974
PR Review Comment: https://git.openjdk.org/jdk/pull/14022#discussion_r1200226261
PR Review Comment: https://git.openjdk.org/jdk/pull/14022#discussion_r1200227466
PR Review Comment: https://git.openjdk.org/jdk/pull/14022#discussion_r1200227660

Reply via email to