[jdk17] RFR: 8271251: JavaThread::java_suspend() fails with "fatal error: Illegal threadstate encountered: 6" [v3]
Patricio Chilano Mateo
pchilanomate at openjdk.java.net
Tue Jul 27 17:28:38 UTC 2021
On Mon, 26 Jul 2021 22:40:53 GMT, Patricio Chilano Mateo <pchilanomate at openjdk.org> wrote:
>> Hi,
>>
>> Please review this small patch. When self-suspending, a JavaThread might reach SafepointSynchronize::block() with a state of _thread_in_vm which is not listed as a valid state for safepoint polling. There are a couple of simple ways to fix this. As suggested by @dholmes-ora we can avoid the handshake machinery altogether and directly self-suspend. Since this issue is intermittent and in tier7 which I didn't run as many times as other lower tiers it escaped my testing of 8270085.
>>
>> Testing in mach5 tiers1-7. I also reproduced the test failures locally and verified that now both hs202t002.java and ThreadSuspendSelf.java are passing.
>>
>> Thanks,
>> Patricio
>
> Patricio Chilano Mateo has updated the pull request incrementally with one additional commit since the last revision:
>
> move log statement back inside loop
Hi Vladimir,
> Note, currently you need to get approval for JDK 17 fix according to:
> http://openjdk.java.net/jeps/3#Fix-Request-Process
>
Right, I was waiting for the 2 reviews before posting the fix request. I'll do that right after all comments are resolved.
Thanks,
Patricio
-------------
PR: https://git.openjdk.java.net/jdk17/pull/283
More information about the hotspot-runtime-dev
mailing list