RFR: 8350284: WebKit 620.1 crashes on startup on Windows x86 32-bit
Kevin Rushforth
kcr at openjdk.org
Tue Apr 8 13:51:21 UTC 2025
On Tue, 8 Apr 2025 07:48:19 GMT, Roman Marchenko <rmarchenko at 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
More information about the openjfx-dev
mailing list