On Tue, 21 Apr 2026 11:49:08 GMT, Joel Sikström <[email protected]> wrote:

>> Hello,
>> 
>> When looking at the usages of 
>> `InstanceKlass::get_inline_type_field_klass_or_null` I saw that 
>> `SystemDictionary::try_preload_from_loadable_descriptors` uses the returned 
>> value even though it may be null, which can result in a SIGSGV. This change 
>> aligns well with what is done just above in 
>> `SystemDictionary::preload_from_null_free_field`, using the local variable 
>> `name` instead of getting the name from the klass.
>> 
>> Given the right conditions this will result in a crash, but it seems rare as 
>> it requires "the stars to be aligned just right" for it to happen.
>> 
>> I'm not sure how much testing testing there is for classes which have 
>> inlined and non-inlined fields in them in connection to the code being 
>> changed. Such classes would result in an inline_layout_info_array having 
>> null-entires, since it is a sparse array.
>> 
>> Testing:
>> * Oracle's tier1-3
>> * Testing with a local reproducer that this does not crash with the changes
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Joel Sikström has updated the pull request incrementally with two additional 
> commits since the last revision:
> 
>  - Adjust indentation to match first line
>  - Remove second printing of class name

Thank you for the reviews everyone! I reran testing locally, which looks good.

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

PR Comment: https://git.openjdk.org/valhalla/pull/2344#issuecomment-4294291926

Reply via email to