RFR: 8320707: Virtual thread test updates
Chris Plummer
cjplummer at openjdk.org
Mon Dec 18 20:40:39 UTC 2023
On Sat, 16 Dec 2023 17:25:20 GMT, Alan Bateman <alanb at openjdk.org> wrote:
> A lot of test changes have accumulated in the loom repo, this includes both new tests and updates to existing tests. Some of these updates can be brought to the main line. This update brings over:
>
> - The existing tests for pinning use synchronized blocks. In preparation for changes to allow carrier thread be released when a virtual thread parks holding a monitor or blocks on monitorenter, these tests are changed to pin by having a native frame on the stack. This part includes test infrastructure to make it easy to add more tests that do operations while pinned. The tests still test what they were originally created to test of course.
>
> - The test for the JFR jdk.VirtualThreadPinned event is refactored to allow for additional cases where the event may be reported.
>
> - ThreadAPI is expanded to cover test for uncaught exception handling.
>
> - GetStackTraceWhenRunnable is refactored to not use a Selector, otherwise this test will be invalidated when blocking selection operations release the carrier.
>
> - StressStackOverflow is dialed down to run for 1m instead of 2mins.
>
> - The use of CountDownLatch in a number of tests that poll thread state has been dropped to keep the tests as simple as possible.
Can you explain your motivation for using AtomicBoolean with a polling loop rather than CountDownLatch(1)? I'm working on a test where I just added a CountDownLatch(1) and am wondering if I should do the same, but I'm not sure if there is something about these tests that is motivating the change.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/17136#issuecomment-1861578806
More information about the serviceability-dev
mailing list