[lworld] RFR: 8366440: [lworld] Two tests broken with JDK-8364483

Coleen Phillimore coleenp at openjdk.org
Thu Sep 4 13:52:53 UTC 2025


On Thu, 4 Sep 2025 12:53:06 GMT, Paul Hübner <phubner at openjdk.org> wrote:

>> I added some logging and fixed the tests so that one doesn't rely on a migrated class in java.base to throw a VerifyError (will make a parallel fix to this test in mainline).  The other, I changed the logging message that it is looking for. More tests in this area will be added.
>> Tested locally.
>
> src/hotspot/share/classfile/classFileParser.cpp line 6240:
> 
>> 6238:             _inline_layout_info_array->adr_at(fieldinfo.index())->set_klass(InlineKlass::cast(klass));
>> 6239:             log_info(class, preload)("Preloading of class %s during loading of class %s "
>> 6240:                                      "(cause: field type not in LoadableDescriptors attribute) succeeded",
> 
> "field type not in LoadableDescriptors" yet "succeeded" seems contradictory. Correct me if I'm wrong, but I think successful preloading implies that this class was (potentially transitively) in a LoadableDescriptors attribute of some class being loaded.
> 
> I'm not sure I follow why we suddenly introduce a log message here which is never checked in the tests. Could you elaborate?

I couldn't figure out how to write this test (even though we do reach this code), or rather I didn't want to delay this change while figuring out how to write a test because it was breaking the CI.

Even though this doesn't technically preload the class, I wanted the log message to look like the other preloading messages, so kept "Preloading".  And I wanted to keep "field type".   How about:

Preloading of class %s during loading of class $s (cause: field type where LoadableDescriptors attribute is missing) succeeded

Although that's really long.  Suggestions welcome!

-------------

PR Review Comment: https://git.openjdk.org/valhalla/pull/1544#discussion_r2322246353


More information about the valhalla-dev mailing list