Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8220794

PPC64: Fix signal handler for SIGSEGV on branch to illegal address

    XMLWordPrintable

Details

    • b14
    • ppc
    • linux

    Backports

      Description

        Currently JVM on Linux/PPC64 can crash silently if a SIGSEGV is cause not due to a load/store from/to an illegal data address but due to a branch to an invalid (not mapped / no execution allowed) address.

        That issue was reported by Goetz (SAP) who provided an easy way to reproduce it: on a debug build, run the JVM with the following flags:

        ~/openjdks/jdk_tip_564043cbe138/bin$ ./java -XX:-UseSIGTRAP -XX:-CreateCoredumpOnCrash -XX:ErrorHandlerTest=13
        Segmentation fault (core dumped)

        It will crash silently instead of in a controlled way triggered by VMError::controlled_crash().

        Goetz sees the error only on linux ppc64 le (ABI ELFv2), not on linux ppc64 be (ABI ELFv1) nor AIX. It is failing since the ppc64le port was introduced.

        HE tested this on the following OSes:
        Ubuntu 16.04.3 LTS 4.4.0-101-generic
        RHEL 7.2 3.10.0-327.10.1.el7.ppc64le
        RHEL 7.3 3.10.0-693.2.2.el7.ppc64le
        RHEL 7.4 3.10.0-693.1.1.el7.ppc64le
        SLES 12.1 3.12.57-60.35-default
        SLES 12.3 4.4.126-94.22-default
        SLES 15.0 4.12.14-25.16-default

        Attachments

          Issue Links

            Activity

              People

                gromero Gustavo Romero
                gromero Gustavo Romero
                Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: