RFR: 8297286: runtime/vthread tests crashing after JDK-8296324 [v13]
Patricio Chilano Mateo
pchilanomate at openjdk.org
Mon Apr 3 16:45:08 UTC 2023
On Fri, 31 Mar 2023 05:13:04 GMT, Serguei Spitsyn <sspitsyn at openjdk.org> wrote:
>> So the race I am talking about is between the main thread running finishThreads() and the launcher thread running startThreads(). The main thread could execute finishThreads() before the launcher executes startThreads(). If you comment out the two first sleeps in run_test_cycle() you can actually see the issue. Again, given that the sleeps are there it is an unlikely scheduling, but if we want to avoid depending on timing we can add that extra synchronization.
>
> Sorry, I understood you incorrectly. You are right, there is this kind of race here.
> I've rearranges this area a little bit, and hope, it is cleaner now.
> Now, both `startVirtualThreads()` and `finishVirtualThreads()` are invoked on the main thread, so they do not need to be synchronized any more. Also, the call to `ensureReady()` are moved to `finishVirtualThreads()` right before the call to `letFinish()`.
Fix looks good, thanks!
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13133#discussion_r1156204813
More information about the serviceability-dev
mailing list