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`) This looks good to me. A quick sanity test passed. We will do a little more testing then approve. I left one inline comment about adding a note indicating that this is for the "JAVA" platform. modules/javafx.web/src/main/native/Source/cmake/WebKitCompilerFlags.cmake line 154: > 152: WEBKIT_PREPEND_GLOBAL_COMPILER_FLAGS(-Wno-sign-compare > 153: > -Wno-deprecated-declarations) > 154: if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING) Please add the following comment above line 154: # Disable SSE for 32-bit Windows on JAVA platform ------------- PR Review: https://git.openjdk.org/jfx/pull/1764#pullrequestreview-2750051129 PR Review Comment: https://git.openjdk.org/jfx/pull/1764#discussion_r2033233369