VOOZH about

URL: https://www.ibm.com/support/pages/apar/IJ37623

⇱ IJ37623: JAVA JIT, BAD FIELD REFERENCE FROM A TENURED OBJECT INTO THE NURSERY


IJ37623: JAVA JIT, BAD FIELD REFERENCE FROM A TENURED OBJECT INTO THE NURSERY

APAR status

  • Closed as program error.

Error description

  • Error Message: The typical result of this issue would be a
    SIGSEGV but other symptoms might occur like incorrect behaviour.
    .
    Stack Trace: N/A
    .
    The issue affects all platforms and all releases since Java8 GA.
    The problem allows for a local GC cycle to move a nursery object
    without updating a tenured object referring to the nursery
    object. It can also allow a nursery object to be deleted even
    when a tenured object still has a reference to the nursery
    object.
    

Local fix

  • The issue can be avoided by preventing the JIT optimizer from
    using the Field Privatizer optimization.
    -Xjit:disableFieldPrivatization
    This might have a small effect on the performance of the JIT
    generated code, but only a limited number of methods are
    compiled with an optimization level that would use the Field
    Privatizer optimization, so it's impact will be limited.
    

Problem summary

  • The JIT needs to generate code to inform the GC when an object
    in the tenure heap space has a field referencing an object in
    the nursery heap space. The Field Privatizer optimization was
    generating code that would fail to inform the GC of such a
    situation leaving the possibility for a tenured object field to
    be left with a stale pointer after a GC cycle.
    

Problem conclusion

  • The JIT was modified such that the proper code is generated to
    inform the GC when a tenured object field is set to contain a
    nursery object reference.
    .
    This APAR will be fixed in the following Java Releases:
     8 SR7 FP10 (8.0.7.10)
    .
    Contact your IBM Product's Service Team for these Service
    Refreshes and Fix Packs.
    For those running stand-alone, information about the available
    Service Refreshes and Fix Packs can be found at:
     https://www.ibm.com/developerworks/java/jdk/
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ37623

  • Reported component name

    JIT

  • Reported component ID

    620700124

  • Reported release

    130

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2022-02-03

  • Closed date

    2022-02-12

  • Last modified date

    2022-02-12

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    JIT

  • Fixed component ID

    620700124

Applicable component levels

[{"Line of Business":{"code":"LOB36","label":"IBM Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"130"}]

Document Information

Modified date:
13 February 2022