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