RFR: 8350284: WebKit 620.1 crashes on startup on Windows x86 32-bit [v2]
Roman Marchenko
rmarchenko at openjdk.org
Tue Apr 8 15:53:06 UTC 2025
On Tue, 8 Apr 2025 15:49:44 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`)
>
> Roman Marchenko has updated the pull request incrementally with one additional commit since the last revision:
>
> Update WebKitCompilerFlags.cmake
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)
Suggestion:
# Disable SSE for 32-bit Windows on JAVA platform
if (WTF_CPU_X86 AND NOT CMAKE_CROSSCOMPILING)
-------------
PR Review Comment: https://git.openjdk.org/jfx/pull/1764#discussion_r2033505361
More information about the openjfx-dev
mailing list