[jdk18] RFR: 8273107: RunThese24H times out with "java.lang.management.ThreadInfo.getLockName()" is null
David Holmes
dholmes at openjdk.java.net
Wed Dec 15 04:09:08 UTC 2021
On Wed, 15 Dec 2021 03:30:34 GMT, Daniel D. Daugherty <dcubed at openjdk.org> wrote:
>> src/hotspot/share/runtime/synchronizer.cpp line 62:
>>
>>> 60: class CleanupObjectMonitorsHashtable: StackObj {
>>> 61: public:
>>> 62: bool do_entry(JavaThread*& key, ObjectMonitorsHashtable::PtrList*& list) {
>>
>> I don't see this being called by anything ???
>
> See L71 below: _ptrs->unlink(&cleanup); // cleanup the LinkedLists
> That passes the cleanup object to ResourceHashtable::unlink()
> function which calls the do_entry() function in the cleanup object.
Ah I see (well I don't really see as this is very obscure). I would have expected `CleanupObjectMonitorsHashtable` to be a subtype of something that I could then see is used by the ResourceHashtable. I'm going to guess that there is some template usage here that ensures the passed in object has the right API even if there is no subtyping relationship. Hard to see these connections at a distance.
To be clear not a review as I don't understand our Hashtable's enough to make much sense of what is actually happening here.
-------------
PR: https://git.openjdk.java.net/jdk18/pull/25
More information about the hotspot-runtime-dev
mailing list