RFR: 8309752: com/sun/jdi/SetLocalWhileThreadInNative.java fails with virtual test thread factory due to OpaqueFrameException
Serguei Spitsyn
sspitsyn at openjdk.org
Sat Jun 10 02:07:50 UTC 2023
On Fri, 9 Jun 2023 20:47:13 GMT, Chris Plummer <cjplummer at openjdk.org> wrote:
> com/sun/jdi/SetLocalWhileThreadInNative.java is failing with OpaqueFrameException when using the virtual test thread factory. The reason is because JDI only supports calling StackFrame.setValue() on the topmost frame of a virtual thread. The test is calling it on the ThreadReference.frames(2), so the OpaqueFrameException is correct behavior and the test needs to adapt.
>
> I could have chosen to just not have this test support running on a virtual thread, but it appears to be the only test we have that attempts StackFrame.setValue() on something other than the topmost frame, so it's good to have it expect the OpaqueFrameException.
>
> Tested locally with and without the virtual thread wrapper. tier1 and tier5 svc testing tbd.
Looks good.
Thanks,
Serguei
test/jdk/com/sun/jdi/SetLocalWhileThreadInNative.java line 166:
> 164: List<LocalVariable> localVars = frame.visibleVariables();
> 165: boolean changedLocal = false;
> 166: boolean caughtOPE = false;
Nit: Should it be caughtOFE instead of caughtOPE?
-------------
Marked as reviewed by sspitsyn (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/14402#pullrequestreview-1473268372
PR Review Comment: https://git.openjdk.org/jdk/pull/14402#discussion_r1224999636
More information about the serviceability-dev
mailing list