RFR: 8309637: runtime/handshake/HandshakeTimeoutTest.java fails with "has not cleared handshake op" and SIGILL [v2]
Patricio Chilano Mateo
pchilanomate at openjdk.org
Thu Jul 6 16:06:19 UTC 2023
On Thu, 6 Jul 2023 07:02:34 GMT, David Holmes <dholmes at openjdk.org> wrote:
> Great to get to the bottom of this. The actual deadlocks are a nuisance that would ideally be avoided - but unfortunately error reporting is far too full of things that might not be reasonable to do during error reporting.
>
> The code changes seem a bit more elaborate than necessary though - comment below.
>
> Thanks.
>
Thanks for looking at this David.
> src/hotspot/share/runtime/nonJavaThread.cpp line 276:
>
>> 274: while (true) {
>> 275: // Just check for error reporting hangs until either VM is fully
>> 276: // initialized or we are notified to stop running.
>
> Couldn't you achieve the same affect more simply by just conditionalizing the call to `PeriodicTask::real_time_tick(time_waited);` in the loop below i.e.
>
> if (_run_all_tasks) {
> PeriodicTask::real_time_tick(time_waited);
> }
>
> ?
> That avoids the need to refactor anything AFAICS.
Yes, I initially discarded that because sleep() would wait forever when there are no enrolled tasks yet, but not sure why I didn't just added a conditional for that case too inside sleep(). I removed the refactoring now and just added those conditionals.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14777#issuecomment-1623928265
PR Review Comment: https://git.openjdk.org/jdk/pull/14777#discussion_r1254641432
More information about the hotspot-runtime-dev
mailing list