<div dir="ltr"><div>Hi!</div><div><br></div><div>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.</div><div><br></div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">Cheers!<br>María.<a href="mailto:ariasdereyna@redhat.com" target="_blank"></a></div></div></div><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Oct 8, 2025 at 1:00 PM María Arias de Reyna Dominguez <<a href="mailto:mariasde@redhat.com">mariasde@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Hi!</div><div><br></div><div>I'm working on adding the class name to the KlassTrainingData line in the AOT map file: <a href="https://bugs.openjdk.org/browse/JDK-8369418" target="_blank">https://bugs.openjdk.org/browse/JDK-8369418</a></div><div><br></div><div>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:</div><div><a href="https://github.com/openjdk/jdk/blob/master/src/hotspot/share/oops/trainingData.cpp#L550-L561" target="_blank">https://github.com/openjdk/jdk/blob/master/src/hotspot/share/oops/trainingData.cpp#L550-L561</a></div><div><br></div><div>$ cat aot.log* | grep "Cleanup KTD" | head<br>[debug][aot,training             ] Cleanup KTD org.infinispan.commons.logging.log4j.XmlConfiguration<br>[debug][aot,training             ] Cleanup KTD org.infinispan.manager.DefaultCacheManager<br>[debug][aot,training             ] Cleanup KTD org.infinispan.distribution.DistributionInfo<br>[debug][aot,training             ] Cleanup KTD org.apache.logging.log4j.core.config.Node<br>[debug][aot,training             ] Cleanup KTD org.infinispan.factories.impl.BasicComponentRegistry<br>[debug][aot,training             ] Cleanup KTD org.apache.logging.log4j.util.Lazy<br>[debug][aot,training             ] Cleanup KTD org.infinispan.factories.AnyScopeComponentFactory<br>[debug][aot,training             ] Cleanup KTD org.infinispan.rest.framework.impl.PathItem<br>[debug][aot,training             ] Cleanup KTD io.micrometer.core.instrument.ImmutableTag<br>[debug][aot,training             ] Cleanup KTD org.infinispan.commons.util.ArrayMap$KeySet</div><div><br></div><div>But the KlassTrainingData with the null pointer is there, on the AOT Cache (or at least on the AOT Map File logger). </div><div><br></div><div>Am I missing something here? If it is excluded, why is it on the cache?</div><div><br></div><div>If not, how do we relate this training data to anything useful?</div><div><br></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr">Cheers!<br>María Arias de Reyna Domínguez<br>Senior Software Engineer<br>She / Her / Hers</div></div></div></div>
</blockquote></div>