JDK-8223266 : PPC64: Check for branch to illegal address before checking for mem serialization
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 11.0.4
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: linux
  • CPU: ppc
  • Submitted: 2019-05-02
  • Updated: 2019-05-08
  • Resolved: 2019-05-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11
11.0.4 b02Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
Even after JDK-8220794 was downported [0] to 11u the JVM still crashes on controlled crash #13 (e.i. ./java -XX:-UseSIGTRAP -XX:-CreateCoredumpOnCrash -XX:ErrorHandlerTest=13) because UseMemBar is not obsoleted on 11u (change JDK-8213436 is not applied [1] to 11u), hence on PPC we still check for memory serialization in the signal handler on a SIGSEGV without checking if it's due to a Data Storage interruption (a case in which it's valid to check for mem serialization) or due to a Instruction Storage interruption (a case in which is _not_ valid to check for a mem serialization instructions, like a branch to an illegal address).

The fix is similar to  JDK-8220794, which consists in filtering out the invalid case (Instruction Storage interruption) before calling is_memory_serialization() in the SIGSEGV.

[0] https://bugs.openjdk.java.net/browse/JDK-8221834
[1] https://bugs.openjdk.java.net/browse/JDK-8213436
Comments
Fix Request This fix is necessary only to jdk11u, even after JDK-8221834 is applied, because UseMemBar feature is not obsolete yet. This fix is not necessary in jdk12+. This is a Linux/PPC64-only change. Review thread: https://mail.openjdk.java.net/pipermail/jdk-updates-dev/2019-May/001085.html
06-05-2019