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

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

    XMLWordPrintable

    Details

    • Subcomponent:
    • Resolved In Build:
      b14
    • CPU:
      ppc
    • OS:
      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

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

                  Dates

                  Created:
                  Updated:
                  Resolved: