A couple of tests e.g. VendorInfoPluginsTest but also some Hotspot like runtime/ErrorHandling/CreateCoredumpOnCrash.java put (write) to special addresses like 0 to provoke crashs.
However this does not work well with ubsan-enabled binaries on the clang based platforms (macOS, AIX).
The mentioned tests generate a SIGSEGV.
Some other tests generate a SIGBUS, e.g.
runtime/memory/ReserveMemory.java
runtime/memory/ReadFromNoaccessArea.java
and this leads to similar issues with ubsan-enabled binaries.
We should adjust the signal handling with the sanitizer options, how to do this is documented here :
https://github.com/google/sanitizers/wiki/SanitizerCommonFlags
However this does not work well with ubsan-enabled binaries on the clang based platforms (macOS, AIX).
The mentioned tests generate a SIGSEGV.
Some other tests generate a SIGBUS, e.g.
runtime/memory/ReserveMemory.java
runtime/memory/ReadFromNoaccessArea.java
and this leads to similar issues with ubsan-enabled binaries.
We should adjust the signal handling with the sanitizer options, how to do this is documented here :
https://github.com/google/sanitizers/wiki/SanitizerCommonFlags
- relates to
-
JDK-8356487 [ubsan] Unsafe put operations to e.g. address 0 cause UndefinedBehaviorSanitizer:DEADLYSIGNAL SEGV on macOS/AIX
-
- Open
-
- links to
-
Commit(master) openjdk/jdk/aeca49e4
-
Review(master) openjdk/jdk/26015