RFR: 8266593: vmTestbase/nsk/jvmti/PopFrame/popframe011 fails with "assert(java_thread == _state->get_thread()) failed: Must be"

Serguei Spitsyn sspitsyn at openjdk.java.net
Wed Nov 17 22:37:01 UTC 2021


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

-------------

Commit messages:
 - remove vmTestbase/nsk/jvmti/PopFrame/popframe011 from ProblemList.txt
 - fix 8266593: vmTestbase/nsk/jvmti/PopFrame/popframe011 fails with assert

Changes: https://git.openjdk.java.net/jdk/pull/6440/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=6440&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8266593
  Stats: 22 lines in 2 files changed: 10 ins; 6 del; 6 mod
  Patch: https://git.openjdk.java.net/jdk/pull/6440.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/6440/head:pull/6440

PR: https://git.openjdk.java.net/jdk/pull/6440


More information about the serviceability-dev mailing list