On Thu, 18 Nov 2021 09:34:13 GMT, Serguei Spitsyn <sspit...@openjdk.org> wrote:
>> The test fails when the target JavaThread has is_exiting() status. In such a >> case the JvmtiExport::cleanup_thread(this) has already made a clean up of >> its jvmtiThreadState, so the JavaThread address returned by >> _state->get_thread() is 0xbabababababababa. >> The fix is to add a check for is_exiting() status into handshake closure >> do_thread() early. >> There following handshake closures are fixed by this update: >> - UpdateForPopTopFrameClosure >> - SetForceEarlyReturn >> - SetFramePopClosure > > Serguei Spitsyn has updated the pull request incrementally with one > additional commit since the last revision: > > get rid of the checks in jvmti handshakes: java_thread->threadObj() == NULL Also, if the target thread is exiting then the PopFrame should return error code `JVMTI_ERROR_THREAD_NOT_ALIVE`, but not `JVMTI_ERROR_THREAD_NOT_SUSPENDED`. It does not matter what this test is expecting. ------------- PR: https://git.openjdk.java.net/jdk/pull/6440