On Wed, 3 Jun 2026 03:56:29 GMT, David Holmes <[email protected]> wrote:

> I don't think the assertions suffice. If something like `SetObjectField` is 
> called from an attached thread, but with no Java frame on the stack, then we 
> will have a null last-frame and thus vframe.


It this case the event is not posted. because of check in the 
oop JvmtiExport::jni_GetField_probe(JavaThread *thread, jobject jobj, oop obj,
                                    Klass* klass, jfieldID fieldID, bool 
is_static) {
  if (*((int *)get_field_access_count_addr()) > 0 && 
thread->has_last_Java_frame()) {

>>>>>>>> Do not get here 

    // At least one field access watch is set so we have more work to do.
    post_field_access_by_jni(thread, obj, klass, fieldID, is_static);
    // event posting can block so refetch oop if we were passed a jobj
    if (jobj != nullptr) return JNIHandles::resolve_non_null(jobj);
  }
  return obj;
}


It might separate issue, the events should be sent but with null method, I 
suppose.

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

PR Comment: https://git.openjdk.org/jdk/pull/31352#issuecomment-4609286310

Reply via email to