[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