RFR: 8316229: Enhance class initialization logging
David Holmes
dholmes at openjdk.org
Wed Sep 20 02:01:38 UTC 2023
On Tue, 19 Sep 2023 07:49:42 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:
>> This change adds some additional debug logging to the class linking and initialization process. It was useful in diagnosing the deadlock described by:
>>
>> https://bugs.openjdk.org/browse/JDK-8316469
>>
>> See the example output in JBS issue.
>>
>> The changes are mostly uncontroversial but I needed to expose a way to access the init thread's name, which can't use the regular `name()` method as the safety check doesn't recognise the calling context as being safe.
>>
>> Testing:
>> - manual examination of logging output
>> - ran the only test that enables class+init logging: runtime/logging/ClassInitializationTest.java (no change as expected)
>> - tiers1-3 sanity
>>
>> Thanks.
>
> src/hotspot/share/oops/instanceKlass.cpp line 779:
>
>> 777: if (debug_logging_enabled) {
>> 778: ResourceMark rm(current);
>> 779: log_debug(class, init)("Thread %s waiting for linking of %s by thread %s",
>
> Here and later: Should thread names be in quotes? This would match other places, e.g. error handler, jstack output, etc.
I don't think it is critical but I can change it.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/15809#discussion_r1330869106
More information about the hotspot-dev
mailing list