KlassTrainingData in AOT cache without holder

ioi.lam at oracle.com ioi.lam at oracle.com
Wed Oct 15 00:21:43 UTC 2025


Hi Maria,

I've created the following bug: https://bugs.openjdk.org/browse/JDK-8369857

Training data beloing to the excluded classes should be removed from the 
AOT cache.

Thanks

- Ioi

On 10/9/25 4:06 AM, María Arias de Reyna Dominguez wrote:
> Hi!
>
> This also happens to MethodTrainingData objects so I guess this is 
> either me understanding wrong what "excluded" means or a bug on the 
> way the cleanup of excluded elements from AOT Cache work.
>
> Cheers!
> María.
>
>
> On Wed, Oct 8, 2025 at 1:00 PM María Arias de Reyna Dominguez 
> <mariasde at redhat.com> wrote:
>
>     Hi!
>
>     I'm working on adding the class name to the KlassTrainingData line
>     in the AOT map file: https://bugs.openjdk.org/browse/JDK-8369418
>
>     I found that some of the KlassTrainingData have no InstanceKlass
>     associated to it ( _holder is a null pointer). If I follow the
>     logs, it is because that KlassTrainingData was excluded from the AOT:
>     https://github.com/openjdk/jdk/blob/master/src/hotspot/share/oops/trainingData.cpp#L550-L561
>
>     $ cat aot.log* | grep "Cleanup KTD" | head
>     [debug][aot,training             ] Cleanup KTD
>     org.infinispan.commons.logging.log4j.XmlConfiguration
>     [debug][aot,training             ] Cleanup KTD
>     org.infinispan.manager.DefaultCacheManager
>     [debug][aot,training             ] Cleanup KTD
>     org.infinispan.distribution.DistributionInfo
>     [debug][aot,training             ] Cleanup KTD
>     org.apache.logging.log4j.core.config.Node
>     [debug][aot,training             ] Cleanup KTD
>     org.infinispan.factories.impl.BasicComponentRegistry
>     [debug][aot,training             ] Cleanup KTD
>     org.apache.logging.log4j.util.Lazy
>     [debug][aot,training             ] Cleanup KTD
>     org.infinispan.factories.AnyScopeComponentFactory
>     [debug][aot,training             ] Cleanup KTD
>     org.infinispan.rest.framework.impl.PathItem
>     [debug][aot,training             ] Cleanup KTD
>     io.micrometer.core.instrument.ImmutableTag
>     [debug][aot,training             ] Cleanup KTD
>     org.infinispan.commons.util.ArrayMap$KeySet
>
>     But the KlassTrainingData with the null pointer is there, on the
>     AOT Cache (or at least on the AOT Map File logger).
>
>     Am I missing something here? If it is excluded, why is it on the
>     cache?
>
>     If not, how do we relate this training data to anything useful?
>
>     Cheers!
>     María Arias de Reyna Domínguez
>     Senior Software Engineer
>     She / Her / Hers
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/leyden-dev/attachments/20251014/ce356da2/attachment.htm>


More information about the leyden-dev mailing list