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

aarch64: random infrequent null pointer exceptions in javac

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 9
    • 9
    • hotspot
    • None
    • b105
    • aarch64
    • linux

      For some time I have been observing random, infrequent null pointer exceptions in javac. These were not repeatable but seemed to happen about once every 10 builds of OpenJDK.

      Backing out the the following changeset causes the problem to go away.

      changeset: 8135:f056955b0ae8
      parent: 8132:2b54cd604683
      user: enevill
      date: Fri Apr 24 11:01:37 2015 +0000
      files: src/cpu/aarch64/vm/aarch64.ad src/cpu/aarch64/vm/frame_aarch64.inline.hpp
      description:
      8075930: AARCH64: Use FP Register in C2
      Summary: modify to allow C2 to allocate FP (R29) as a general register
      Reviewed-by: aph, kvn, dlong

      In the C2 generated code before the point of the exception I observe

        0x000003ff71023b6c: bl 0x000003ff700b23c0 ; OopMap{rfp=NarrowOop [0]=Oop [8]=Oop [16]=Oop [24]=Oop [32]=Oop off=432}
                                                      ;*invokevirtual accept

      It appears that the fp register is not bring preserved correctly. Possibly this only occurs during deoptimisation which would explain why the failure is infrequent.

      I have also observed the fp register being corrupted when it contains an integer value.

            enevill Ed Nevill
            enevill Ed Nevill
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: