[11u] RFR(S): 8223266: PPC64: Check for branch to illegal address before checking for mem serialization

Lindenmaier, Goetz goetz.lindenmaier at sap.com
Fri May 3 09:30:28 UTC 2019


Hi Gustavo, 

thanks for fixing this issue this quickly.
I put the patch into our testing.

You please need to flag the bug as jdk11u-fix-request and 
add the correspornding 'Fix Request' comment referring to 
this review thread.

Looking at the issue:
actually the current VM would think the signal is a 
memory serialization and return true, while it is 
a real crash? (Or a simulated one as in the test?)

Best regards,
  Goetz.




> -----Original Message-----
> From: Gustavo Romero <gromero at linux.vnet.ibm.com>
> Sent: Freitag, 3. Mai 2019 00:41
> To: jdk-updates-dev at openjdk.java.net; Lindenmaier, Goetz
> <goetz.lindenmaier at sap.com>
> Subject: [11u] RFR(S): 8223266: PPC64: Check for branch to illegal address
> before checking for mem serialization
> Importance: High
> 
> Hi,
> 
> Could the following small change be reviewed please?
> 
> Bug   : https://bugs.openjdk.java.net/browse/JDK-8223266
> Webrev: http://cr.openjdk.java.net/~gromero/8223266/v1/
> 
> It fixes the JVM signal handler on Linux / PPC64 to
> catch properly a SIGSEGV due to a branch to an invalid address (not
> mapped/not
> executable) on 11u.
> 
> A similar fix [0] was already downported to 11u but it's not sufficient to cover
> that case because UseMemBar feature is not obsoleted on 11u and additional
> code
> exists for checking memory serialization in the signal handler, hence before
> calling is_memory_serialization() it's necessary to check if the SIGSEGV is not
> caused due to a branch to an invalid address and then only (in case SIGSEGV is
> not caused due to a branch to an invalid address) call
> is_memory_serialization().
> 
> Thank you.
> 
> Best regards,
> Gustavo
> 
> [0] https://bugs.openjdk.java.net/browse/JDK-8221834



More information about the jdk-updates-dev mailing list