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`)

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

Commit messages:
 - 8350284: WebKit 620.1 crashes on startup on Windows x86 32-bit

Changes: https://git.openjdk.org/jfx/pull/1764/files
  Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=1764&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8350284
  Stats: 3 lines in 1 file changed: 3 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jfx/pull/1764.diff
  Fetch: git fetch https://git.openjdk.org/jfx.git pull/1764/head:pull/1764

PR: https://git.openjdk.org/jfx/pull/1764

Reply via email to