IBM Support

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

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

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