RFR: 8344352: 32-bit builds crash after JDK-8305895 [v2]

Roman Kennke rkennke at openjdk.org
Mon Nov 18 14:18:02 UTC 2024


On Mon, 18 Nov 2024 11:14:02 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> The underlying reason is that newly added `ObjLayout::initialize` is set up in `LP64` block, so 32-bit platforms miss it. I moved the initialization closer to VM init sequence, as it _is_ the essential part of VM init, not just argument parsing. This is the same thing I did in my POC patch in [JDK-8343648](https://bugs.openjdk.org/browse/JDK-8343648).
>> 
>> Additional testing:
>>  - [x] Linux x86_32 fastdebug cross-build (now able to run simple things)
>>  - [x] Linux arm32 fastdebug cross-build (now able to run simple things)
>> 
>> Both builds are still broken at build-time CDS creation steps due to CDS bug ([JDK-8344389](https://bugs.openjdk.org/browse/JDK-8344389)), but they do not fail with ObjLayout bug anymore.
>
> Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains two additional commits since the last revision:
> 
>  - Merge branch 'master' into JDK-8344352-32bit-fail-objlayout
>  - Fix

Specifically, it needs to happen *after* args processing, but *before* the GC or any other heap access happens. I think it's ok where you put it.

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

PR Comment: https://git.openjdk.org/jdk/pull/22196#issuecomment-2483166915


More information about the hotspot-runtime-dev mailing list