On Tue, 8 Apr 2025 07:48:19 GMT, Roman Marchenko <rmarche...@openjdk.org> wrote:

> All the crashes are on "`movaps`" instructions, like "`movaps xmmword ptr 
> [esi+0x30], xmm0`".
> 
> "`movaps`" must operate with aligned addresses as 
>> When the source or destination operand is a memory operand, the operand must 
>> be aligned on a 16-byte boundary or a general-protection exception (#GP) is 
>> generated
> 
> written in docs. When crashes, ESI contains value like `0x27DB63A8`, so it 
> doesn’t seem aligned to 16-byte boundary. The line "`siginfo: 
> ExceptionCode=0xc0000005, reading address 0xffffffff`" from `hs_err` file 
> implicitly says it is GP, not a real "reading address 0xffffffff".
> 
> It might be related to clang-cl bug, see 
> https://github.com/llvm/llvm-project/issues/55844
> 
> The workaround is to disable SSE when building 32bit on Windows. (`-mno-sse`)

The change looks correct to me, but @jaybhaskar can say for sure.

I will run a test build (on JDK 8, since that is the only release on which we 
still have a 32-bit build) to confirm.

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

PR Comment: https://git.openjdk.org/jfx/pull/1764#issuecomment-2786287755

Reply via email to