Memory Corruption in JDK-21 on x86_64 with AVX-512

Vladimir Kozlov vladimir.kozlov at oracle.com
Wed Sep 27 18:19:13 UTC 2023


Officially jdk21.0.1 is closed for fixes but we are discussing this 
issue now.

I verified the suggested by Xiaohong fix:
retrun nullptr in StoreVectorNode::Ideal() and LoadVectorNode::Ideal().

I will file a bug and follow the process.

Regards,
Vladimir K

On 9/27/23 9:54 AM, Viswanathan, Sandhya wrote:
> Copying Tobias.
> 
>  From what I see JDK21 update schedule has a mid-October release plan (https://wiki.openjdk.org/display/JDKUpdates/JDK+21u).
> 
> Tobias, do you know the code freeze date for that. Hopefully, we still have a couple of days left.
> 
> At the minimum we should revert to return nullptr in both LoadVectorMaskedNode::Ideal and StoreVectorMaskedNode::Ideal as a workaround.
> 
> Best Regards,
> Sandhya
> 
> -----Original Message-----
> From: hotspot-compiler-dev <hotspot-compiler-dev-retn at openjdk.org> On Behalf Of Carter Kozak
> Sent: Wednesday, September 27, 2023 7:26 AM
> To: Xiaohong Gong <Xiaohong.Gong at arm.com>; hotspot-compiler-dev at openjdk.org
> Subject: Re: Memory Corruption in JDK-21 on x86_64 with AVX-512
> 
> Thank you for such a quick diagnosis, I really appreciate it!
> 
> While I don't have a good sense of the mapping between bug severity and backport/release criteria, I suspect this issue may be a strong candidate for an out-of-band jdk-21 release. I'm certainly biased because I had invalid bytes silently persisted, and defer to folks closer to the process.
> 
> Best,
> Carter Kozak
> 
> On Wed, Sep 27, 2023, at 02:57, Xiaohong Gong wrote:
>> Hi Carter,
>>   
>> Thanks for reporting this issue!
>>   
>> It seems the issue is caused by the calling of the super class’s “Ideal()” method in “LoadVectorMaskedNode::Ideal()” (code is: 8286941: Add mask IR for partial vector operations for ARM SVE by XiaohongGong · Pull Request #9037 · openjdk/jdk (github.com) <https://github.com/openjdk/jdk/pull/9037/files#diff-692826251cae892bc4737919579c6afbd317551cd507f99c7bd29d585c1282e2R1028>).
>> Some optimization applied on “LoadNode” is not suitable for “LoadVectorMaskedNode” now. Reverting it back to “return nullptr” can make your benchmark pass.
>>   
>> I will look at this issue and try to fix it next. Thanks!


More information about the hotspot-compiler-dev mailing list