[jdk8u-dev] Integrated: 8186787: clang-4.0 SIGSEGV in Unsafe_PutByte

Zdenek Zambersky zzambers at openjdk.org
Thu Mar 6 11:13:02 UTC 2025


On Thu, 25 Jul 2024 15:00:49 GMT, Zdenek Zambersky <zzambers at openjdk.org> wrote:

> This backport fixes [failures](https://github.com/zzambers/jdk8u-dev/actions/runs/9858657012/job/27221579883) (segfaults) in following tests which appeared after [macos update](https://github.com/openjdk/jdk8u-dev/pull/544):
> 
> sun/misc/CopyMemory.java 
> compiler/unsafe/OpaqueAccesses.java
> 
> Backport differs from original changeset, because there were significant changes/refactoring in unsafe.
> 
> **Notes:**
> - [original changeset](https://github.com/openjdk/jdk11u-dev/commit/6dc1d8c06d98e127b022886172e16b90bf357c97) changes pointer returned by `addr` (`MemoryAccess` class), to volatile. Otherwise it is basically just refactoring.
> - `MemoryAccess` is used by `Unsafe_{Set,Put}*` and `Unsafe_{Set,Put}*Volatile` functions, defined using `DEFINE_GETSETOOP` and `DEFINE_GETSETOOP_VOLATILE` macros
> - jdk8 does not have `MemoryAccess` class, so equivalent pointers, in functions mentioned higher, are cast to volatile, to achieve same effect
> 
> Testing:
> Tier1: OK (fixes `sun/misc/CopyMemory.java` and `compiler/unsafe/OpaqueAccesses.java` tests on macos, 1 failure on Linux x86 is timeout - seems unrelated, macos failures explained here: https://github.com/openjdk/jdk8u-dev/pull/544#issuecomment-2250636257)

This pull request has now been integrated.

Changeset: 79124139
Author:    Zdenek Zambersky <zzambers at openjdk.org>
URL:       https://git.openjdk.org/jdk8u-dev/commit/79124139a676a555511f4365ce6771a7dc920dcf
Stats:     9 lines in 1 file changed: 7 ins; 0 del; 2 mod

8186787: clang-4.0 SIGSEGV in Unsafe_PutByte

Reviewed-by: adinn, andrew
Backport-of: 6dc1d8c06d98e127b022886172e16b90bf357c97

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

PR: https://git.openjdk.org/jdk8u-dev/pull/553


More information about the jdk8u-dev mailing list