RFC: 8229160: Reimplement JvmtiRawMonitor to use PlatformMonitor

Doerr, Martin martin.doerr at sap.com
Wed Aug 28 12:57:13 UTC 2019


Hi David,

> Now why would a GCTaskThread being executing code that accesses
> JvmtiRawMonitors? Are we in some kind of event callback?
I believe so. The test registers the following callbacks:
    callbacks.GarbageCollectionStart = &GarbageCollectionStart;
    callbacks.GarbageCollectionFinish = &GarbageCollectionFinish;
And these callback functions use jvmti->RawMonitorEnter.

Note that the spec for "Raw Monitor Enter" allows this:
"This function may be called from the callbacks to the Heap iteration functions, or from the event handlers for the GarbageCollectionStart, GarbageCollectionFinish, and ObjectFree events."

> Is there any more stack? What is that dll?
The dll belongs to the test. I guess it was built without debug info so there's no native stack trace available.

> Can you tell me what test this was and how to reproduce?
make run-test TEST="vmTestbase/nsk/jvmti/scenarios/allocation/AP04/ap04t001"
I haven't tried if it can be reproduced well. May be sporadic.

At least, I can confirm that the following comment is true ��
// FIXME: this is broken - raw_enter only accepts the VMThread

Best regards,
Martin



More information about the serviceability-dev mailing list